3.9 KiB
Cutler's RSI Professional
1. Summary (Introduction)
Cutler's RSI is a variation of the classic Relative Strength Index (RSI). While the standard RSI uses Wilder's smoothing (an RMA/SMMA), Cutler's version uses a Simple Moving Average (SMA) to average the positive and negative price changes.
Our professional toolkit provides a unified implementation of this indicator family:
CutlerRSI_Pro.mq5: Plots the main Cutler's RSI line and an optional, configurable moving average signal line.CutlerRSI_Oscillator_Pro.mq5: Displays the difference between the RSI and its signal line as a histogram.
Both indicators can be calculated using either standard or Heikin Ashi price data.
2. Mathematical Foundations and Calculation Logic
The core difference lies in the smoothing method applied to the price changes.
Calculation Steps (Algorithm)
- Calculate Price Changes:
\text{Change}_i = P_i - P_{i-1} - Separate Positive and Negative Changes.
- Calculate the Simple Moving Average of Changes:
\text{Avg Positive}_i = \text{SMA}(\text{Positive Change}, N)_i\text{Avg Negative}_i = \text{SMA}(\text{Negative Change}, N)_i - Calculate the Relative Strength (RS) and Final RSI:
\text{RS}_i = \frac{\text{Avg Positive}_i}{\text{Avg Negative}_i}\text{Cutler's RSI}_i = 100 - \frac{100}{1 + \text{RS}_i} - Calculate the Signal Line & Oscillator: The signal line is a moving average of the Cutler's RSI line, and the oscillator is the difference between the two.
3. MQL5 Implementation Details
Our MQL5 implementation follows a highly modular, object-oriented design.
-
Unified Calculation Engine (
CutlerRSI_Calculator.mqh): The core logic is encapsulated in a robust engine.- Composition: The calculator internally uses our universal
MovingAverage_Engine.mqhto handle the smoothing of the Signal Line. This allows for advanced smoothing types (like DEMA or TEMA) beyond the standard SMA. - Reusability: The
CutlerRSI_Oscillator_Procalculator uses composition to include the mainCCutlerRSICalculator, ensuring that both indicators share the exact same mathematical foundation.
- Composition: The calculator internally uses our universal
-
Optimized Incremental Calculation (O(1)): Unlike basic implementations that recalculate the entire history on every tick, this indicator employs an intelligent incremental algorithm.
- State Tracking: It utilizes
prev_calculatedto process only new bars. - Persistent Buffers: Internal buffers persist their state between ticks.
- State Tracking: It utilizes
-
Selectable Display Mode: The
CutlerRSI_Proindicator includes aDisplay Modeinput that allows the user to show either the RSI line by itself or the RSI line together with its moving average signal line.
4. Parameters
- RSI Period (
InpPeriodRSI): The lookback period for the SMA of price changes. (Default:14). - Applied Price (
InpSourcePrice): The source price for the calculation. (Standard or Heikin Ashi). - Signal Line Settings:
InpDisplayMode: Toggles the visibility of the signal line.InpPeriodMA: The lookback period for the signal line.InpMethodMA: The type of moving average for the signal line. Supports: SMA, EMA, SMMA, LWMA, TMA, DEMA, TEMA.
5. Usage and Interpretation
The interpretation of Cutler's RSI is identical to the standard RSI.
- Overbought/Oversold Levels: Identify overbought (typically above 70) and oversold (typically below 30) conditions.
- Crossovers:
- Signal Line Crossover: When the Cutler's RSI line crosses above its moving average, it can be seen as a bullish signal.
- Centerline Crossover: A crossover of the RSI line above the 50 level indicates bullish momentum.
- Divergence: Look for divergences between the RSI and the price action.
- Oscillator (Histogram): The histogram provides a clear visual of the relationship between the Cutler's RSI and its signal line.