使用 ccxt

问题描述

我正在尝试使用 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 参数可以解决问题。 无需设置价格,因为它是市场。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...