You need to enable JavaScript to run this app. Limit(止盈)/Stop(止损)触发同时执行入场订单的实盘实现方案咨询
优惠活动
大模型
产品
解决方案
定价
更多

Limit(止盈)/Stop(止损)触发同时执行入场订单的实盘实现方案咨询

Pine Script 实盘场景同步触发平仓与新开订单方案

可行性结论

实时K线(实盘/模拟盘实时tick计算)场景下可以实现该需求,具体实现步骤如下:

实现步骤

  • 第一步:配置必要的策略运行参数
    在strategy()声明语句中添加两个参数:
    calc_on_order_fills = true:开启订单成交后立即触发一次策略计算,不需要等待当前K线走完
    process_orders_on_close = false:适配实时tick级别的订单处理逻辑,避免订单延迟到K线收盘才执行
    示例配置:
    strategy("你的策略名称", overlay=true, calc_on_order_fills=true, process_orders_on_close=false, initial_capital=10000)
    
  • 第二步:记录上一次入场的止损止盈价位
    定义变量持久化存储你设置的平仓触发价位,避免K线刷新后数据丢失:
    // 存储多头仓位对应的止损、止盈价位
    var float last_buy_stop = na
    var float last_buy_limit = na
    
    // 多头入场时赋值对应的平仓价位
    if (strategy.position_size > 0 and strategy.position_size[1] == 0)
        last_buy_stop = level_dn
        last_buy_limit = level_up
    
  • 第三步:监听平仓事件同步提交新入场订单
    监听策略持仓变化,当原持有仓位平仓完成的瞬间,立即提交你需要的新入场订单即可:
    // 多头仓位平仓触发时(止损/止盈成交)提交新订单
    if (strategy.position_size == 0 and strategy.position_size[1] > 0)
        // 此处替换为你需要的新入场订单逻辑,可直接用记录的last_buy_stop/last_buy_limit作为新单价位
        strategy.entry("New Entry", strategy.long, stop=last_buy_stop) // 示例:以止损价位开新多单,可按需修改
    

注意事项

实盘部署前请先在模拟盘验证逻辑适配性,部分交易所订单推送存在毫秒级延迟,可添加1个最小价位跳动(syminfo.mintick)的容错阈值,避免价位偏差导致漏单。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 01:33:03