You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

币安Python提交OCO卖单报错APIError(code=-2010)价格关系错误如何解决

币安OCO卖单APIError(code=-2010)报错解决方案

该报错核心原因是OCO卖单的价格规则不符合币安接口要求,通常为参数传参顺序错误、价格精度不匹配导致,可按以下步骤排查解决:

先明确币安现货OCO卖单的价格规则

OCO卖单本质是同时挂载两个卖单:高于当前价的限价卖单、低于当前价的止损卖单,三个价格参数必须严格满足如下顺序:

  • price(限价卖单价,即你设置的1.5174) > stopPrice(止损触发价,即你提到的1.5084) > stopLimitPrice(止损触发后实际挂出的成交限价,即你设置的1.4933)
    注意:你之前了解的「卖单价格>限价且>止损限价」规则不完整,止损触发价必须高于止损限价是高频遗漏要求

具体排查解决步骤

  • 第一步:核对参数传参顺序,不要把stopPrice和stopLimitPrice搞反
    90%以上的该类报错都是传参顺序错误导致,以Python常用的python-binance库为例,正确传参写法参考:
    from binance.client import Client
    client = Client(api_key, api_secret)
    
    oco_order = client.create_oco_order(
        symbol="FTMUSDT",
        side=Client.SIDE_SELL,
        quantity=100, # 替换为你的实际卖出数量
        price="1.5174", # 高价限价卖单价格
        stopPrice="1.5084", # 止损触发价,价格跌到该值时触发止损
        stopLimitPrice="1.4933", # 止损触发后挂出的限价卖单价
        stopLimitTimeInForce=Client.TIME_IN_FORCE_GTC
    )
    
  • 第二步:核对FTMUSDT交易对的价格精度要求
    币安每个交易对都有固定的最小价格变动单位(tickSize),可通过client.get_exchange_info()接口查询FTMUSDT的tickSize,所有价格参数的小数位数不能超过tickSize的精度要求,比如FTMUSDT的tickSize为0.0001时,价格仅能保留4位小数,多余位数会触发报错。
  • 第三步:确认止损触发价符合实时盘口要求
    提交OCO卖单时,stopPrice必须低于当前最新成交价,若提交时市场价格已经跌破你设置的stopPrice,也会触发价格关系错误的报错。

内容的提问来源于stack exchange,提问作者Carlos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 01:21:03