问题描述
我正在尝试使用 ccxt ccxt-1.39.93、Python 3 在 Binance Futures 上平仓。
# fetch position
position = binance.fetch_balance()['info']['positions']
pos = [p for p in position if p['symbol'] == "ETHUSDT"][0]
ticker = get_binance_futures(fetch_only=True)
close_position = binance.create_order(symbol=symbol,type="TAKE_PROFIT_MARKET",side="buy",amount=pos['positionAmt'],price=ticker,params={"closePosition": True,"stopPrice": ticker})
ccxt.base.errors.ExchangeError: binance {"code":-2021,"msg":"Order would immediately trigger."}
是否有一种简单的方法可以以市场或现货价格关闭给定代码的当前头寸?
解决方法
经过一番挣扎,我终于找到了解决方案。
close_position = binance.create_order(symbol=symbol,type="MARKET",side="buy",amount=pos['positionAmt'],params={"reduceOnly": True})
使用reduceOnly 参数可以解决问题。 无需设置价格,因为它是市场。