4.4 KiB
McGinley Dynamic MTF Pro
1. Summary (Introduction)
The McGinleyDynamic_MTF_Pro is a multi-timeframe (MTF) version of the McGinley Dynamic indicator. This indicator calculates the McGinley Dynamic on a higher, user-selected timeframe and projects its responsive, market-speed-adjusted trendline onto the current, lower-timeframe chart.
This allows traders to visualize the underlying trend from a broader perspective. The higher-timeframe McGinley Dynamic acts as a superior dynamic benchmark for support, resistance, and overall market direction, as it automatically adjusts its speed to the conditions of that higher timeframe.
The indicator is highly versatile: if the user selects the current chart's timeframe, it functions identically to the standard McGinleyDynamic_Pro indicator. It also fully supports both standard and Heikin Ashi price data.
2. Mathematical Foundations and Calculation Logic
The underlying calculation is identical to the standard McGinley Dynamic, utilizing a self-adjusting smoothing factor. The key innovation here is the multi-timeframe application.
Calculation Steps (Algorithm)
- Fetch Higher Timeframe Data: The indicator retrieves the OHLC price data for the user-selected higher timeframe (
htf). - Calculate McGinley Dynamic on the Higher Timeframe: The complete recursive calculation (including the speed-adjustment ratio) is performed using the
htfprice data. - Project to Current Chart: The calculated
htfvalues are mapped to the current chart, creating a characteristic "step-like" line that represents the higher timeframe's trend.
3. MQL5 Implementation Details
-
Self-Contained and Robust: This indicator is fully self-contained and does not depend on any external indicator files (
iCustom). It directly fetches the required higher-timeframe price data using built-inCopy...functions for maximum stability. -
Modular Calculation Engine (
McGinleyDynamic_Calculator.mqh): The indicator reuses the exact same calculation engine as the standardMcGinleyDynamic_Pro. This ensures mathematical consistency across all versions. -
Optimized Incremental Calculation (O(1)): Unlike basic MTF indicators that recalculate the entire history on every tick, this indicator employs a sophisticated incremental algorithm:
- HTF State Tracking: It tracks the calculation state of the higher timeframe separately (
g_htf_prev_calculated). - Persistent Buffers: The internal buffer for the higher timeframe is maintained globally, preserving the recursive state of the McGinley Dynamic between ticks.
- Efficient Mapping: The projection loop only updates the bars corresponding to the new data.
- This ensures the indicator remains lightweight and high-performance even on heavy load.
- HTF State Tracking: It tracks the calculation state of the higher timeframe separately (
-
Dual-Mode Logic: The
OnCalculatefunction contains a smart branching logic.- If a higher timeframe is selected, it performs the optimized MTF data fetching and projection process.
- If the current timeframe is selected, it bypasses the MTF logic and functions identically to the standard
McGinleyDynamic_Pro.
4. Parameters
- Upper Timeframe (
InpUpperTimeframe): The higher timeframe on which the McGinley Dynamic will be calculated. If set toPERIOD_CURRENT, the indicator will run on the current chart's timeframe. - Length (
InpLength): The base period for the indicator. (Default:14). - Applied Price (
InpSourcePrice): The source price for the calculation (Standard or Heikin Ashi).
5. Usage and Interpretation
The MTF version of McGinley Dynamic is an exceptionally powerful tool for multi-timeframe trend analysis.
-
Major Trend Filter: The slope and position of the MTF McGinley line provide a clear view of the dominant market condition.
- If the price is consistently above a rising MTF McGinley, the market is in a strong uptrend.
- If the price is consistently below a falling MTF McGinley, the market is in a strong downtrend.
-
Dynamic Support and Resistance: The MTF McGinley line acts as a strong support/resistance level. Because it adjusts to market speed, it often hugs the price action more effectively than a standard MTF moving average, reducing false breakouts.
-
Trend Alignment: Use the MTF McGinley to align your lower-timeframe entries with the higher-timeframe momentum. For example, only take long trades on the M5 chart when the H1 McGinley Dynamic is rising.