python-3.x 如何在Binance API中设置止损(STOP_LOSS_LIMIT和/或TAKE_PROFIT_LIMIT)订单?

j9per5c4  于 2023-05-30  发布在  Python
关注(0)|答案(3)|浏览(145)

我正在使用python-binance API Package 器。在成功发送“正常”MARKET订单后,我想发送STOP_LOSS_LIMIT订单。如果我没记错的话,这是止损订单的一个子类型。这就是它们在应用程序上的Binance UI中的名称。
下面是我的STOP_LOSS_LIMIT订单代码:

order2 = client.create_order(
   symbol='BTCUSDT',
   side=SIDE_SELL,
   type=ORDER_TYPE_STOP_LOSS_LIMIT,
   TimeInForce=TIME_IN_FORCE_GTC,
   stopPrice='33000',
   price = '30000'
   )

我得到以下响应:
未读取所有发送的参数;读取了“% 7”参数,但发送了“% 8”。
显然,代码中存在一些根本性的错误。有人能为我提供一个这样的订单的例子。什么是必要的参数和他们做什么。请不要把我的官方文件。不幸的是,没有这些类型的例子。

ukdjmx9f

ukdjmx9f1#

似乎我试图实现的目标是不可能与现货交易。一旦我转向未来,一切都解决了。这是我如何将杠杆设置为1:

client.futures_change_leverage(symbol='BNBUSDT', leverage=1)

我的结论是,止损/止盈订单不适用于现货交易,无论是设计(这实际上是有道理的),还是因为一些错误。
无论如何,如果有人遇到同样的问题,这是如何在python-binance中对现有的期货(买入)订单设置止损订单

FuturesStopLoss =client.futures_create_order(
   symbol='BNBUSDT',
   type='STOP_MARKET',
   side='SELL',
   stopPrice=220,
   closePosition=True
   )

将交易方改为买入会在现有的卖出订单上设置止损订单。
P.S.通过使用WebSocket流并在达到所需价格时执行市场订单,最有可能实现与现货交易相同的目标。但我不想走这条路。

xkrw2x1b

xkrw2x1b2#

通过API你可以用这个结构

止损

API POST https://fapi.binance.com/fapi/v1/order

{
  "side": "BUY",
  "stopPrice": 40100,        
  "symbol": "BTCUSDT"
}
pbwdgjma

pbwdgjma3#

order = client.order_limit_sell(symbol=symbol, timeInForce=TIME_IN_FORCE_GTC, type=ORDER_TYPE_LIMIT, side=SIDE_SELL, quantity=2.89, price='5.26')

相关问题