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

如何重置TradingView策略数据,避免交易信号隔夜结转?

问题解决:每日重置交易策略数据

原代码的核心问题是使用var声明的变量会跨交易日保留数值,无法自动重置。要实现每个交易日从零开始、不继承前一日数据的需求,需要在新交易日触发时重置所有相关变量及趋势状态。

以下是修改后的完整代码:

indicator("IBH-IBL", overlay=true)

// 检测新交易日
is_new_day = ta.newday()

// 初始化日内变量,新交易日时重置
float dayOpen = na
float dayHigh = na
float dayLow = na
float dayClose = na

// 标记开盘5分钟(9:15)的K线
ib_candle = hour == 9 and minute == 15

// 新交易日重置变量,非交易日保留已捕获的开盘数据
if is_new_day
    dayOpen := ib_candle ? open : na
    dayHigh := ib_candle ? high : na
    dayLow := ib_candle ? low : na
    dayClose := ib_candle ? close : na
else
    dayOpen := na(dayOpen[1]) ? (ib_candle ? open : na) : dayOpen[1]
    dayHigh := na(dayHigh[1]) ? (ib_candle ? high : na) : dayHigh[1]
    dayLow := na(dayLow[1]) ? (ib_candle ? low : na) : dayLow[1]
    dayClose := na(dayClose[1]) ? (ib_candle ? close : na) : dayClose[1]

// 绘制开盘5分钟相关线条
plot(dayOpen, color=color.yellow, linewidth=3, title='5min yellow line')
plot(dayHigh, color=color.blue, linewidth=2, title='5min IBH')
plot(dayLow, color=color.blue, linewidth=2, title='5min IBL')

// 入场条件判断
longCondition = close > dayOpen
shortCondition = close < dayOpen

twoAbovedayOpen = longCondition[1] and longCondition[2]
twobelowdayOpen = shortCondition[1] and shortCondition[2]

// 趋势状态,新交易日重置为初始值1
Trend = 0
Trend := is_new_day ? 1 : twoAbovedayOpen ? 1 : twobelowdayOpen ? -1 : nz(Trend[1], 1)

// 绘制入场箭头
plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=color.lime, maxheight=60, minheight=50, transp=0)
plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=color.red, maxheight=60, minheight=50, transp=0)

关键修改说明:

  • 移除var关键字,改用普通变量配合ta.newday()实现每日重置
  • 用ta.newday()准确识别新交易日的起始点
  • 新交易日时重置所有开盘5分钟变量和趋势状态Trend
  • 非交易日仅在未捕获当日开盘数据时赋值,否则保留已有数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 11:24:35