是否有Binance API端点关闭所有仓位



是否有一个特定的二进制期货API端点,您可以使用该端点自动平仓所有头寸?GUI中有这样一个选项。现在我只能想象得到所有头寸的金额,而不是卖出这个金额,但有更简单的方法吗?

最好我希望能够调用ccxt库或python二进制库。

这取决于位置侧,是否为单向">(默认(或"em>";套期保值的"在币安方面:

  • https://binance-docs.github.io/apidocs/futures/en/#change-头寸模式交易

Afaik,没有一个端点可以在一次调用中关闭所有头寸。但是,你可以一个接一个地平仓。

为了关闭单个单向位置(具有side: "BOTH"的位置(,您只需将相反一侧的订单放置在具有reduceOnly标志的位置上。

因此,如果你有一个1号的未平仓多头头寸(你买了1份合约(,那么为了平仓,你下相反的订单卖出1份合约。反之亦然,如果你有一个1号空仓,你就买一个合约来平仓。

import ccxt
from pprint import pprint
# make sure it's 1.51+
print('CCXT Version:', ccxt.__version__)

exchange = ccxt.binanceusdm({
'apiKey': 'YOUR_API_KEY',
'secret': 'YOUR_SECRET',
})
markets = exchange.load_markets()
# exchange.verbose = True  # uncomment for debugging purposes
symbol = 'BTC/USDT'
type = 'market'  # market order
side = 'sell'  # if your position is long, otherwise 'buy'
amount = THE_SIZE_OF_YOUR_POSITION  # in contracts
price = None  # required for limit orders
params = {'reduceOnly': 'true'}
try:
closing_order = exchange.create_order(symbol, type, side, amount, price, params)
pprint(closing_order)
except Exception as e:
print(type(e).__name__, str(e))

Binance API有一个需要成对符号的DELETE/fapi/v1/allOpenOrders端点。

ccxt将这个端点封装在cancel_all_orders((函数中,该函数还需要一个对符号。

所以,至少你不必遍历所有位置。但你需要循环所有的配对。如果你有这些信息的话,也可以只是有未结订单的配对。

最新更新