Bar*_*ris 3 rest binance binance-api-client
我正在使用币安期货 REST API 进行算法交易。创建买入或卖出订单后,当我查看币安应用程序时,我还会创建“止盈”和“止损”订单。它看起来像常规的止损/止盈订单,但当我手动平仓时,或者当执行任何止损/止盈订单时,止损/止盈订单仍在我的未平仓订单中等待。
但是,当我使用币安应用程序创建止损/止盈订单并平仓(出于任何原因)时,同一交易品种的未平仓订单也会关闭。
这里是创建止损/止盈订单的端点和参数;
https://fapi.binance.com/fapi/v1/order?symbol=ETHUSDT&side=BUY&type=TAKE_PROFIT_MARKET×tamp=12123123&closePosition=true&stopPrice=4100&workingType=MARK_PRICE&priceProtect=true
Run Code Online (Sandbox Code Playgroud)
这个为 ETHUSDT 代码创建了一个 TP 订单,但我不知道为什么该订单在平仓时没有取消。
创建止损/止盈订单时是否缺少任何参数?
我有一个相关问题。对于您的具体问题,我注意到,例如,当您提交市场多头头寸时。您可以通过将止盈订单和止损订单分别设置为 TAKE_PROFIT_MARKET 和 STOP_MARKET 来跟进。
为此,您必须采用“单向”模式(而不是“对冲”模式)。
然后将“timeInForce”的值设置为“GTE_GTC” - 我在文档中看不到这个值,但我确实看到当您通过带有 TP/SL 的 UI 设置订单时,会显示以下内容。还将“reduceOnly”设置为 True。
然后,当您关闭原始市价订单时,这些“待处理”订单都将被删除。
刚刚测试过,您实际上可以批量提交所有这些订单(json 列表)到:
POST /fapi/v1/batchOrders
Run Code Online (Sandbox Code Playgroud)
batch_payload = [
{
'newClientOrderId': '467fba09-a286-43c3-a79a-32efec4be80e',
'symbol': 'ETHUSDT',
'type': 'MARKET',
'quantity': '9.059',
'side': 'SELL'
},
{
'newClientOrderId': '6925e0cb-2d86-42af-875c-877da7b5fda5',
'symbol': 'ETHUSDT',
'type': 'STOP_MARKET',
'quantity': '9.059',
'side': 'BUY',
'stopPrice': '3037.9',
'timeInForce': 'GTE_GTC',
'reduceOnly': 'True'
},
{
'newClientOrderId': '121637a9-e15a-4f44-b62d-d424fb4870e0',
'symbol': 'ETHUSDT',
'type': 'TAKE_PROFIT_MARKET',
'quantity': '9.059',
'side': 'BUY',
'stopPrice': '2748.58',
'timeInForce': 'GTE_GTC',
'reduceOnly': 'True'
}
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6739 次 |
| 最近记录: |