[英]How to send OCO order to binance
我想请你帮忙。 我正在尝试将 python 代码从通过 api 发送限价/市场订单到 OCO 订单更改为 binance。 我可以做限价单、市价单、止损限价单。 我不知道如何下 OCO 订单...
当我使用限价单时,我发送了 order_type=ORDER_TYPE_LIMIT 然后我使用了 order = client.create_order() 并且它正在工作。 当我想发送市场订单时,我使用了 order_type=ORDER_TYPE_MARKET 但是当我想下 OCO 订单时,我发现应该工作的唯一选项是: order = client.create_oco_order() without order_type 但在这里我收到错误 1013 止损不支持此符号...
我检查了https://api.binance.com/api/v1/exchangeInfo
还有这个 "orderTypes":["LIMIT","LIMIT_MAKER","MARKET","STOP_LOSS_LIMIT","TAKE_PROFIT_LIMIT"],"icebergAllowed":true,"ocoAllowed":true,
所以我不能使用 order_type。 没有 ORDER_TYPE_OCO 并且 ocoAllowed 是真的,所以我应该能够发送 oco 订单。 但我收到“错误 1013:此交易品种不支持止损订单。订单失败”。
我想要的是将“价格”设置为限价卖单,以便在价格到达那里时获得更高的利润,并在价格将 go 立即下跌时将止损“stopPrice”设置得更低。 这就是 OCO 的工作方式。
有人可以给我一个建议吗? 我不是 python 大师我只是更改我找到的一个代码,我的理解是如果允许 oco 也应该允许止损。 谢谢
为了让所有感兴趣的人都能对这个问题的解决方案有一个准确的答案,我在注释中包含了代码。
我将以 BTCUSDT 中的OCO 卖单为例。
想象一下我有 1 个比特币。 当前价格为 30157.85,我想以 32000.07 高得多的价格卖出 1 BTC
但是价格没有上涨并开始下跌,所以我将 stopPrice 设置在 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')
请注意,OCO 订单需要 stopLimitTimeInForce 参数。 我使用了值“FOK”,但我在这里留下了您可以使用的不同值的描述: https://help.bybit.com/hc/en-us/articles/360039749233-What-are-time-有效-TIF-GTC-IOC-FOK-
请注意,price、stopPrice、stopLimitPrice 和 stopLimitTimeInForce 参数是字符串,而不是浮点数或小数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.