交易视图松树脚本:指标应锁定在NASH上的直线/烛台OHLC图表

时间:2020-10-22 04:35:02

标签: pine-script trading algorithmic-trading tradingview-api

每当我从折线/蜡烛图更改为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)

0 个答案:

没有答案