首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CCXT okex5交换合同.参数posSide错误

CCXT okex5交换合同.参数posSide错误
EN

Stack Overflow用户
提问于 2021-06-07 09:42:50
回答 2查看 1.1K关注 0票数 3

我试图在okex交换版本5上使用ccxt创建一个永久的限制订单。API正在成功地在现货交易所下订单(包括限制和市场),而不是在永久交换上。以下是我正在尝试的-

代码语言:javascript
运行
复制
exchange_swap = ccxt.okex5({
'apiKey': credentials['okex']['apikey'],
'secret': credentials['okex']['secretkey'],
'password': credentials['okex']['password'],
'options': {
    'defaultType': 'swap', 
      }
})
params =  {
   "test":True
}
order = exchange_swap.createLimitBuyOrder('XRP-USDT-SWAP',100,0.7)

错误信息-

代码语言:javascript
运行
复制
ccxt.base.errors.BadRequest: okex5 {"code":"1","data":[{"clOrdId":"","ordId":"","sCode":"51000","sMsg":"Parameter posSide  error ","tag":""}],"msg":""}

在搜索了这个错误之后,我在他们的文档中找到了-

代码语言:javascript
运行
复制
Error message           Http status code     Error code
Parameter {0} error.    400                  51000

文档链接- Okex v5

P.S -我可以通过交易仪表板把这个放在okex上,但不是通过API。我有足够的平衡来创造这个秩序。

整个错误信息是-

代码语言:javascript
运行
复制
Traceback (most recent call last):
File "C:\Users\ishaa\Desktop\trading\Crypto Vibhor\Testing Files\ccxt_test.py", line 70, in 
 <module>
  order = exchange_swap.createLimitBuyOrder('XRP-USDT-SWAP',100,0.7)
  File "C:\Users\ishaa\Desktop\trading\tradingenv\lib\site-packages\ccxt\base\exchange.py", line 1983, in create_limit_buy_order
return self.create_order(symbol, 'limit', 'buy', amount, price, params)
 File "C:\Users\ishaa\Desktop\trading\tradingenv\lib\site-packages\ccxt\okex5.py", line 1287, in create_order
response = self.privatePostTradeOrder(self.extend(request, params))
File "C:\Users\ishaa\Desktop\trading\tradingenv\lib\site-packages\ccxt\base\exchange.py", line 461, in inner
return entry(_self, **inner_kwargs)
File "C:\Users\ishaa\Desktop\trading\tradingenv\lib\site-packages\ccxt\base\exchange.py", line 
 486, in request
  return self.fetch2(path, api, method, params, headers, body)
  File "C:\Users\ishaa\Desktop\trading\tradingenv\lib\site-packages\ccxt\base\exchange.py", line 482, in fetch2
  return self.fetch(request['url'], request['method'], request['headers'], request['body'])
  File "C:\Users\ishaa\Desktop\trading\tradingenv\lib\site-packages\ccxt\base\exchange.py", line 634, in fetch
  self.handle_errors(http_status_code, http_status_text, url, method, headers, http_response, json_response, request_headers, request_body)
  File "C:\Users\ishaa\Desktop\trading\tradingenv\lib\site-packages\ccxt\okex5.py", line 2230, in handle_errors
  self.throw_exactly_matched_exception(self.exceptions['exact'], errorCode, feedback)
  File "C:\Users\ishaa\Desktop\trading\tradingenv\lib\site-packages\ccxt\base\exchange.py", line 500, in throw_exactly_matched_exception
   raise exact[string](message)
   ccxt.base.errors.BadRequest: okex5 {"code":"1","data": 
   [{"clOrdId":"","ordId":"","sCode":"51000","sMsg":"Parameter posSide  error 
    ","tag":""}],"msg":""}
EN

Stack Overflow用户

发布于 2022-05-15 08:04:45

错误消息是Parameter posSide error,这意味着您在请求中发送的posSide参数中有一个错误。

据我从您的代码中可以看到,您只提供了滴答、大小和价格,但缺少了posSide参数。

与其他交易所不同的是,在Okex上,您可以为buysellFUTURESSWAP产品添加longshort,因此需要添加posSide参数。

这是违反直觉的,我也花了一些时间才弄清楚。实际上,您可以同时使用buy a longbuy a short。您可以在Okex gui中试一试,看看它到底是如何工作的。

文档告诉我们,posSide参数是:

另一个选项是禁用long/short模式(默认设置)并使用net模式。使用net模式意味着不需要将posSide参数添加到请求字符串中。

下面是到文档的链接,它解释了如何使用设置位置模式

下面是一个工作示例,它包含两个请求的参数,用于限制阶,即设置tdModeposSide

代码语言:javascript
运行
复制
import ccxt

exchange = ccxt.okex5({
    'apiKey': '...',
    'secret': '...',
    'password': '...',
})

exchange.createLimitBuyOrder('XRP-USDT-SWAP', 100, 0.4,
                             {"tdMode": "cross", "posSide": "long"})

您可以阅读有关在ccxt 这里中设置自定义订单参数的更多信息。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67869339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档