見出し画像

BYBIT APIを使用して、TakeProfit/StopLossを変更

前回のnoteで、APIから注文を出せるようになりました。

自動取引のより細かい設定ができるように、TakeProfitとStopLossの変更を実装したい。その前に、注文時にTakeProfit/StopLossをセットする方法がこちら。

import ccxt

##### ccxt set
bybit_ccxt = ccxt.bybit({"apiKey":"受け取ったapiKey", "secret":"受け取ったsecret"})
bybit_ccxt.set_sandbox_mode(True)##### BYBIT Testnet使用の場合必要です。

symbol = 'BTC/USDT'
bybit_buy = 40000##### BUY指値
take_profit = 41000##### 利確
stop_loss = 39000##### 損切り
amount = 0.001##### 最小単位
params = {
           'take_profit' : take_profit,
           'stop_loss' : stop_loss,
           }
##### 売りの場合はbuyの部分をsellに
print(bybit_ccxt.create_order(symbol, 'limit', 'buy', amount, bybit_buy, params))

ccxtのcreate_orderを使えば、前回の注文方法より簡単に注文が出せました。しかし、ccxtでのTakeProfit/StopLossの変更方法が分からなかったので、BYBITの公式ライブラリを使用することにしました。まずはpipでインストールします。

##### google colaboratory
!pip install bybit
import bybit

##### BYBIT API set
client = bybit.bybit(test=True, api_key="受け取ったapiKey", api_secret="受け取ったsecret")

##### Move Stop loss
print(client.LinearPositions.LinearPositions_tradingStop(
   symbol="BTCUSDT", 
   side="Sell", 
   stop_loss=39000).result())

##### Move Take profit
print(client.LinearPositions.LinearPositions_tradingStop(
   symbol="BTCUSDT", 
   side="Buy", 
   take_profit=41000).result())


これで、stop_lossとtake_profitにセットした値に変更できているはず(BYBIT Testnetで確認してみてください)。決済注文は成行になるので、手数料には注意してください。これで注文処理に関しては、ほぼ実装できたのかなと思います。あとはポジションチェックと収益が右肩上がりのロジックがあれば、botを稼働させられそうです。

この記事が気に入ったらサポートをしてみませんか?