前回までで機能の実装は完成しました。
それでは動かしてみます。
まずはパート3で作った新規注文機能をテストネットで注文できるかたしかめてみましょう。
デモ口座をつくります。
そしてログイン。
1 2 3 4 |
key = "d19cf7d326447fc72f3a612f1f45799ba0d944c4f493a77c22219b1ad62e7e2f" secret = "4f0b27fd240f3164e56413d084cb691ee4169b7d8b7401c422a963099e511989" testnet = "https://testnet.binancefuture.com/" um_futures_client = UMFutures(key=key, secret=secret,base_url=testnet) |
Table of Contents
テスト注文したらエラーParameter ‘timeInForce’ sent when not requiredがでた
さっそく注文してみます。
するとエラーがでました。
TimeInForceがダメみたいです。
なので修正です。
binance_.pyを修正
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
from binance.um_futures import UMFutures key = "d19cf7d326447fc72f3a612f1f45799ba0d944c4f493a77c22219b1ad62e7e2f" secret = "4f0b27fd240f3164e56413d084cb691ee4169b7d8b7401c422a963099e511989" testnet = "https://testnet.binancefuture.com/" um_futures_client = UMFutures(key=key, secret=secret,base_url=testnet) def price(symbol): res = um_futures_client.ticker_price(symbol) return res["price"] def entry(symbol:str,side:str,qty:str): qty = float(qty) if(side=="Buy"): side = "BUY" else: side = "SELL" res = um_futures_client.new_order( symbol=symbol, side=side, type="MARKET", quantity=qty ) print(res) def close(symbol:str,side:str,qty:str): qty = float(qty) if(side=="Buy"): side = "BUY" else: side = "SELL" res = um_futures_client.new_order( symbol=symbol, side=side, type="MARKET", quantity=qty, reduceOnly="true" ) print(res) |
TimeInForceを削除しました。
無事成功しました。
次は決済テスト
これでBINANCEのテスト完了です。
次はBybitのテスト。
ログイン
デリバティブへアクセス
bybit_.pyをテストネット用に書き換える
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
from pybit import usdt_perpetual key = "" secret = "" testnet = "https://api-testnet.bybit.com" mainnet = "https://api.bybit.com" session_unauth = usdt_perpetual.HTTP( endpoint=testnet ) session_auth = usdt_perpetual.HTTP( endpoint=testnet, api_key=key, api_secret=secret) def price(symbol): res = session_unauth.latest_information_for_symbol( symbol=symbol, ) price = res["result"][0]["last_price"] return price def entry(symbol:str,side:str,qty:str): qty = float(qty) print(session_auth.place_active_order( symbol=symbol, side=side, order_type="Market", qty=qty, time_in_force="GoodTillCancel", reduce_only=False, close_on_trigger=False )) def close(symbol:str,side:str,qty:str): qty = float(qty) res = session_auth.place_active_order( symbol=symbol, side=side, order_type="Market", qty=qty, time_in_force="GoodTillCancel", reduce_only=True, close_on_trigger=False ) print(res) |
main.pyをテスト
良さそうです。
次回はエラー時に止めない方法。
BybitがGoogleのIPアドレス規制をしているためです。国内のVPSなら使…
自分のbotで使ってるAPIキーを使用しているんですが、 You have br…
pybit 最新版にコードを変更しました。コードとrequirements.tx…
お返事ありがとうございます。はい。pybit==2.3.0になっております。
コードはあっていると思います。rewuirements.txtは「pybit==…