问题描述
每当我从折线/蜡烛图更改为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,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,barmerge.lookahead_on)
//----------------------------------------------------------------------------------------------------------------------
//indicator calculation
//------------------------------------------------------------------------------------------------------
up = rma(max(change(src_resolution),0),len)
down = rma(-min(change(src_resolution),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",color=color.red,transp=0)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)