Decycler indicators Exported with NinjaTrader 7.0.1000.30
Note: The download on this entry and the one on the SimpleDecycler entry are the same and contain both indicators.
Revised 11/1/15
Revisions:
1 Ability to change plot colors and line widths.
2. Remove all code related to the signals produced for Bloodhound.
Another indicator which contains Bloodhound signals will be posted on the Bloodhound thread here.
3. Add basic signal codes to replace the Bloodhound codes.
4. Correct minor problem in code in formula calculation
5. Change the percent parameter to accept the more standard notation xx.y (%).
>>>End Revisions 11/1/15<<<
The two indicators provided, the Decycler Oscillator and the Simple Decycler, are based on the writing of John F. Ehlers published in the September 20015 issue of Stocks & Commodities magazine. The implementation used as the basis for this version was provided by NinjaTrader(NT). Although both indicators are contained in the download they are described separately. This entry describes the DecyclerOscillator.
The screenshot shows the DecyclerOscillator with modified version of the SimpleDecycler set to appear like the NT provided version (which can be downloaded here). Installing the NT version will not disturb the indicators provided as they are prefixed with “fpg”.
In the article Mr. Ehlers describes a class of filters known as high-pass filters which “allow the high-frequency components in the data to pass through to the filter output, and reject the low-frequency components”. He goes on further stating, “Since high-pass filters have very little lag, here is the trick to computing a decycler: Subtract the high-pass filter output from the data input.” This is performed in the partner indicator, the SimpleDecycler. He also states that, “You can virtually eliminate lag by getting rid of those low-frequency components.”. Both indicators contain the same algorithm (which is left to the interested math and EE gurus to figure out what he is doing) for identifying the high-pass frequencies.
The article states that the oscillator is useful when two instances , with different parameters, are placed in the same sub-graph. The NT implementation requires this to be done manually which, among other things this modification can do optionally. There are 2 controlling parameters, the HPPeriod (default 125) and the K value (default 1). According to the article, “The second instance is plotted at 80% of the HPPeriod with an input K value of 1.2. The basic idea is to compensate for a 20% reduction in cycle period with a 20% increase in the amplitude swing (the K value) of the indicator.”.
Ehlers notes that “there will always be some whipsaw conditions, but these are relatively easy to remove with other conditional statements in the code.”. Unfortunately he does not offer any suggestions here. Another important item to note, the default HPPeriod is set to the value of a half year on a day chart, likely being used for detecting cycle reversals on stocks. However as further stated in the article, “Decyclers and decycler oscillators can be used over a very wide range of input filter parameters”, but here too he offers no suggestions. This will be an experiment to be conducted by the user. However, setting it too low does introduce choppiness.
Enhancements:
1. The ability to request either the Slow, Fast, or Both plots (the “Plots Type” option).
2. Automatically adjust the fast indicator parameters by the specified percent (the “Percent” option) or to use the parameters specified by the user (the “ AsSpecified” option).
3. Three signaling options are provided: Off, Basic, and Extended (experimental for Bloodhound users). The Basic option provides the standard IntSeries values for the crossing (1, 0, -1). Extended signaling is described in the BloodHound thread here.
4. Optional smoothing for both the Fast and Slow Plots
Caution:
If the Extended signaling option is selected additional but non-conflicting signals are sent to the same IntSeries used by the Basic signaling option.
Credits with my thanks to:
1. @Zondor and @Aligator for a formula used in the Extended signaling
2. @Jack22 for the formula and supporting code.
Change Log
9/29/2015 :- Initial release
10/1/2015 :- Correct error in algorithm code for calculating Fast plot in DecyclerOscillator
11/1/2015 :- Revisions are described at the top of this page
Category NinjaTrader 7 Indicators
|
|
|