The Best MT4 Support & Resistance Indicator (I hope)

Babypips Support and Resistance Indicator.ex4 (497.5 KB)

Hi everyone, (warning, long article ahead)

I am really tired of having to draw support/resistance lines each time I load a chart so I’ve created what I hope is the best Support & Resistance indicator for MT4.

I have used support & resistance combined with Fibonacci retracements & extensions to trade really profitably. Many indicators out there just draw a bunch of lines for you and don’t factor in higher time frames and proper filtering of level.

Anyway, I’ve spent a long time creating this support and resistance indicator and am letting everyone use it on 3 of the most popular traded pairs: EURUSD, GBPUSD, USDJPY

I’ll be making babypips as the official support forum of this indicator because my website has crap structure and wouldn’t be able to handle the responses and feedback.

I always want to further improve this indicator so it’s the best out there. So please send in your suggestions and I’ll do my best to accommodate to them.

Let us first properly define what Support and Resistance levels are before moving further (to avoid any confusion).

Support = any level that is below price.

Resistance = any level that is above price.

Most of the time when we look for support and resistance indicators for Metatrader 4 (MT4), we get an indicator that draws a whole bunch of lines at every swing high and swing low and it turns it into an absolute mess. We’re left staring at the mess and scratching our heads in finding our how exactly to calculate important support and resistance levels.

There simply isn’t a proper way to filter out which lines are stronger, which are weaker and which should be completely ignored.

How this indicator is different from the others.
What makes this support vs resistance indicator different from all the hundreds others out there is that it filters out a lot of the weak levels and on top of that, it doesn’t only find support and resistance levels, but instead more importantly, find support and resistance areas.

Now, this is not some “demand/supply zone” indicator which many people are familiar with, it’s way better than that.

Using areas (instead of lines) gives us a much better idea on which levels to watch out for. After years of testing, the most important support and resistance levels can be broken down into these 3 :

1. Swing highs / Swing Lows
These are levels where price just reacts and bounces off multiple times. The more times price reacts off these levels, the stronger they are. Here’s a picture of how swing highs look like :

2. Pullback Resistance / Pullback Support
Pullbacks occur when a swing high/low has been broken - then price makes a “pullback” to the level. In the picture below, you can see that once our swing high resistance is broken, it turns into an “overlap support”.

3. Overlap Resistance / Overlap Support
An overlap support/resistance can only occur when price has broken a swing high/low and made a pullback to the pullback support/resistance. Only after price has bounced off our pullback support/resistance, then it turns into an overlap support/resistance. You can similarly refer to the picture above to better understand.

Remember: Resistance is always above price. Support is always below price.

1. Picking swing high resistance on our MT4 Support & Resistance Indicator :

This is really straightforward. We don’t just pick any swing high, we pick the major swing high. How we define major swing highs here is based on the parameter we can adjust called “Swing sensitivity”. The higher this value, the more significant our swing highs are.

Swing sensitivity : 100
This picture below is when we have a swing sensitivity of 100. This means we only pick swing highs where there are more than 100 bars to the left and right of the major high. Notice there are just a few major lines?

Swing sensitivity : 30
If we adjusted our swing sensitivity to something like 30, this would result in a lot more weaker lines appearing.

Combining Swing highs
Now, when more than 1 swing high combines, it becomes a strong level of resistance. This is shown by a highlighted area on the chart with our MT4 indicator.

2. Finding pullback Resistance on the MT4 Support & Resistance Indicator

Pullback resistance is formed when a swing high/low is broken and price makes a “pullback” to that previous level. In the example below, we can see that price broke a swing low resistance turning it into a pullback resistance.

3. Finding overlap resistance on the MT4 Support & Resistance Indicator

Pullback resistance turns into a strong graphical overlap resistance if price reverses off it. This shows that there are more bears than bulls at this key decision point.

4. Finding swing low support

Combining swing low support
When more than 1 swing low combine, it becomes a stronger level of support.

5. Finding pullback support on the MT4 Support & Resistance indicator

Another form of support is the pullback support . This is when a previous swing high is converted into a support because price had broken above it and is now dropping to test it again.

Indicator Settings

There are a few settings that you should understand about this indicator to better help you use it effectively.

Multi-Time Frame Selector

The multi-time frame selector allows you to activate different support/resistance lines from other time frames to be viewed on your chart. In the picture below, you can see that even though I am on my H1 chart, I can activate the H4 support/resistance levels to see if there are any levels on the higher time frame I might have missed out on. This resulted in a big swing high I might have missed being shown.


