无法使用 ccxt 设置追踪止损单

如何解决无法使用 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})

但我收到以下错误

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

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

解决方法

币安不支持现货市场的 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})
,

Binance REST API 不支持 TRAILING_STOP_MARKET,请参阅 Enum definitions 中的“订单类型”。

如果您想模拟追踪止损订单,您需要订阅 trade stream 并不断重新计算您的止损价格。当当前市价达到止损价时,提交新订单。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?