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

TradingView PineScript策略警报与回测成交价格不一致问题求助

问题原因

默认情况下TradingView策略的信号在K线收盘时确认,订单默认在下一根K线开盘价成交,但警报如果设置为K线收盘触发,就会出现价格不匹配的问题。

解决方案1(推荐:回测匹配实盘警报价格,均采用K线收盘价成交)

只需要修改两处代码即可:

  1. 修改头部的strategy声明,新增process_orders_on_close=true参数,允许策略在K线收盘时直接执行订单
    修改后的strategy代码:
strategy(title = "Open Close Cross Strategy R5.1 revised by JustUncleL", shorttitle = "OCC Strategy R5.1", overlay = true, 
  pyramiding = 0, overlay=true , default_qty_value=100 , initial_capital=100 , default_qty_type=strategy.cash, calc_on_every_tick=false, process_orders_on_close=true)
  1. 修改订单执行逻辑,强制订单以当前K线收盘价成交,把原来的if (inDateRange)块改成如下代码:
if (inDateRange)
    strategy.entry("long", strategy.long, limit=close, when=buying )
    strategy.entry("short", strategy.short, limit=close, when=selling )

修改完成后,回测的所有订单都会以信号触发时的K线收盘价成交,和你实盘警报触发时的价格完全一致,不需要调整警报的任何设置。

解决方案2(实盘警报匹配回测价格,均采用下一根K线开盘价成交)

不需要修改策略代码,只需要调整警报的触发规则:

  • 警报条件设置为xlong[1](做多信号)和xshort[1](做空信号),也就是上一根K线出现交易信号
  • 警报触发时机设置为「K线开盘时」
    这样警报会在下一根K线刚开盘时触发,触发时的价格就是回测的成交价格,二者完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:54:00