Join our fan page
Nonlinear Kalman filter - floating levels - indicator for MetaTrader 5
- Views:
- 6637
- Rating:
- Published:
- 2019.01.07 12:01
- Need a robot or indicator based on this code? Order it on Freelance Go to Freelance
Theory :
John Ehlers describes what he calls the nonlinear Kalman filter in the following way :
- Take EMA of price (better, a 3 Pole filter).
- Take the difference (delta) between Price and its EMA.
- Take an EMA of delta (or a 3 Pole filter):
- Smoothing will help reduce whipsaws.
- Ideally, smoothing introduces no major trend mode lag because delta is detrended.
- Add the smoothed delta to EMA for a zero lag curve.
- Add 2*(smoothed delta) to EMA for a smoother predictive line.
In order to add signals other than simple slope direction change, in this version you can chose 3 types of color changes :
- color change on slope
- color change on outer (floating) levels cross
- color change on middle (floating) level (sort of a "zero line") cross
Usage :
You can use the color changes as signals
This is a working singleton code example. The sole purpose of this post is to provide a working code sample of a singleton object. A singleton object is created when there 'can be only one' of the object. This is accomplished by making an object's constructor private, and ensuring assignment and copy operations are also private. I was working on an EA and identified that an object should never have more than one copy. I don't expect the EA to ever get large enough for it to actually matter that a singleton is used, but I like the clarity in the code for the object's type. The code follows closely the tutorial at http://www.yolinux.com/TUTORIALS/C++Singleton.html.
Averages crossesAverages crosses
Zero mean normalized nonlinear Kalman filter
Zero mean normalized nonlinear Kalman filter - with floating levelsZero mean normalized nonlinear Kalman filter - with floating levels