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

求助:如何用Python调用KuCoin API实现带止损的限价单/OCO单?

KuCoin API带止损限价单/OCO订单的解决方案

KuCoin API是支持止损限价单和OCO订单的,你之前的问题出在单独提交两个普通限价单,导致资金被重复占用。用官方提供的专用订单类型就能解决:

1. 止损限价单(Stop Limit Order)

直接创建止损限价单,这类订单会在触发价格达标后自动转为限价单,不会提前锁定全部资金。

用KuCoin官方Python SDK的实现示例:

from kucoin.client import Client

# 初始化客户端
api_key = '你的API_KEY'
api_secret = '你的API_SECRET'
api_passphrase = '你的API_PASSPHRASE'

client = Client(api_key, api_secret, api_passphrase)

# 以BTC-USDT为例,创建止损限价卖单
order = client.create_stop_limit_order(
    symbol='BTC-USDT',
    side=Client.SIDE_SELL,
    stop_price='28000',  # 止损触发价格
    limit_price='27950',  # 触发后执行的限价
    size='0.001',  # 交易数量
    stop=Client.STOP_LOSS  # 指定为止损类型
)

print(order)

如果不用SDK,直接发POST请求到https://api.kucoin.com/api/v1/orders,参数格式如下:

{
    "symbol": "BTC-USDT",
    "type": "stop_limit",
    "side": "sell",
    "stopPrice": "28000",
    "limitPrice": "27950",
    "size": "0.001",
    "stop": "loss"
}

2. OCO订单(One-Cancels-the-Other)

如果需要同时挂限价卖单和止损卖单,且其中一个成交后自动取消另一个,就用OCO订单。这类订单只会锁定所需的最大资金,不会重复占用。

SDK示例:

# 创建OCO订单
oco_order = client.create_oco_order(
    symbol='BTC-USDT',
    side=Client.SIDE_SELL,
    stop_price='27500',  # 止损触发价
    limit_price='30000',  # 限价卖单价格
    size='0.001',
    stop_limit_price='27450',  # 止损触发后执行的限价
    stop=Client.STOP_LOSS
)

print(oco_order)

直接调用API的话,POST请求到https://api.kucoin.com/api/v1/oco/orders,参数参考官方文档的OCO订单规范即可。

注意事项

  • 确保你的API密钥开启了交易权限,否则无法创建订单。
  • 价格、数量参数要符合对应交易对的精度要求,可通过client.get_symbol_detail('BTC-USDT')查询精度信息。
  • 止损限价单的触发逻辑:stop=loss时,市场价格下跌到等于或低于stopPrice触发;stop=profit时,市场价格上涨到等于或高于stopPrice触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:57:44