Indicator - CMOfilt
Function - CMOfilt
Category: Indicator > Oscillators
This indicator plots a CMO which ignores price changes which are less than a threshold value. CMO was developed by Tushar Chande. A scientist, an inventor, and a respected trading system developer, Mr. Chande developed the CMO to capture what he calls “pure momentum". For more definitive information on the CMO and other indicators we recommend the book The New Technical Trader by Tushar Chande and Stanley Kroll.
The CMO is closely related to, yet unique from, other momentum oriented indicators such as Relative Strength Index, Stochastic, Rate-of-Change, etc. It is most closely related to Welles Wilder’s RSI, yet it differs in several ways:
- It uses data for both up days and down days in the numerator, thereby directly measuring momentum;
- The calculations are applied on unsmoothed data. Therefore, short-term extreme movements in price are not hidden. Once calculated, smoothing can be applied to the CMO, if desired;
- The scale is bounded between +100 and -100, thereby allowing you to clearly see changes in net momentum using the 0 level. The bounded scale also allows you to conveniently compare values across different securities.
The main method of interpreting the CMO is looking for extreme overbought and oversold conditions. As a general rule, Mr. Chande quantifies an overbought level at +50 and the oversold level at -50. At +50, up-day momentum is three times the down-day momentum. Likewise, at -50, down-day momentum is three times the up-day momentum. These levels correspond to the 70/30 levels on the RSI indicator.
You could also establish overbought/oversold entry and exit rules by plotting a moving average trigger line on the CMO. For example, if you are using the default 20-period CMO, a 9-period moving average may serve as a good trigger line. Buy when the CMO crosses above the 9-period trigger line; sell when it crosses below.
Lenght - number of bars to consider
Filter - threshold value
Topband - overbought level
Lowband - oversold level
IF CHECKALERT THEN BEGIN
IF PLOT1 CROSSES ABOVE PLOT2 OR PLOT1 CROSSES BELOW PLOT2
OR PLOT1 CROSSES ABOVE PLOT3 OR PLOT1 CROSSES BELOW PLOT3
OR PLOT1 CROSSES ABOVE PLOT4 OR PLOT1 CROSSES BELOW PLOT4
OR PLOT2 CROSSES ABOVE PLOT3 OR PLOT2 CROSSES BELOW PLOT3
OR PLOT2 CROSSES ABOVE PLOT4 OR PLOT2 CROSSES BELOW PLOT4
OR PLOT3 CROSSES ABOVE PLOT4 OR PLOT3 CROSSES BELOW PLOT4