The macd 3 color indicator asks a question two colours cannot answer. A positive histogram bar can be growing or shrinking. Those mean different things. This build splits the positive side in two, so strong and weak each get a colour, with everything negative in a third.
This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD H1.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Separate window (levels 0) |
| Plots | 3: MACD Strong Bull, MACD Weak Bull, MACD Bearish |
| Alerts | popup, push notification, email, sound |
| Inputs | 10 |
What the MACD 3 Color Indicator draws on the chart
MACD Strong Bull is the lime histogram for a positive bar that grew.
MACD Weak Bull is the goldenrod histogram for a positive bar that shrank.
MACD Bearish is the crimson histogram for anything below zero.
A reference line marks zero.
- MACD Strong Bull: histogram, lime, width 3
- MACD Weak Bull: histogram, goldenrod, width 3
- MACD Bearish: histogram, crimson, width 3

How the MACD 3 Color Indicator calculates its values
Reading two bars
iMACD supplies main and signal at `InpFastPeriod` `12`, `InpSlowPeriod` `26` and `InpSignalPeriod` `9`. It reads the current bar and the one before. Both differences then get computed.
Choosing the state
hist_now takes main minus signal. Below zero the crimson buffer takes it. Above zero the code compares hist_now with hist_prev. A growing bar goes to lime and a shrinking one to goldenrod.
One bar per index
Only one of the three buffers holds a value at any index, and the other two hold EMPTY_VALUE. That keeps the pane auto-scale healthy and guarantees exactly one bar draws per position.
How to read the signals
Goldenrod is the useful colour. It marks positive momentum fading.
A run of lime bars means the gap is widening.
Everything below zero shares one colour, so that side has less detail.
The colour changes before the bar crosses zero, which is the point.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
`EnableAlerts` ships enabled, with `EnablePopup` handling delivery. `EnablePushNotify`, `EnableEmail` and `EnableSound` all start false. `SoundFile` picks the clip. The state test reads two completed bars, one message per bar.
Every MACD 3 Color Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
InpFastPeriod |
Fast average length, default `12`. | 12 |
InpSlowPeriod |
Slow average length, default `26`. | 26 |
InpSignalPeriod |
Signal average length, default `9`. | 9 |
InpAppliedPrice |
Price the calculation reads, default PRICE_CLOSE. | PRICE_CLOSE |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Master switch for the state change alerts, default `true`. | on |
EnablePopup |
Terminal dialog on a state change, default `true`. | on |
EnablePushNotify |
Phone push on a state change, default `false`. | off |
EnableEmail |
Mail delivery on a state change, default `false`. | off |
EnableSound |
Sound playback on a state change, default `false`. | off |
SoundFile |
Wav clip for the state alert, default `alert.wav`. | alert.wav |

Settings that fit your chart
Three states need a pane with enough bars to show the shifts. EURUSD H1 is the reference chart, where `InpSlowPeriod` at `26` covers a day. On M5 the colour flickers between lime and goldenrod. On H4 each state holds for a useful stretch.
When the MACD 3 Color Indicator fails
The bearish side gets one colour. A fading negative bar looks like a deepening one.
A single-bar dip turns lime into goldenrod, which is often just noise.
Every state still comes from two lagging averages.
Copy the compiled MACD 3 Color Indicator file into your MQL4/Indicators folder, and the MT5 build into MQL5/Indicators, then restart the terminal and drag it onto a chart. The step-by-step guide with screenshots is at how to install MT4 and MT5 indicators.
Download the MACD 3 Color Indicator for MT4 and MT5
The zip holds the compiled MACD 3 Color Indicator build for MT4 and MT5, plus a short README. Compiled files only, no source. Enter your email below and the download link arrives in your inbox.
Download this indicator free
Enter your email and the file is yours. You also get the full MT4 and MT5 library.
FAQ
What separates MACD Strong Bull from MACD Weak Bull?
Whether the bar grew. Both are positive histogram values. Lime means the current reading beat the one before it. Goldenrod means it fell short. That single test is the whole difference.
Why does MACD Bearish get only one colour?
Because the build splits the positive side only. A deepening negative bar and a fading one both draw crimson. That is a real limit. It makes the tool more useful above zero than below it.
Is one MACD Weak Bull bar meaningful?
Rarely. One bar of fading momentum happens constantly, above all on fast charts. A run of them is the part worth noticing, since it means the gap has been closing for several bars.
Does InpAppliedPrice affect the colours?
Indirectly. It sets the series the whole calculation reads. That shifts both lines, and so the histogram moves with them. Colour boundaries shift too, though the strong and weak rule stays the same.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the MACD 3 Color Indicator as one input. Always backtest before trading live.
Category: this is part of our Oscillators collection. Also, truly, browse more Oscillators for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- Learn more about the underlying method in Issuer on Wikipedia.
- For wider market background, see S And P 500 Sector And Industry Groups at StockCharts ChartSchool.
