All posts
PublishedUpdatedByGMMAmoving averagesribbonindicatorbacktestUSD/JPY

GMMA Tested 216 Ways: Do 12 Moving Averages Beat 2?

We thinned each GMMA ribbon from six lines to one while holding its mean period fixed across 216 USD/JPY runs. One line beat six in 21 of 36 matched comparisons.

GMMA (the Guppy Multiple Moving Average) draws twelve exponential moving averages at once. The short ribbon (3, 5, 8, 10, 12, 15) is usually described as the short-term traders and the long ribbon (30, 35, 40, 45, 50, 60) as the longer-term investors.

The claim is not that a fast average crossing a slow one is worth trading. Two lines already say that. What GMMA claims is that twelve lines show you something two cannot: whether both groups agree, or whether one of them is hesitating.

Each ribbon's mean period is pinned at 9 and 45 while the number of lines drops from six to one. At one line apiece the ribbons disappear and what is left is a plain EMA 9 / EMA 45 crossover. Same speed, no fan. Any difference belongs to the fan.

The answer first. The test found no benefit from twelve lines. One line beat six in 21 of 36 matched runs; median net was +1,313.5 pips with one line and +1,371.5 with six.

−0.5k0+0.5k+1k+1.5k+2k123456lines per ribbon (6 is Guppy's own)
M15H1H4mean of 3 triggers x 2 years; USD/JPY, 0.1 lot
Taking lines out of the ribbon does not cost anything. Across all 36 matched runs the rank correlation between line count and net pips is 0.023.

What GMMA measures

There is no GMMA formula. It is exponential moving averages, and the only decision is which periods, and how many of them.

The ladder used here keeps the mean period fixed as the count falls:

LinesShort ribbonLong ribbon
6 (Guppy's own)3, 5, 8, 10, 12, 1530, 35, 40, 45, 50, 60
53, 6, 9, 12, 1530, 38, 45, 53, 60
43, 7, 11, 1530, 40, 50, 60
33, 9, 1530, 45, 60
23, 1530, 60
1945

Every row's short ribbon averages 9.0 periods (8.83 on the six-line row, which uses Guppy's exact numbers) and every long ribbon averages 45.0 (43.33 on the six-line row). The one-line row and the six-line row are looking at averages of the same speed.

That matters. Thinning from the front (keeping only 3, 5 and 8) would drop the mean period to 5.3, and then a worse result could be blamed either on the missing fan or on the extra speed. Holding the endpoints fixed removes the second explanation.

A one-line GMMA is an EMA crossover

With one line per ribbon, the "cross" trigger compares the short average against the long average, which is an EMA 9 / EMA 45 golden and dead cross.

The test confirms it exactly. On the 2025 hourly chart, the one-line GMMA took 184 trades for +393.5 pips. An EMA 9 / 45 crossover built separately took 184 trades for +393.5 pips. Thinning the ribbon terminates in the crossover everybody already knew.

How to add GMMA to a chart

It is twelve moving averages, so it can always be assembled by hand.

PlatformSteps
MT4 / MT5Not included. Either stack twelve moving averages and set the periods and colours, or find a GMMA file to install
TradingViewAdd Guppy Multiple Moving Average from the indicator search
Browser (Formiq)Included; the backtest side exposes all three triggers and the number of lines per ribbon

If you are placing twelve averages by hand, the periods are yours to choose. On the evidence in the table below, thinning them while holding the mean period barely moves the result, so the work of placing twelve is not, in this test, buying anything.

How this was measured

The settings, at the resolution a reader needs to reproduce them.

ItemValue
PairUSD/JPY
Period2025-01-01 to 2025-12-31, with 2024 run identically for comparison
TimeframesM15 / H1 / H4
TriggersCross (the two averages meet), Expansion (the gap widens), All-above (every short line clear of every long line)
Lines per ribbon1, 2, 3, 4, 5, 6, with the mean period held at 9 and 45
Combinations3 triggers x 6 counts = 18 per timeframe per window; 216 runs in total
ExitThe opposite signal — entry and exit share one rule set
Stops and targetsNone, except in the section that measures them
Spread0.3 pips, zero slippage, 0.1 lot, charged on both fills
Ribbon stateFor each trade, the gap between ribbons, both ribbon widths, and whether the long ribbon was in strict order, read on the bar before the fill (5,217 records)
MeasurementRun through Formiq's backtest engine; pips recomputed from each individual fill

Do you need all twelve lines?

Thinning the ribbon to one line cost nothing. Mean net pips across all three triggers and both years, by line count:

LinesM15H1H4
1+1,719+680+487
2+1,830+441−1
3+1,797+617+70
4+1,742+538+86
5+1,749+560+65
6+1,880+645+138

No column climbs. M15 wanders between 1,719 and 1,880; H1 between 441 and 680.

Matched one against one (same timeframe, year and trigger) one line beat six in 21 of 36 comparisons, with a mean difference of +124.9 pips in the one-line direction.

By median: one line +1,313.5 pips, six lines +1,371.5. Whatever the other ten lines add, it is smaller than this test can measure.

The figure at the top is that table. The four-hour line jumps at one line, but that is the four-hour chart inverting between the two years, not the fan doing something.

Which timeframe does GMMA work on?

Only the 15-minute chart held together. Settings profitable in both 2024 and 2025, out of 18 per timeframe:

TimeframeYearProfitable settingsMedian netPositive in both years
M15202518 / 18+1,703.6 pips18 / 18
M15202418 / 18+1,917.9 pips18 / 18
H1202514 / 18+221.9 pips14 / 18
H1202418 / 18+1,067.7 pips14 / 18
H420250 / 18−1,719.0 pips0 / 18
H4202418 / 18+2,100.2 pips0 / 18

Every 15-minute setting made money in both years: the most uniform cell in the seventeen articles of this series.

The published trend-following setting (cross, six lines) took 831 trades in 2025 at a 27.32% win rate for +1,703.6 pips, with an average win of 55.02 pips against an average loss of 17.86. One average win covered about 3.1 average losses. Trades were held 42 bars (ten and a half hours) so this is not scalping.

The four-hour chart inverted completely. All 18 settings made money in 2024 (median +2,100.2) and all 18 lost in 2025 (median −1,719.0). The two-line cross changed from +2,334.6 pips in 2024 to −2,419.9 in 2025.

The three triggers compared

Three readings of the same ribbons, both years pooled:

TriggerMean win rateMedian net pipsMean tradesMean bars held
Cross26.52%+1,468.436442.7
Expansion29.14%+1,313.532148.3
All-above32.76%+1,345.420976.1

All-above trades least often (57% of the cross's count), wins most often (6.2 points above the cross), and holds longest, exactly what tightening a condition produces. The cross has the highest median, and the three are within 150 pips of each other.

Does a wide ribbon mean a strong trend?

It does raise the win rate. All 5,217 trades were split into quartiles by the gap between the ribbons on the bar before the fill:

10%20%30%40%Q1Q2Q3Q4gap between the ribbons at entry (narrow to wide)
M15 · n=995H1 · n=239H4 · n=69trades per quartile; all three triggers, 2024 and 2025
The one claim that held: the widest quartile has the highest win rate on all three timeframes. The climb is not smooth — the four-hour chart dips at Q2 on 69 trades.
TimeframeQ1 (narrowest)Q2Q3Q4 (widest)
M15 (995 each)24.32%28.04%29.05%32.96%
H1 (239 each)22.18%27.20%35.98%35.98%
H4 (69 each)21.74%15.94%30.43%34.78%

The widest quartile won most often on every timeframe, by 8.64 points on M15, 13.80 on H1 and 13.04 on H4. The relationship held on M15, H1 and H4.

Win rate and money part company, though:

TimeframeQ1Q2Q3Q4
M15+3.96 pips+2.58+2.85+2.06
H1−3.68 pips+1.83+7.08+12.15
H4−5.62 pips−34.82+24.73+34.48

M15 points the other way. The win rate climbs while the average win falls from 3.96 to 2.06 pips: entering once the ribbons have already separated is more likely to work and has less left to capture. On the hourly and four-hour charts both measures move together.

Is the long ribbon's order useful?

It told us nothing here. A common reading is that a long ribbon in strict order means a real trend: investors agreeing, 30 above 35 above 40 and so on.

The long ribbon was already in order on most bars:

Timeframe and yearBarsLong ribbon in order
M15 202524,90385.18%
M15 202424,99985.39%
H1 20256,22686.35%
H1 20246,25085.74%
H4 20251,61085.09%
H4 20241,61690.47%

It holds on about 85 bars in 100. Six EMAs of similar length rarely fall out of sequence. A condition true 85% of the year cannot filter anything.

Splitting trades by it does not point one way either:

TimeframeIn orderNot in order
M153,020 trades, 28.48% win, +1.70 pips961 trades, 28.93% win, +6.39 pips
H1742 trades, 27.49% win, −0.81 pips216 trades, 39.81% win, +20.71 pips
H4225 trades, 24.44% win, +5.78 pips53 trades, 30.19% win, −8.90 pips

Two of the three timeframes did better when the ribbon was not in order. On the hourly chart that is 12.32 points of win rate and 21.52 pips a trade. The four-hour chart disagrees on 53 trades.

Does compression precede a big move?

It did not. The other piece of folklore: the ribbon squeezes, then a big move follows. That is a statement about price rather than a trading rule, so no backtest is needed.

Adding both ribbon widths together, the narrowest tenth of bars counts as compressed. Mean absolute move over the following 24 bars:

04080120160M15 2025M15 2024H1 2025H1 2024H4 2025H4 2024mean move over 24 bars (pips)
after the narrowest tenth of barsafter every other bar
Compression did not lead anywhere. Across all 24 timeframe, year and horizon combinations the move after a squeeze was the larger one in three.
Timeframe and yearAfter a squeezeAfter every other bar
M15 202530.61 pips (2,491 bars)32.71 pips (22,388 bars)
M15 202423.56 pips (2,500)32.94 pips (22,499)
H1 202568.27 pips (618)68.41 pips (5,584)
H1 202447.60 pips (626)73.69 pips (5,624)
H4 202585.83 pips (147)134.22 pips (1,439)
H4 2024153.56 pips (162)145.58 pips (1,454)

Five of the six moved less after a squeeze. Widening the horizon to 6, 12, 24 and 48 bars gives the same picture: in 21 of 24 combinations the post-squeeze move is the smaller one.

Quiet following quiet is an ordinary property of price and has nothing to do with GMMA. "Compressed means coiled" came out backwards here.

One thing did point somewhere, and it is direction rather than size. Measuring the next 24 bars along the side the ribbons were already leaning, the 15-minute post-squeeze move is +6.31 pips against +0.24 for every other bar. Small, but persistent in the existing lean. The hourly 2024 cell reads −8.50 and disagrees, so this does not survive both years.

Does the 2024 winner hold in 2025?

The 15-minute one did; the four-hour one changed sign.

TimeframeTriggerLines2024 trades2024 net2025 net
M15All-above2436+2,304.6 pips+1,404.1 pips
H1Cross1173+1,209.7 pips+393.5 pips
H4Cross241+2,334.6 pips−2,419.9 pips

All 18 M15 settings were positive in both years, and this setting also retained +1,404.1 pips in 2025. On H4, the same setting changed from +2,334.6 to −2,419.9 pips.

Filters and stops

Applied to the 15-minute cross on six lines. Trade count, then net pips.

ConditionYearTradesNet
None2025831+1,703.6 pips
None2024821+2,067.4 pips
ADX ≥ 202025113−769.3 pips
ADX ≥ 202024120+735.1 pips
ADX ≥ 25202568−474.8 pips
ADX ≥ 25202475−352.6 pips
ADX ≥ 30202520−199.6 pips
ADX ≥ 30202430−335.3 pips
London and New York2025441+1,524.9 pips
London and New York2024435+382.4 pips
Tokyo2025321+799.8 pips
Tokyo2024310+1,186.2 pips

The ADX filter did more damage than anything else in this test. It cuts 831 trades to 113 and turns +1,703.6 pips into −769.3. At ADX 25 both years lose. A trend filter on a trend indicator subtracts, which reads as the two conditions asking the same question twice.

The session filters both came in under the baseline without turning negative.

Stops and targets:

Exit ruleYearTradesNet
Opposite signal2025831+1,703.6 pips
Opposite signal2024821+2,067.4 pips
Stop 20 / target 402025730+1,115.7 pips
Stop 20 / target 402024731+335.8 pips
Stop 30 / target 602025768+2,039.9 pips
Stop 30 / target 602024757+1,020.0 pips
Stop 50 / target 1002025813+1,512.3 pips
Stop 50 / target 1002024796+757.3 pips
48-bar time exit2025827+2,036.1 pips
48-bar time exit2024815+1,409.4 pips

Nothing beat the baseline in both years. The 30/60 stop and the 48-bar exit each improve 2025 and take about a thousand pips out of 2024. The baseline depends on an average win of about 55 pips against an average loss of about 18 pips, and a fixed exit removes part of that difference.

What it pays in spread

Re-running 2025 on the 15-minute chart with only the spread changed:

SpreadNet pips
0.0+1,952.9
0.3+1,703.6
0.6+1,454.3
1.0+1,121.9
1.5+706.4
2.0+290.9
3.0−540.1

The trade count stays at 831. Going from 0 to 3.0 pips costs 2,493.0 pips, which is exactly 831 × 3.0: the identity that has held in all seventeen articles.

Break-even sits at 2.35 pips, between +290.9 at 2.0 and −540.1 at 3.0. Eight hundred trades a year on a 15-minute chart still leaves room at a realistic USD/JPY spread. This is the first 15-minute trading rule in the series with enough gross profit to remain positive after those costs. Its average holding time is 42 bars, or ten and a half hours, so the average move per trade is many times the spread.

The part about twelve lines revealing something is not supported. The gap between the ribbons, read as a win-rate gauge, is.

Moving average crosses measure the crossing itself rather than the fan around it. Perfect order requires all three averages to be stacked and found a different surviving calculation on each timeframe. Bollinger Bands and RSI also produced profitable rules with low win rates because their average wins exceeded their average losses. Fibonacci retracements test each level against neighbouring non-Fibonacci levels. CCI also lost annual net when an ADX filter was added. The base-rate problem repeats in the Alligator, whose three lines are stacked in order for 80% of the year, and reaches its limit in fair value gaps, where the famous 99% fill rate turned out to be 99% on ordinary bars too. If you would rather check this on your own pair, the conditions can be built without writing code.

Notes

  • One pair, USD/JPY, and two years. Nothing here guarantees the same behaviour elsewhere
  • The two years are very different. 2024 rose 1,632 pips within a 2,237-pip range; 2025 finished 56 pips lower within a 1,900-pip range. A trend follower profitable in both years on M15 is still resting on those two years
  • There is one way of thinning the ribbon here. Endpoints (3–15 and 30–60) are held and the interior is spaced evenly, so the mean period does not move. Thinning from the front or keeping only the middle would give different numbers
  • The six-line row uses Guppy's exact periods, so its means are 8.83 and 43.33 rather than the 9.0 and 45.0 of every other row
  • Ribbon state is read one bar before the fill, so the trade's own move cannot leak into the feature
  • "Compressed" is the narrowest tenth within each period: a relative definition. An absolute width would give different counts
  • Entries and exits use bar closes. Real fills differ
  • The spread is held at 0.3 pips throughout. Real spreads move with the session and with releases
  • Volatility varies by hour, which the session filter results inherit

Questions people ask

Do you need all 12 GMMA lines?
This test could not find a use for all twelve. Holding each ribbon's mean period at 9 and 45, one line beat six in 21 of 36 matched runs. Median net was +1,313.5 pips with one line and +1,371.5 with six. A one-line GMMA and an EMA 9 / EMA 45 crossover both took 184 trades for +393.5 pips on the 2025 hourly chart.
What timeframe does GMMA work on?
Only the 15-minute chart held up in both years. All 18 M15 settings were profitable in 2024 and 2025, with medians of +1,917.9 and +1,703.6 pips. The hourly chart kept 14 of 18 and the four-hour kept none: every four-hour setting made money in 2024 and every one lost in 2025.
Does a wide GMMA ribbon mean a strong trend?
For win rate, yes. Splitting trades into quartiles by the gap between the ribbons at entry, the win rate ran 24.32% to 32.96% on the 15-minute chart, 22.18% to 35.98% on the hourly and 21.74% to 34.78% on the four-hour: widest quartile highest every time. On M15 the average win shrank from 3.96 to 2.06 pips as the win rate rose.
Does a compressed GMMA ribbon lead to a big move?
It did not. Taking the narrowest tenth of bars by combined ribbon width and measuring the next 24 bars, the 15-minute 2024 move averaged 23.56 pips against 32.94 after every other bar. Across 24 combinations of timeframe, year and horizon, the move after a squeeze was the larger one in three.
How do I add GMMA to MT4?
It does not ship with the platform. In MT4 and MT5 you either stack twelve moving averages and set the periods and colours yourself, or find a GMMA file to install. TradingView has Guppy Multiple Moving Average in its indicator search. Formiq carries it on the chart and, on the backtest side, exposes all three triggers plus the number of lines in each ribbon.

Formiq is a free browser-based FX terminal with replay practice and no-code backtesting. Open the chart or see what the free plan includes.