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

TradingView止损订单实时执行延迟及范围图计算优化咨询

TradingView策略实时止损触发延迟问题及优化疑问

问题背景

我有一个TradingView策略,通过止损价格开仓,核心开仓代码如下:

strategy.entry("Long", strategy.long, stop=LongEntryPrice, alert_message = alert_string_open)

回测阶段订单能精准在止损价位bar内成交(并非下一根K线的开盘/收盘价成交),但实时数据运行时策略表现异常:订单成交存在明显延迟/滑点,看起来像是在下一根K线收盘价成交;不过刷新页面后,所有入场点又恢复正常(bar内成交且价位准确)。

我的需求是:实现实时数据下订单在bar内精准触发止损价成交,虽理解实盘可能存在滑点,但要求TradingView在价格达标时无延迟触发警报。

已尝试的解决方法

  • 设置calc_on_every_tick=true
  • 移除所有绘图元素,脚本更新速度有所提升,但未解决核心延迟问题
  • 将原策略的范围图切换至传统K线测试,问题依然存在
  • 检查滑点设置,已设置为0

问题定位与优化进展

更新:
已定位问题根源:TradingView的止损订单执行依赖脚本重计算速度,我已开启逐tick计算:

calc_on_every_tick=true  

我添加了一段代码绘制标签,用于展示最新订单价格及当前标的价格:

var label lb = na
label.delete(lb)
entry_price= strategy.opentrades.entry_price(0)
lb := label.new(bar_index, math.max(high, ta.highest(5)[1]), color=posCol, text="Pos: "+ posDir + "\nPnL:" + str.tostring(posProfit, "#.##")+"%" + "\nClose: "+str.tostring(close, "#.##")+"\nOrder_price:"+str.tostring(order_price, "#.##"))

添加后发现标签上的close价格并非逐tick更新,对比价格轴的价格更新频率后,我创建了一个极简策略(仅在当前价格上方设止损单并绘制相同标签),发现该极简脚本的标签更新频率更高,止损订单执行正常。

由此得出结论:我的原脚本过于繁重,重计算耗时过长导致滑点。我已移除所有非必要代码(绘图、未使用功能等),止损订单执行情况有所改善。

核心疑问

该策略设计用于范围图,也支持传统K线,但我的目标是基于范围图实现自动化实盘交易。我发现范围图的计算速度慢很多,传统K线的延迟尚可接受,但切换至范围图后重计算耗时极长。我理解原因:传统K线TradingView直接使用OHLC数据绘图,而范围图需要计算所有K线。

我想知道:能否在TradingView中限制范围图的K线数量?推测TradingView基于10000/20000根K线计算脚本,而我仅需最近100根K线用于交易。我已调研但未找到解决方案。

另外我认为TradingView的止损订单实现逻辑不合理,应独立于脚本重计算触发。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 13:02:22