1

我正在使用 python-binance API 包装器。成功发送“正常”市场订单后,我想发送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”。

显然,代码存在根本性错误。有人可以为我提供此类订单的示例。什么是必要的参数以及它们的作用。请不要链接我的官方文档。遗憾的是,没有这些类型的示例。

4

2 回答 2

2

似乎我试图通过现货交易实现的目标是不可能的。一旦我切换到 Futures,一切都解决了。这就是我将杠杆设置为 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
   )

将一方更改为买入会在现有卖出订单上设置止损订单。

PS 通过使用 Websocket 流并在达到所需价格时执行市场订单,最有可能实现与现货交易相同的效果。但是我不想走那条路。

于 2021-08-05T19:29:22.700 回答
0

通过 API,您可以使用这种结构

止损

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

{
  "side": "BUY",
  "stopPrice": 40100,        
  "symbol": "BTCUSDT"
}
于 2022-02-18T22:55:52.117 回答