Stacked Ribbon Signals MT4
- Indicatori
-
Minh Truong Pham
Hello, my name is Pham and I am a programmer and trader! At here, I create amazing forex indicators and expert advisors for Metatrader.
I will try:
+ Provide best tools base on my 5 years experience as a trader and 10 years as a programmer. - Versione: 1.0
- Attivazioni: 10
Most EMA ribbon indicators call it a trend as soon as the fast line is above the slow one. That's two lines out of six doing all the work, and it's why a "trend" ribbon can look like a plate of noodles while still printing arrows. Stacked Ribbon Signals only calls a trend when all six averages sit in order, and it marks the one bar where that order completes.
So it's quiet. On the EURUSD H1 screenshot below, three weeks of price get three marks. If you want an arrow on every swing, this is the wrong tool.
Where the usual ribbon tools drift
| What a ribbon is supposed to say | What most tools implement | What Stacked Ribbon Signals does |
|---|---|---|
| A trend means every average is in order, fastest to slowest | Colour by fast EMA above slow EMA, the middle lines ignored | All five neighbouring pairs must be in order. One pair out of place and the ribbon turns grey |
| The event is the moment the order completes, not the state | An arrow on every bar while in trend, or on any two-line cross | One mark, on the bar where the stack completes |
| A pullback that briefly unstacks the ribbon is not a new trend | Fires again every time the ribbon restacks | No repeat: a second BUY needs a SELL in between, and the other way round |
| A bar isn't finished until it closes | Arrows painted live, then gone when the bar closes differently | Evaluated on closed bars only, never on the forming bar |
| A quiet-market filter should mean the same thing on gold and on EURUSD | Minimum ATR typed as a price, so 0.5 blocks every signal on a forex pair | Minimum ATR in points, so one setting works on any symbol |
| Wilder's ATR uses his own smoothing | MetaTrader's built-in ATR is a simple average of true range | Wilder's smoothing written out directly |
The third row is the one that costs money. In a strong trend the ribbon compresses on every pullback, a middle pair crosses for a bar or two, then it restacks. A tool that fires on each restack hands you a fresh BUY near the top of every leg, which is exactly where you don't want to be adding. Here the first stack gets the mark and the rest of that trend stays silent.
What it draws
The ribbon. Six EMAs, 30, 35, 40, 45, 50 and 60 by default, thicker on the fast side. Green when fully stacked up, red when fully stacked down, grey for everything in between. Grey is information too. It means the averages disagree, and on this tool that's most of a ranging week.
Signal marks. A green arrow with BUY under the bar, a red arrow with SELL above it. Three things on the same closed bar: the ribbon has just become fully stacked, the last mark was in the other direction (or there wasn't one), and ATR is above your minimum.
Trade levels. Every mark latches the close as Entry and draws SL and TP1 to TP4 from it. The stop is a percentage of price, 0.25% by default, and the targets are multiples of that distance, 1, 2, 3 and 4 times. The zone between Entry and SL is shaded red and the zone out to TP4 green, blended with your chart background so it works on a white or a black chart. Only the newest set is kept. When the next mark prints, the old set goes.
A timeframe dashboard. Five rows, M15 to D1 by default, each saying Bullish or Bearish from EMA 20 against EMA 50 on that timeframe.
It doesn't draw support and resistance, order blocks, volume, or a lot-size calculator. It doesn't track whether TP1 was hit, and it doesn't keep old level sets on the chart.
The dashboard
STACKED RIBBON M15 Bearish M30 Bearish H1 Bearish H4 Bearish D1 Bullish
That's the panel from the XAUUSD M15 screenshot. The rows are context, not a signal, and the marks don't wait for them to agree. It reads the current bar of each timeframe, so a row can flip while that bar is still open. Everything else on the chart is decided on closed bars, the dashboard is the one live part.
Alerts
One alert when a signal bar closes, carrying the entry, the stop and TP1. A guard stops the same message going out twice on the same bar. MT5 can deliver it as a terminal alert, email, MetaTrader mobile push, Telegram, or Telegram with a chart screenshot. MT4 has the terminal alert, push and email.
How to read it
| On the chart | Read it as |
|---|---|
| Ribbon turns fully green, BUY arrow | The six averages just lined up upward on a closed bar |
| Ribbon turns fully red, SELL arrow | The same thing downward |
| Grey ribbon | The averages disagree, no trend by this definition |
| Ribbon goes grey then green again, no arrow | A pullback inside the trend that already has its mark |
| Blue line, red line, four green lines | Entry, stop and TP1 to TP4 of the newest mark |
| Dashboard column | EMA 20 against EMA 50 on each timeframe, right now |
Long: wait for a BUY on a closed bar. Check the H4 and D1 rows. If both say Bearish you're buying against the bigger picture, and I'd want a reason to do that. Then drop to your execution chart, take your own trigger near the entry line, and treat TP1 and TP2 as the realistic targets, with TP3 and TP4 for the days a trend actually runs. Short is the same thing inverted.
Skip it when the ribbon has been grey and braided for a day or more. Stacks that form out of a flat ribbon flip back quickly, and a mark followed by the opposite mark within a handful of bars is the usual result. Skip it too when the arrow prints a long way from the ribbon after a single huge candle. The stack completed late, the move already happened, and the stop is sitting inside the candle that got you there.
What this version can't do
It's late by design. The slowest average is a 60 EMA, and the stack only completes after a move has been going for a while. On a sharp V-shaped turn you'll get the mark after a good part of the move is gone. That's the price of not being fooled by every wiggle, and there's no setting that gets you one without the other.
The stop is a percentage, and a percentage doesn't know what timeframe you're on. On GBPUSD M15, 0.25% came out at 33.8 pips, which is far too wide for that chart. On gold H1 it's about 11 dollars, which is sensible. Tune it per symbol and timeframe, the default is a starting point for H1.
Minimum ATR in points isn't universal either. Some brokers quote gold with two digits and some with three, which is a factor of ten in what a point is. Check yours once.
The dashboard always uses EMA 20 and 50. It doesn't follow the ribbon lengths you set.
You won't find a win rate table in this listing, and I'd treat any indicator listing that has one with some care. This marks bars and draws levels. What you do after that decides the outcome.
Honestly, the slow part wasn't the logic, it was proving it. I wrote the calculation three separate ways and ran them against each other on 66 parameter sets and 1,554 signals until every bar agreed.
Questions you'll have
Does it repaint? The marks and levels don't. They're only evaluated once a bar has closed, and the state that blocks repeats is stored per bar, so reloading the chart gives you the same marks. The dashboard is live on purpose, as above.
Which timeframe? H1 is where I'd start, H4 if you don't want to watch it. M15 works on gold, but shrink the stop percentage.
M1? You can, and I wouldn't. The ribbon is too slow for it to mean much there.
Can my EA read it? Yes. On MT5, buffer 17 holds +1 or -1 on the signal bar, 18 the entry, 19 the stop, 20 to 23 TP1 to TP4, and 14 the ribbon state. On MT4 the same values sit in buffers 30, 31, 32, 33 to 36 and 27.
MT4 or MT5? Same logic, bar for bar. MT4 draws each coloured EMA as three joined lines because MQL4 has no multi-colour line, which you won't notice on the chart. The difference you will notice is alerts: Telegram delivery is MT5 only.
Support
Message me on MQL5 with a screenshot of the chart plus the symbol and timeframe. That's usually enough for me to tell you what happened. Updates are free.
Analysis tool. It places no trades and makes no profitability claim. Past price behaviour is not a guide to future price behaviour.
