//@version=2 study(title="Gaussian smooth", shorttitle="GSmooth", overlay=true) p = input(100, minval=1, title="Length") price = input(close, title="Source") pi=3.1415926535 w=2*pi/p beta = (1 - cos(w))/(pow(1.414,2.0/3) - 1) alfa = -beta + sqrt(beta*beta + 2*beta) ret= pow(alfa,4)*price+4*(1-alfa)*nz(ret)-6*pow(1-alfa,2)*nz(ret)+4*pow(1-alfa,3)*nz(ret)-pow(1-alfa,4)*nz(ret) diff2 = nz(ret) - nz(ret) - (nz(ret) - nz(ret) ) > 0 c= if diff2 > 0 blue else red plot(ret, color=c, title="MA")
Thanks for the addition to the library. I have experimented with the line 6 ratio. As it is a matter of speed, I changed it to half of pi as a retrace moving average when the original script signal shows a trend change and then I added a second amendment, 9.70, taking the pi ratio and multiplying with a multiple of 3.09, supposedly the extreme of gaussian deviations. We get an interesting read with the three trend lines.
With the great new feature of adding an indicator reading by using a mother indicator for a child reading, gaussian values are great for smoothing data. Here I used the Gaussian moving average as the source for a RSI oscillator and then using the RSI readings for a smoothed RSI value. We see how nicely the data visually displays the cycle readings. This would work nicely in conjunction with the signals given when the Gaussian moving average changes trend.