I already shared a method to estimate tops and bottoms (1), the number of parameters could lead to optimization issues so i tried to make a simpler method. In this method i use a simple rescaling method based on individual direction deviation. I will explain further details below.
The Indicator
I use as source for the entire calculation an exponential moving average, the first reaction to this choice would be to think that i wanted to filter signals in order to reduce them, but the truth is that i wanted to have more signals instead, this is because the first calculations involving standard deviations are based on price direction, so by using a smooth input we can get more persistent values in a and b, but its totally up to you to use whatever you want in a, just take into account that less smooth = less signals, this is why i used this calculation process.
a = close and length = 7
a = least squares moving average and length = 25
So you could use pretty much everything you want as input.
Conclusion
The accuracy of such indicators is still relatively low but i presented a way to estimate tops and bottoms without using highest/lowest or differencing thus creating a totally new approach. I encourage you to experiment with it and share your results. If you learned something with this post then i'am happy :)
Notes
Based on several complaints i will have to leave even sooner, i think the 7 of June will be a good day, so if you need something i encourage you to ask me now. With the hope you can understand.