# Fractal Dimension Adaptive Moving Average (D-AMA)

etfhq.com/blog/2012/...oving-average-d-ama/

Overall the D-AMA produced results that were near identical to that of the FRAMA but the D-AMA is a slightly faster average.
It is very difficult to pick between the FRAMA and the D-AMA but becuase the FRAMA offers a slightly longer trade duration it the best Moving Average we have tested so far.
Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in a publication is governed by House Rules. You can favorite it to use it on a chart.

Disclaimer

The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.

Want to use this script on a chart?
```//@version=2
study("Fractal Dimension Adaptive Moving Average",shorttitle="D-AMA",overlay=true)
price=input(hl2)
len=input(defval=126,minval=1)
fast=input(defval=1,minval=1)
slow=input(defval=30,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(2)
diff = iff(N1>0 and N2>0 and N3>0,dimen1,nz(dimen1[1]))
volatility=sum(diff,len)
ER=change/volatility
fastestSC=(2/(fast+1))
slowestSC=(2/(slow+1))
SC=pow(ER*(fastestSC-slowestSC)+slowestSC,2)
out=nz(out[1])+SC*(price-nz(out[1]))

plot(out,color=teal,title="D-AMA",linewidth=2)```