MarcoValente

RSD Fractal Dimension Moving Average

181
Here is a Fractal Dimension Moving Average , that include a trend follow/divergence based on RSI , Stoch ,and ADX. Combineted this algo with the FDMA algo , we have a MA reactive without following the yo-yo during high volatility period. Can set the range from a min and max bars you want to have your MA , the value are powered , so the min can set 1 to 10 that s is 1 to 60 bars and the Max 13 to 24 range 100 to 300. Period length and RSD len-0.37% are use to calculate Fractal Dimen and Trend parameter
If you need more info how to set go here
etfhq.com/blog/2012/...oving-average-d-ama/
開源腳本

本著真正的TradingView精神,該腳本的作者將其開源發布,以便交易者可以理解和驗證它。為作者喝彩吧!您可以免費使用它,但在出版物中重複使用此代碼受網站規則的約束。 您可以收藏它以在圖表上使用。

免責聲明

這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。

想在圖表上使用此腳本?
//@version=2
study("RSD Fractal Dimension Moving Average",shorttitle="RSD FD",overlay=true)
price=input(hl2)
len=input(defval=80,title="Len Period",minval=1)
fast=input(defval=19,title="Max Range MA(Powered) ", minval=1)
slow=input(defval=3,title="Min Range MA(Powered)",minval=1)
change=abs(price-price[len])
len1 = len/2
H1 = highest(high,len1)
L1 = lowest(low,len1)
N1 = (H1-L1)/len1
H2 = highest(high,len)[len1]
L2 = lowest(low,len)[len1]
N2 = (H2-L2)/len1
H3 = highest(high,len)
L3 = lowest(low,len)
N3 = (H3-L3)/len
dimen1 = (log(N1+N2)-log(N3))/log(len/len1)
diff = iff(N1>0 and N2>0 and N3>0,dimen1,nz(dimen1[1]))
le=input(defval=10,title="Period Rsi,Stch,Adx")
//rsi
rr=rsi(hl2,le)
//stoch
st=stoch(hl2,high,low,le)
//adx
up = change(high)
down = -change(low)
trur = rma(tr, le)
plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, le) / trur)
minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, le) / trur)
sum = plus + minus 
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), le)

fq=(rr+st+plus)/300
dif=abs(fq[0]-fq[1])
signal=abs(fq-fq[le])
noise=sum(dif, le)
ef=noise!=0 ? signal/noise : 1
ER=abs(dimen1-1)
E=fq*ER
//
fastestSC=2/(fast+1)
slowestSC=2/(slow+1)
SC=pow((E*(fastestSC-slowestSC)+slowestSC),2)
out=nz(out[1])+SC*(price-nz(out[1]))
col=out>close?red :lime
plot(out,color=col,title="RSD-AMA",linewidth=2)