我正在运行一种算法来预测价格并使用 python 中的 ccxt API 为我输入交易。我希望执行追踪止损订单,并输入这样的多头头寸:
exchange = ccxt.binance({
'enableRateLimit': True,
'apiKey': '*****',
'secret': '*****'
})
exchange.load_markets()
exchange.create_order('MKR/USDT, 'TRAILING_STOP_MARKET', 'buy', exchange.fetch_balance()['USDT']['free']/exchange.fetch_ticker('MKR/USDT)['last'], None, params = {'callbackRate': 1})
但我收到以下错误:
<块引用>ccxt.base.errors.InvalidOrder: binance TRAILING_STOP_MARKET 不是现货市场 MKR/USDT 中的有效订单类型
我不知道为什么这么想,因为我很确定币安支持追踪止损订单(它在自己的 API 文档中是这么说的)。
答案 0 :(得分:2)
币安不支持现货市场的 TRAILING_STOP_MARKET
订单类型(这是 CCXT 的默认设置):
Binance 仅支持期货市场的 TRAILING_STOP_MARKET
订单类型:
如果您想使用 CCXT 切换到币安期货 API,您可以执行以下操作:
exchange = ccxt.binance({
'enableRateLimit': True,
'apiKey': '*****',
'secret': '*****'
'options': {
'defaultType': 'future', # or 'delivery' for COIN-M futures
},
})
exchange.load_markets()
exchange.create_order('MKR/USDT, 'TRAILING_STOP_MARKET', 'buy', exchange.fetch_balance()['USDT']['free']/exchange.fetch_ticker('MKR/USDT)['last'], None, params = {'callbackRate': 1})
答案 1 :(得分:0)
Binance REST API 不支持 TRAILING_STOP_MARKET
,请参阅 Enum definitions 中的“订单类型”。
如果您想模拟追踪止损订单,您需要订阅 trade stream 并不断重新计算您的止损价格。当当前市价达到止损价时,提交新订单。