You need to enable JavaScript to run this app. 如何使用Python通过CCXT在FTX创建带止盈止损的市价单
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python通过CCXT在FTX创建带止盈止损的市价单

带止盈止损的市价单实现方案(适配TradingView警报触发场景)

核心实现逻辑

  • 你需要的功能在主流交易所API中通常对应括号订单(Bracket Order),开仓环节走实时市价成交,符合你不需要限价单的要求,开仓成功后交易所会自动绑定两个反向OCO平仓单(一单成交另一单自动作废),分别对应止盈、止损触发条件
  • 止盈止损支持设置为市价平仓模式,触发后直接以当前最优价格成交,不需要你额外操作

可直接复用的代码示例(以币安API的Python实现为例,其他交易所仅需调整对应参数名即可)

前提:已安装对应交易所SDK,完成API密钥的初始化配置

from binance.client import Client
from binance.enums import *

# 初始化API客户端,填入你自己的API密钥
client = Client(api_key='你的API_KEY', api_secret='你的API_SECRET')

def place_market_order_with_tp_sl(symbol, side, quantity, tp_price, sl_price):
    """
    下带止盈止损的市价开仓单
    :param symbol: 交易对,比如BTCUSDT
    :param side: 开仓方向,SIDE_BUY=做多,SIDE_SELL=做空
    :param quantity: 开仓数量
    :param tp_price: 止盈触发价格
    :param sl_price: 止损触发价格
    """
    # 平仓方向和开仓方向相反
    close_side = SIDE_SELL if side == SIDE_BUY else SIDE_BUY
    
    # 调用下单接口,类型为带止盈止损的市价单
    order = client.futures_create_order(
        symbol=symbol,
        side=side,
        type=ORDER_TYPE_MARKET,
        quantity=quantity,
        # 止盈参数
        takeProfit='true',
        tpTriggerPrice=tp_price,
        tpType='MARKET', # 市价止盈,不需要指定挂单价
        # 止损参数
        stopLoss='true',
        slTriggerPrice=sl_price,
        slType='MARKET', # 市价止损,不需要指定挂单价
        # 平仓单模式为OCO,避免重复平仓
        closePosition='true',
        newOrderRespType='RESULT'
    )
    return order

# 调用示例:做多BTCUSDT,数量0.001,止盈价70000,止损价60000
# place_market_order_with_tp_sl('BTCUSDT', SIDE_BUY, 0.001, 70000, 60000)

对接TradingView警报的注意事项

  • 你的API端点收到TradingView的POST请求后,优先做签名校验,避免恶意请求触发异常下单
  • 解析TradingView警报消息中携带的交易对、开仓方向、开仓数量、止盈价、止损价参数,直接传入上述函数即可完成下单
  • 若你使用的交易所不支持直接提交括号订单,可以拆分两步执行:第一步下市价开仓单,拿到开仓成功返回的持仓信息后,立刻调用接口提交两个OCO市价平仓单,全流程耗时通常在100ms以内,不会出现漏挂止盈止损的问题
  • 建议开启市价单滑点容忍配置,避免极端行情下市价单无法成交的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 12:15:00