What is McGinley Dynamic?
The McGinley Dynamic is a moving average that changes its own speed. Each bar it moves towards the close by an amount that depends on how far the close is from the line, and on which side. When price falls below the line it catches up quickly; when price rises above it, it follows more cautiously. The aim is a line that tracks price through a change of direction with fewer sudden separations than a fixed-speed average.
The McGinley Dynamic smooths price. It does not confirm trend strength or predict future prices, and its speed adjustment is not symmetrical, so it is not a neutral average of up and down moves.
How to use McGinley Dynamic
- Price above or below the line. Price holding above the line is read as context for an uptrend, below it for a downtrend.
- The slope. A rising line means closes have been above it. Because the line follows rises more slowly, a steep rally can leave a wide gap between price and the line.
- Fast drops, slow climbs. In a sell-off the line closes in on price quickly; in a rally it lags further. Allow for that when comparing the gap on either side.
- Period length. Shorter moves the line more per bar; longer moves it less and smooths more.
These are ways to read the line, not entry signals on their own.
Settings
| Setting | Default | What it changes |
|---|---|---|
| length | 14 | The base speed of the line. Lower lets it move further towards price each bar; higher slows it down and smooths more. Minimum 1. |
The indicator always uses the close. Adjust the length in the indicator settings.
Calculation
The line starts from an exponential moving average of the close, which itself starts from the simple average of the first 14 closes. From then on each bar it moves towards the close by a step scaled by the length and by the ratio of the close to the line:
MD = previous MD + (close - previous MD) / (length * (close / previous MD)^4)
With the default length of 14:
close 10% above the line: step = gap / (14 * 1.46) = gap / 20.5
close 10% below the line: step = gap / (14 * 0.66) = gap / 9.2
The fourth power of the ratio is what makes the speed asymmetric. A close above the line makes the divisor larger, so the line moves a smaller share of the gap; a close below makes it smaller, so the line moves a larger share. A close equal to the line leaves it unchanged.
Because each value is built from the previous one, there is no fixed window. The first value appears on bar 14 with the default length, and every value after it depends on that starting point.
Limitations
- It is asymmetric by design. The line catches up with falling prices faster than with rising ones, so its distance from price means different things on either side.
- It lags in strong rallies. The further price runs above the line, the smaller each step becomes, so a fast move up leaves the line well behind.
- Close only. The calculation always uses the close; there is no price source setting.
- It depends on timeframe and length. The same indicator gives a different line on 15m than on 1D.
- It is not a strategy. On its own it carries no risk management, sizing or exit.
Frequently asked questions
The McGinley Dynamic is a moving average that adjusts its speed each bar according to the ratio of the close to the line. It starts from an exponential moving average, then moves towards price by a step that shrinks when price is above the line and grows when it is below.
An [EMA](/library/indicator/ema) moves the same fraction of the gap towards price every bar, whichever side price is on. The McGinley Dynamic changes that fraction with the ratio of price to the line, moving faster towards falling prices and slower towards rising ones.
Yes, the length. The indicator has one input, length, default 14 with a minimum of 1. Open the indicator's settings on the chart to change it. There is no source input: the line is always calculated on the close.
The default is 14. A lower length lets the line move further each bar and track price more closely; a higher one smooths more. Choose the length for the timeframe you trade and test it.
Values on closed bars are not revised. The current candle's value moves while that candle is live and settles when it closes. Because each value builds on the previous one from a starting average, loading older history recalculates the line and values near the start of the loaded range can shift.
Use the Add to chart button at the top of this page. It opens BTC/USDT on Binance in the Altrady Charts terminal with the built-in McGinley Dynamic already applied. On any other market, open the indicator picker on the chart and choose McGinley Dynamic from the Moving Average group.