I am working on this adaptive . It has its pros and cons. It is a work in progress and I welcome any one that wants to add or change it. If you add or make positive changes please let me know. It is based off of daily range. Currently it is set to the open three days prior to the current open.
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.
//@version=2 study("Adaptive SMA",overlay=true) length = input(title="SMA Length",defval=200) f=input(title="range factor",defval=16) rs=input(title="range smoother",defval=100) r=abs(open-open)*2000 ra=round(sma(r,rs)) l=iff(ra*f>length,length,length-ra*f) sum = 0 for i = 0 to (l-1) sum := sum + close[i] adpsma = sum/l plot(sma(adpsma,3), color=red,transp=0,linewidth=3) plot(sma(close,length),color=yellow,linewidth=3,transp=0) //l=len+aa*f //adj = if f*aa<=len // f*aa //else // for i = 0 to 60 // adj = if f*aa[i]<len // f*aa // break // else // continue //l=len+adj //a=sma(close,34) //b=round((abs(close-a))*200) //c=iff(b*f>=len,len,len-b*f)