ads banner

MTF MACD MT4 Indicator – Download for Free

Download for free the MTF MACD MT4 indicator and learn how to use it. This fantastic indicator will show the trend of 4 different time frames.

The MACD is an excellent trend indicator coded in MQL, and its multi time frame usage is undoubtedly a good idea.

You can find and download our MTF MACD MT4 Indicator for MetaTrader4 for free at the end of this page. We only ask you to follow us on our channels to help us grow. We will also show you the code in MQL for creating the indicator.

ads banner

Many traders have realized how important it is to adopt a multi-timeframe approach, and the MACD indicator is among the most used ones.

Unfortunately, MetaTrader does not provide the MTF MACD indicator. You can find and download our Multi Time Frame MACD Indicator for MetaTrader4 for free at the end of this page. We only ask you to follow us on our channels to help us grow.

The MTF MACD MT4 indicator indicates the trend of all the main timeframes. No matter what timeframe you are on, you will always indicate how the MACD behaves on the following time frames:

  • Daily
  • H4
  • H1
  • M15

The first line of the MTD MACD, the one closest to the graph, represents the daily timeframe, representing the highest timeframe.

MTF MACD for Metatrader MT

We then set an H4 timeframe in the second line below the daily line and an H1 timeframe below the H4 timeframe.

Finally, the fourth row represents an M15 timeframe.

MTF MACD Indicator for MetaTrader
ads banner

How to use the MTF MACD indicator

We can use this indicator as a trend filter or as an input signal. We certainly prefer to use it as a trend filter as we do not believe that the MACD can give interesting signals if used alone.

Anyway, let’s see how to use it in both ways, even with practical examples.

How to filter the trend

Before entering a trade, it is always important to know that the trend direction and MTF MACD are helpful indicators.

We are not only interested in knowing the direction of the time frame we are using, but we may also need to know what happens in the upper and lower time frames.

We need to know the higher time frame trend because it is never an excellent idea to open operations against the trend, especially in a trend-following strategy.

MTF MACD MT4 provides us with a reasonably truthful indication and allows us to avoid one of the most common errors.

To perfect the entry timing, it would be essential to know how the price behaves in the lower timeframe.

Suppose we are on an hourly GBPUSD chart and want to open a trade long. Through our MTF MACD indicator, we will check the daily trend and H4 to verify that it is bullish.

Once we are sure not to go against the main trend, we will look at the lower time frame (the last row of the indicator). If this time we get an indication of a bearish trend, the best thing to do is to wait for the trend to rise again in this timeframe and, only at this point, open the trade.

This expedient allows us to avoid finding ourselves in all those situations in which the price is reversing, but it is not yet clear in our reference time frame.

Certainly, a more experienced trader would still notice the probable reversal through the observation of the candles. Still, a novice trader can certainly take advantage of using the MTF MACD MT4 indicator.

Use MTF MACD MT4 as an input signal.

As we said, we don’t like to use the indicator in this way, but we will explain to you what this system consists of.

In practice, an alignment in the MTF MACD of all time frames in one direction is expected and trade opens in that direction.

This type of trading strategy is pure trend follower and no longer works so well in current markets.

There are perhaps still little liquid exchange rates, the so-called exotic exchange rates, which could still present trends that can be translated with this strategy. It will undoubtedly be challenging to obtain excellent results on the cross majors.

More about MACD on Investopedia.

ads banner

MetaTrader4 MQL Code

#property copyright "Finance Strategy System"
#property link      ""

#property indicator_separate_window
#property indicator_minimum -1
#property indicator_maximum 6
#property indicator_buffers 8
#property indicator_color1 Green
#property indicator_color2 Green
#property indicator_color3 Green
#property indicator_color4 Green
#property indicator_color5 Red
#property indicator_color6 Red
#property indicator_color7 Red
#property indicator_color8 Red
//---- input parameters
extern int       FastEMA=5;
extern int       SlowEMA=45;
//---- buffers
double UpBuffer_M15[];
double UpBuffer_H1[];
double UpBuffer_H4[];
double UpBuffer_D1[];
double DownBuffer_M15[];
double DownBuffer_H1[];
double DownBuffer_H4[];
double DownBuffer_D1[];

datetime dt15[200], dth1[200], dth4[200], dtd1[200];   

//| Custom indicator initialization function                         |
int init()
//---- indicators
   IndicatorShortName("Finance Strategy System MTF MACD("+FastEMA+","+SlowEMA+")");
//| Custom indicator deinitialization function                       |
int deinit()
//| Custom indicator iteration function                              |
int start()
   int    counted_bars=IndicatorCounted();
   int limit, shift;
   if(counted_bars<0) return(-1);
   if (counted_bars==0) limit=Bars-1;  // limit = Bars-MinBars-1;
//---- last counted bar will be recounted
   if(counted_bars>0) limit=Bars-counted_bars;

   int i15 = 0, ih1 = 0, ih4 = 0, id1 = 0;

   static bool fft = true;
   //if (NewBar()) // Update array every 15 minutes
   if ((fft) && (Symbol() == "EURUSD"))
      fft = false;
      datetime d = iTime(NULL, PERIOD_D1, 0);
      for (int j=0; j<80; j++)
         Print(j,") ",dt15[j]-d," ",dth1[j]-d, " ", dth4[j]-d," ", dtd1[j]-d);
   for(int i=0; i<limit; i++)
      datetime ddt = iTime(NULL, 0, i);
      if (ddt<dt15[i15]) i15++;
      if (ddt<dth1[ih1]) ih1++;
      if (ddt<dth4[ih4]) ih4++;
      if (ddt<dtd1[id1])  id1++;
      double macd_m15 = iMACD(NULL,PERIOD_M15, FastEMA,SlowEMA,1,PRICE_CLOSE, MODE_MAIN,i15);
      double macd_h1 = iMACD(NULL,PERIOD_H1, FastEMA,SlowEMA,1,PRICE_CLOSE, MODE_MAIN,ih1);
      double macd_h4 = iMACD(NULL,PERIOD_H4, FastEMA,SlowEMA,1,PRICE_CLOSE, MODE_MAIN,ih4);
      double macd_d1 = iMACD(NULL,PERIOD_D1, FastEMA,SlowEMA,1,PRICE_CLOSE, MODE_MAIN,id1);
      UpBuffer_M15[i] = -40;    DownBuffer_M15[i] = -40; 
      UpBuffer_H1[i] = -40;    DownBuffer_H1[i] = -40; 
      UpBuffer_H4[i]  = -40;    DownBuffer_H4[i]  = -40; 
      UpBuffer_D1[i]  = -40;    DownBuffer_D1[i]  = -40; 

      if (macd_m15 > 0) UpBuffer_M15[i] = 1; if (macd_m15 < 0) DownBuffer_M15[i] = 1;
      if (macd_h1 > 0) UpBuffer_H1[i] = 2; if (macd_h1 < 0) DownBuffer_H1[i] = 2;
      if (macd_h4 > 0) UpBuffer_H4[i]   = 3; if (macd_h4  < 0) DownBuffer_H4[i]  = 3;
      if (macd_d1 > 0) UpBuffer_D1[i]   = 4; if (macd_d1  < 0) DownBuffer_D1[i]  = 4;

ads banner

Free Download MTF MACD MT4 Indicator

ads banner

- Advertisement -

Related Articles