无法使用 ccxt 下追踪止损单

CS1*_*994 1 python api cryptocurrency ccxt

我正在运行一个算法来预测价格并使用 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})
Run Code Online (Sandbox Code Playgroud)

但我收到以下错误:

ccxt.base.errors.InvalidOrder:binance TRAILING_STOP_MARKET 不是现货市场 MKR/USDT 中的有效订单类型

我不知道为什么这么想,因为我很确定 binance 支持追踪止损单(在它自己的 API 文档中是这么说的)。

Igo*_*tor 5

Binance不支持TRAILING_STOP_MARKET现货市场的订单类型(这是CCXT的默认订单类型):

币安仅支持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})
Run Code Online (Sandbox Code Playgroud)