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

关于Heikin Ashi Strategy V2脚本是否重绘的技术问询

Heikin Ashi Strategy V2脚本是否存在重绘问题?

我刚发现这款Heikin Ashi Strategy V2脚本,它在图表上的表现极佳,甚至好得令人难以置信,因此我怀疑它存在重绘问题。恳请各位帮忙判断该脚本是否会出现重绘现象。

//@version=2
//Heikin Ashi Strategy  V2 by breizh29

strategy("Heikin Ashi Strategy  V2",shorttitle="HAS V2",overlay=true,default_qty_value=1000,initial_capital=100000,currency=currency.EUR)
res = input(title="Heikin Ashi Candle Time Frame", type=resolution, defval="60")
hshift = input(1,title="Heikin Ashi Candle Time Frame Shift")
res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(1,"Heikin Ashi EMA Period")
test = input(1,"Heikin Ashi EMA Shift")
sloma = input(30,"Slow EMA Period")
slomas = input(1,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame", type=resolution, defval="15")
macds = input(1,title="MACD Shift")

//Heikin Ashi Open/Close Price
ha_t = heikinashi(tickerid)
ha_open = security(ha_t, res, open[hshift])
ha_close = security(ha_t, res, close[hshift])
mha_close = security(ha_t, res1, close[mhshift])

//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = security(ha_t,res2,macdLine[macds])
macdsl= security(ha_t,res2,signalLine[macds])

//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)

//Strategy
golong =  crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort =   crossunder(fma,sma) and (macdl < macdsl or macdf == false )

strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)

结论与分析

这个脚本确实存在严重的重绘风险,核心原因如下:

  • 未限制security()的未来数据调用:Pine Script中security()函数默认启用前瞻模式,会使用当前未闭合的更高时间周期K线数据计算指标。脚本中所有security()调用都没有添加barmerge.lookahead_on=false参数,导致指标值会随着实时行情不断变动,信号反复生成或消失。
  • Heikin Ashi K线的固有特性:Heikin Ashi K线的开盘、收盘价基于前一根K线和当前K线的平均计算得出,未闭合的Heikin Ashi K线数值会持续更新,进一步放大重绘问题。
  • 指标依赖未确认数据:脚本中的EMA、MACD等核心交易信号指标,均基于未完全闭合的更高时间周期Heikin Ashi数据计算,这些指标值在K线运行过程中会不断变化,导致交易信号不稳定。

修复建议

要彻底解决重绘问题,需修改所有security()调用,添加barmerge.lookahead_on=false参数,强制仅使用已闭合的K线数据:

// 修改后的security调用示例
ha_open = security(ha_t, res, open[hshift], barmerge.lookahead_on=false)
ha_close = security(ha_t, res, close[hshift], barmerge.lookahead_on=false)
mha_close = security(ha_t, res1, close[mhshift], barmerge.lookahead_on=false)
macdl = security(ha_t,res2,macdLine[macds], barmerge.lookahead_on=false)
macdsl= security(ha_t,res2,signalLine[macds], barmerge.lookahead_on=false)

此外,建议验证所有基于Heikin Ashi数据的指标计算,确保仅使用已确认的历史数据,避免未来数据干扰信号稳定性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 22:35:15