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

TradingView策略优化:深度回测能否解决回测偏差?如何基于最小时间框架执行strategy.exit?

TradingView回测局限性与退出逻辑优化问题

问题背景

我用TradingView高级订阅开发了日线级交易策略,满足条件后在K线收盘下单;下单后通过strategy.exit仅在触发止损/止盈时平仓。但发现TradingView回测有个局限:它会按特定逻辑模拟K线走势——如果K线开盘价更接近最高价,就按开盘→最高→最低→收盘的顺序模拟;若开盘价更接近最低价,则按开盘→最低→最高→收盘模拟。这导致后续K线同时触及止盈和止损时,比如开盘价接近最高价,回测会默认先触发止盈,和实际行情可能不符。

想请教两个问题:

  1. TradingView的深度回测模式能否缓解这个问题?
  2. 如果不能,怎么修改现有退出代码,让它基于更小时间框架(比如1分钟/5分钟)检查止损/止盈触发,而非当前日线框架?

现有退出代码:

strategy.exit("TP/SL 1", "Long Entry 1",  stop = long_stop_level,  limit = long_profit_level)
strategy.exit("TP/SL 1", "Short Entry 1", stop = short_stop_level, limit = short_profit_level)

回答

1. 深度回测模式的作用

深度回测模式确实能一定程度缓解这个问题,但没法彻底解决。它会用更精细的tick级数据模拟价格路径,而非仅依赖K线开高低收和固定顺序逻辑。不过要注意:

  • 深度回测仅支持部分交易所的历史数据,且只有高级订阅用户能使用;
  • 即便用了深度回测,若某根K线内价格确实同时碰了止损和止盈,实际行情的触发顺序仍可能因流动性、滑点等因素和回测有差异,但相比默认回测逻辑,结果会更贴近真实情况。

2. 基于小时间框架优化退出逻辑

如果深度回测满足不了需求,你可以通过引入小时间框架数据,在日线策略里实时检查小周期价格是否触发止损/止盈,手动触发平仓,替代strategy.exit的默认逻辑。具体实现如下:

核心思路

  • 用request.security()函数拉取小时间框架(比如1分钟)的价格数据;
  • 实时监控小周期内的高低价是否触及止损或止盈水平;
  • 一旦触发,调用strategy.close()手动平仓,并标注触发类型。

修改后的代码示例

// 定义小时间框架,可根据需求改为"5"(5分钟)等
small_tf = "1"

// 拉取小周期的高低价数据
small_high = request.security(syminfo.tickerid, small_tf, high)
small_low = request.security(syminfo.tickerid, small_tf, low)

// 多头仓位:检查止损/止盈触发
if strategy.position_size > 0
    // 小周期价格跌破止损价,触发止损
    if small_low <= long_stop_level
        strategy.close("Long Entry 1", comment="Long SL Hit")
    // 小周期价格突破止盈价,触发止盈
    elif small_high >= long_profit_level
        strategy.close("Long Entry 1", comment="Long TP Hit")

// 空头仓位:检查止损/止盈触发
if strategy.position_size < 0
    // 小周期价格突破止损价,触发止损
    if small_high >= short_stop_level
        strategy.close("Short Entry 1", comment="Short SL Hit")
    // 小周期价格跌破止盈价,触发止盈
    elif small_low <= short_profit_level
        strategy.close("Short Entry 1", comment="Short TP Hit")

注意事项

  • 拉取小时间框架数据会增加计算量,回测长周期数据时速度可能变慢;
  • 要确保你的订阅支持对应小时间框架的历史数据访问;
  • 可以根据实际交易规则调整逻辑,比如加入滑点模拟、等待小周期K线收盘确认触发等,让回测更贴近真实场景;
  • 手动平仓逻辑要和入场逻辑匹配,避免重复平仓或仓位管理混乱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 15:40:48