This is how many bars you would need on the left/right of a high/low to create a swing high/low. This means that for example, if you have 20 as this value, then the swing high would require 20 bars to the left and to the right of it to be lower than it to create the swing high point.
The higher this value, the stronger the swing highs/lows you identify.


What the indicator does is it takes these swing highs/lows and plots a line to detect whether it coincides with other swing highs/lows. The InitialPips value is the ‘buffer’ it uses to detect whether another swing high/low is near it. A value of 5 would mean it scans 5 pips above and below the first swing high/low for any other swing high/low to reach it. The key idea here is to find areas where multiple swing high/lows coincide.

Recommended settings :

  • 1 min chart : 1

  • 5 min chart : 3

  • 15 min chart : 5

  • 30 min chart : 7

  • 1 hr chart : 10

  • 4 hr chart : 30

This is not a hard and fast rule, rather, the main idea is to provide more scanning area for overlaps as the time frame goes bigger.


Once the second swing high/low is reached, the indicator will use this new resistance/support area and do a modified scan based on FurtherPips. This works the same way as InitialPips.

Recommended settings :

  • 1 min chart : 1

  • 5 min chart : 3

  • 15 min chart : 9

  • 30 min chart : 15

  • 1 hr chart : 25

  • 4 hr chart : 50

This is not a hard and fast rule, rather, the main idea is to provide more scanning area for overlaps as the time frame goes bigger.


This value scans how many times the particular support/resistance identified has been broken. The more times a support/resistance level is broken, the weaker it is. A value of 0 means that the level can be broken only once. If it is broken a second time, it disappears.


This is the number of bars that must be closed below the support/resistance level for it to be considered truly broken (links with BrokenCount above). The reason for this is sometimes price tests these support/resistance levels and bounces back (like a doji). This actually means the support/resistance level is stronger and such a filter allows us to prevent such price action from tricking us. I prefer to keep this at about 3 across all time frames.


This toggles the thin lines with only one swing high/low and the thicker lines with at least 2 swing high/lows connected. This helps you pick out which are immediately the stronger levels to watch out for.

Here’s an image without the ToggleStrength. Notice how there are many more lines which have just 1 swing high/low on it.

Here’s an image when we toggle the strength such that we filter out the swing high/lows which are not strong.

How do I install this?

Quite simple!

  1. The Babypips Support and Resistance Indicator.ex4 should be placed in your “indicator” folder. To do this, open MT4 > File > Open Data Folder


  1. With the new folder opened, you have to navigate to MQL4 > Indicators > paste the Babypips Support and Resistance Indicator.ex4 into here.

  1. The next thing you have to do is to enable your MT4 to allow expert advisors. On the top of your MT4, there is a button called “AutoTrading”. Ensure that it is green and not red by clicking on it. This is because there’s some licensing protection thing on this indicator.


  1. After that, you would need to go to tools > options > Expert Advisors and ensure that the 2 boxes shown in the picture are “checked”


  1. Once you’re done with all that, you have to enable “chart shift” so that the Babypips support and resistance indicator has some space to operate and show you its levels.
    To do that, press F8 > Common > ensure “chart shift” is checked as seen in the picture below.


  1. Once you enable “chart shift”, this nudges your chart to the left giving you some space on the right for the support and resistance indicator to show the levels and the time frame which the levels are coming from.
    You can adjust how much space you want on the right by sliding the little arrow left/right as seen in the picture below.


I hope everyone likes using this MT4 support & resistance indicator. I am allowing it to be used for free for these 3 most popular pairs. I still think there is much to be improved so please test it and send me your feedback so I can keep improving this indicator.

Cheers guys,
Desmond Leong

p.s. this indicator works really well when used with the babypips trade manager, especially in picking stop loss and take profit levels : MT4 Trade Manager EA

p.s.s. for those who want the full version, they can find it here:

Babypips Support and Resistance Indicator.ex4 (497.5 KB)


Okay I created this account just to write this: Thank you very much sir, this indicator is amazing but I have some questions:

Do you usually combine lower time frame with what you are looking at? For example, I am on H4 chart, do you think it is useful combining H1, M30 and M15 levels on the chart?

How do you use this to trade? Do you trade the breakout or the reversal?

Which currency pairs do you find this works best on?

I tried it on EURUSD M5 chart earlier and it helped me pick many good levels and profit. Thanks a lot! But I always combine it with other indicators to confirm.

1 Like

Holy smokes sorry for the late reply. Let me get back to you on this soon!

Howdie man - awesome indi - I see the logic on this - bit it stated expired lol