每当我从折线/蜡烛图更改为Heikin Ashi图表时,整个指标都会改变其水平。这是因为,Heikin Ashi更改了“打开”和“关闭”,并且该指标值是根据蜡烛图或折线图的打开和关闭计算的。这样会产生延迟的错误信号。
我应该在现有代码中添加什么代码来阻止这种情况的发生。 我只希望基于蜡烛图或折线图的打开,关闭和后续指标水平;当我在Heikin Ashi中查看它时。
请仅在这一行中提供帮助,我将修改其余部分。
条件:
1) “ syminfo.prefix +”:“ + syminfo.ticker”在普通行情自动收录器中完美运行,并在Heikin-Ashi Charts中锁定线形烛台ohlc图。
使用扩展符号时出现问题。扩展符号对于比较分析很重要。
扩展符号= TICKER / TICKER 就像“ NSE:BANKNIFTY1!/ NSE:NIFTY1!”
“ syminfo.prefix +”:“ + syminfo.ticker”在SPREAD SYMBOLS中不起作用,并显示学习错误
2) 在扩展符号中, “ syminfo.tickerid”完美的世界;没有错误,但是在Heikin-Ashi Charts中不会锁定烛台ohlc图。 这不是很理想,但仍然比研究错误要好
3)
手动关闭条件,适用于普通股票代码。必须有手动“锁定”功能,指示器可以使用Heikin-Ashi参数。这基本上是一个简单的if ... else语句。
//@version=4
study(title="RSI3_SMA3", shorttitle="RSI3_SMA3", overlay=false )
src = input(title="SOURCE", type=input.source, defval=close)
len = input(3, minval=1, title="RSI LENGTH")
len2 = input(3, minval=1, title="SMA of RSI LENGTH")
//-----------------------------------------------------------------------------------------------------------------
resolution = input(title="TIME FRAME", type=input.resolution, defval="")
show = input(title="TOGGLE: ONLY CHANDLESTICKS OHLC LOCK", type=input.bool, defval=true)
//i need to code to detect when " syminfo.prefix+":"+syminfo.ticker " gives an error and replace it with "syminfo.tickerid"
y = security(syminfo.prefix+":"+syminfo.ticker, resolution, src, barmerge.gaps_off, barmerge.lookahead_on)
x = if show and (not na(y))
syminfo.prefix+":"+syminfo.ticker
else
syminfo.tickerid
//******************************************************
// this work well only gives error on spread symbols
//ONLY Only CandleSticks Chart OHLC
//x = if show
// syminfo.prefix+":"+syminfo.ticker
//else
// syminfo.tickerid
//******************************************************
//******************************************************
src_resolution = security(x, resolution, src, barmerge.gaps_off, barmerge.lookahead_on)
//----------------------------------------------------------------------------------------------------------------------
//indicator calculation
//------------------------------------------------------------------------------------------------------
up = rma(max(change(src_resolution), 0), len)
down = rma(-min(change(src_resolution), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
//------------------------------------------------------------------------------------------------------
SMARSI = sma(rsi, len2)
plot(rsi, title="RSI", style=plot.style_line, linewidth=1, color=color.teal, transp=0)
plot(SMARSI, title="SMA of RSI", style=plot.style_line, linewidth=1, color=color.red, transp=0)