McGinley Dynamic Indicator: Formula, Settings and How to Read It

The McGinley Dynamic (John McGinley, 1990) is a moving average that changes its own speed according to the distance between price and the line. Senzoukria implements the variant used by TradingView and ATAS, without the 0.6 factor of the original article, with a default period of 14.

Senzoukria · Indicators · Updated September 2026


McGinley Dynamic ships with the Senzoukria desktop app, in the Averages & volatility group of the indicator catalogue. It is drawn on the price chart.

What McGinley Dynamic measures

On each bar the line moves toward the close by a fraction whose denominator is the period multiplied by the fourth power of the ratio between the close and the previous value of the line. That fourth power makes the adjustment asymmetric: when price sits below the line the ratio is under one, the denominator shrinks and the line catches up quickly; when price runs above the line the denominator grows and the line deliberately holds back. The series is seeded with a simple average of the first N closes, so nothing is printed before bar N. If the denominator is not finite or is not strictly positive, a case that does not arise on futures prices, the previous value is carried forward rather than replaced by a guess.

The formula, as implemented

This is not a description of how the indicator is usually defined elsewhere — it is what the shipped code computes, documented next to the implementation:

McGinley Dynamic (John McGinley, 1990) — variante SANS le facteur 0.6 de l'article original, celle de TradingView/ATAS (choix documenté) : MD[N−1] = SMA_N(close) (graine — même convention que l'EMA du catalogue ; nulls avant) MD[i] = MD[i−1] + (close[i] − MD[i−1]) / ( N·(close[i]/MD[i−1])⁴ ) Le dénominateur adaptatif accélère la poursuite en baisse et la freine en hausse. Garde : dénominateur non fini ou ≤ 0 (prix/MD ≤ 0 — hors marchés futures) → MD recopié tel quel, on n'invente pas. Défaut N=14.

How to read it

  • Expect the line to trail a strong advance further than a symmetric average would, and to close the gap faster on a decline; that asymmetry is the design, not a defect.
  • A McGinley line that stops widening away from price during a rally shows that the per-bar advance has slowed relative to the speed of the line itself.
  • Overlay it on an EMA of the same period: the two diverge most where price moved far from the average, which is where the adaptive denominator is doing the most work.
  • The update depends on the previous value of the line, so changing the period or reloading a different history restarts the recursion from a fresh seed and can shift the curve.

Parameters and defaults

Period defaults to 14 and accepts 1 to 200, a narrower ceiling than the 500 allowed for the plain averages of this group. The period sets the base speed that the fourth-power ratio then scales bar by bar, so changing it alters both the baseline responsiveness and the size of the adaptive correction. There is no source selector; the calculation uses the close.

McGinley Dynamic — parameters exposed in the app, with the values it ships with.
ParameterTypeDefaultRange
Periodnumber141 – 200

What it does not show

The McGinley Dynamic is recursive: every value depends on the one before it, so it cannot be evaluated bar by bar in isolation and a different history start produces a slightly different curve. The fourth power reacts strongly to large relative gaps, which can make the line snap toward price after a sharp move. The asymmetry is a fixed behavioural choice, not a market measurement: the indicator does not detect trends, it only tunes its own speed. And because the denominator compares price with the line rather than with a volatility estimate, the same relative gap produces the same behaviour whatever the instrument's price level or its current range.

Using it in Senzoukria

Add it from the Indicators panel of any footprint chart or candle chart. It runs on futures data from Rithmic or Databento and on crypto pairs from Binance and Bybit, on the same engine — the calculation does not change with the venue, only the data feeding it does. Market data subscriptions are billed by the provider, separately from the app.

  • SMAAverages & volatility
  • EMAAverages & volatility
  • WMAAverages & volatility
  • Hull MAAverages & volatility
  • ATR (Wilder)Averages & volatility
  • BollingerAverages & volatility

See the full indicator library, or start with the order flow guide if you are new to reading aggression, delta and absorption.

Frequently asked questions

What does the McGinley Dynamic do that an EMA does not?
It varies its own speed instead of using a fixed smoothing factor. The step toward price is divided by the period multiplied by the fourth power of the ratio between the close and the current value of the line, so the line accelerates when price falls beneath it and slows when price extends above it. An EMA applies the same factor regardless of that distance.
Which McGinley formula does Senzoukria use?
The variant without the 0.6 factor of the original 1990 article, which is the version implemented by TradingView and ATAS. The choice is documented so that the line matches what users already see on those platforms. The series is seeded with a simple average of the first N closes, N being 14 by default.
Is the McGinley Dynamic a lagging indicator?
Yes. It is derived from past closes and can only respond once price has moved. What the adaptive denominator changes is how much lag there is in each direction: less when price drops below the line, more when price runs above it. It is not a leading or predictive calculation.

Keep reading