Gar*_*rik 5 python api binance
我想请你帮忙。I\xc2\xb4m 尝试将 python 代码从发送限价/市价订单更改为通过 api 发送到 binance 的 OCO 订单。我可以下限价单、市价单、止损限价单。我能\xc2\xb4t弄清楚如何下OCO订单...
\n当我使用限价订单时,我发送 order_type=ORDER_TYPE_LIMIT 然后我使用 order = client.create_order() 并且它正在工作。当我想发送市价订单时,我使用 order_type=ORDER_TYPE_MARKET 但当我想要进行 OCO 订单时,我发现唯一可行的选项是:\norder = client.create_oco_order() 没有 order_type 但这里 I\xc2\xb4m 收到错误1013 该交易品种不支持止损...
\n我检查了https://api.binance.com/api/v1/exchangeInfo
\n并且有这个“orderTypes”:[“LIMIT”,“LIMIT_MAKER”,“MARKET”,“STOP_LOSS_LIMIT”,“TAKE_PROFIT_LIMIT”],“icebergAllowed”:true,“ocoAllowed”:true,
\n所以我可以\xc2\xb4t使用order_type。没有 ORDER_TYPE_OCO 并且 ocoAllowed 为 true,所以我应该能够发送 oco 订单。但 I\xc2\xb4m 收到“错误 1013:此交易品种不支持止损订单。订单失败”。
\n我想要的是将“价格”设置为限价卖单,以便在价格到达那里时获得更高的利润,并在价格下跌时将止损“stopPrice”设置得更低...... 这就是 OCO 应该如何运作的。
\n有人可以给我一个建议吗?I\xc2\xb4m 不是 python 大师 I\xc2\xb4m 只是更改我发现的一段代码,我的理解是,如果允许 oco,也应该允许止损。谢谢
\naKr*_*tos 11
为了让所有感兴趣的人对这个问题的解决方案有一个准确的答案,我在注释中包含了代码。
我将使用BTCUSDT 中的OCO 卖单作为示例。
假设我有 1 个比特币。当前价格为 30157.85,我想在更高的价格 32000.07 卖出 1 BTC
但价格没有上涨并开始下跌,因此我将止损价格设置为 29283.03,限价卖单将以 29000.00 的价格开仓
这意味着我会以 32000.07 或 29000.00 USDT 的价格出售。命令写法如下:
order= client.order_oco_sell(
symbol= 'BTCUSDT',
quantity= 1.00000,
price= '32000.07',
stopPrice= '29283.03',
stopLimitPrice= '29000.00',
stopLimitTimeInForce= 'FOK')
Run Code Online (Sandbox Code Playgroud)
请注意,OCO 订单需要 stopLimitTimeInForce 参数。我使用了值“FOK”,但我在这里留下了您可以使用的不同值的描述: https: //help.bybit.com/hc/en-us/articles/360039749233-What-are-time-生效-TIF-GTC-IOC-FOK-
请注意,price、stopPrice、stopLimitPrice 和 stopLimitTimeInForce 参数是字符串,而不是浮点数或小数。