我使用Binance期货rest进行算法交易。在创建买卖订单之后,当我查看Binance应用程序时,我还创建了“获利”和“止损”指令。它看起来像普通的SL/TP订单,但是当我手动关闭位置时,或者当任何SL/TP订单执行SL/TP订单时,我的开放订单仍在等待。
但是当我用Binance应用程序创建SL/TP订单时,关闭位置(由于任何原因),打开订单也会关闭相同的符号。
以下是创建SL/TP订单的端点和参数;
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
这个命令为ETHUSDT符号创建了一个TP订单,但是我不知道为什么当这个位置关闭时,这个命令不被取消。
是否存在创建SL/TP订单的缺少参数?
发布于 2022-03-03 09:45:02
我有个相关的问题。对于你的具体问题,我注意到,当你提交,例如,一个市场多头头寸。您可以通过将TP和SL顺序分别设置为TAKE_PROFIT_MARKET和STOP_MARKET来跟踪它们。
要使这一模式发挥作用,你必须采用“单向”模式(而不是“对冲”模式)。
然后将'timeInForce‘的值设置为'GTE_GTC’--我在文档中看不到这个值,但我确实看到,当您使用TP/SL通过UI设置订单时,如下所示。还将'reduceOnly‘设置为True。
然后,当你关闭原来的市场秩序,这两个‘悬而未决’的订单将被删除。
刚刚测试过,您实际上可以将所有这些订单批次(json列表)提交到:
POST /fapi/v1/batchOrders
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'
}
]
发布于 2022-01-09 21:09:56
默认情况下,在位置关闭后,Binance不关闭TAKE_PROFIT_MARKET
或STOP_MARKET
。您需要手动关闭这些订单,您可以提取并根据positionSide
(SELL
/ LONG
/ BOTH
)和origType
(TAKE_PROFIT_MARKET
/ STOP_MARKET
)筛选它们,您可以获得这些订单和的orderId
,或者取消它们
const position = 'LONG' // LONG, SHORT, BOTH
axios
.get('https://fapi.binance.com/fapi/v1/openOrders', {
params: {
symbol: 'BTCUSDT'
}
})
.then(({ data }) => {
const orderIds = data
.filter(
({ positionSide, origType }) =>
positionSide === position &&
['TAKE_PROFIT_MARKET', 'STOP_MARKET'].includes(origType)
)
.map(({ orderId }) => orderId)
// Use batch cancel or cancel order one by one
console.log('orderIds', orderIds)
})
https://stackoverflow.com/questions/70447698
复制相似问题