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

TradingView实时策略问题:设置calc_on_every_tick=true仍延迟下单

TradingView策略订单延迟触发问题解决

问题原因

你的订单延迟到下一根K线执行,主要是两个细节出错:

  1. 订单ID不匹配:strategy.exit里的from_entry写的是'Largo',但入场订单的ID是"Long",两者对不上会导致退出逻辑失效,还可能干扰订单的即时执行判断。
  2. 默认执行逻辑限制:就算开了calc_on_every_tick=true,如果没明确策略的资金和订单参数,模拟环境可能会默认在下一根K线执行订单。

修正后的完整代码

//@version=5
strategy("Mi estrategia", overlay=true, calc_on_every_tick=true, default_qty_type=strategy.cash, default_qty_value=1000, initial_capital=10000)

// 计算上一根K线收盘价与当前K线开盘价的差值
diferencia = close[1] - open

// 入场:差值小于-3时市价做多
if diferencia < -3 
    strategy.entry("Long", strategy.long)
    // 修正关联ID,同时把盈利目标改成点数(示例为3,按需调整)
    strategy.exit('Exit Long', from_entry='Long', profit=3)

关键调整点

  • 对齐订单ID:把strategy.exit的from_entry改成"Long",和入场订单的ID保持一致,确保退出逻辑能正确绑定入场单。
  • 明确资金参数:添加default_qty_type、default_qty_value和initial_capital,让策略模拟更贴近真实交易,避免资金设置模糊导致的执行延迟。
  • 修正盈利目标:原代码里profit=close[1]是把上一根收盘价设为盈利目标,不符合常规的点数止盈需求,改成固定点数更合理。

额外验证步骤

  • 回测选Tick级别数据:必须用tick级历史数据回测,不然开了calc_on_every_tick=true也没法模拟真实的即时触发效果。
  • 检查订单填充模式:在策略设置里把“订单填充”改成“即时填充”,别用默认的“下一根K线填充”。

内容的提问来源于stack exchange,提问作者Mario Rodríguez López

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:22:57