New tools are launching soon. Open any tool and choose Notify me to hear first.Chat with us on Telegram

Support and resistance indicators and EAs

Support and resistance indicators and expert advisors for MetaTrader: how levels are drawn, zones versus lines, and how to use them without hindsight.

16 tools9 expert advisors7 indicators

Support and resistance tools

Expert advisors and indicators tagged for support and resistance in our catalog.

See all 16

Support and resistance are price areas where buying or selling has stopped a move before, and where traders expect it might again. They are the most widely used idea in technical analysis, and one of the easiest to fool yourself with, because almost any finished chart looks full of perfect levels.

How levels are found

Most methods start from prices where the market turned, paused or traded heavily:

SourceHow it's drawnDoes it change later?
Swing highs and lowsThe peak or trough of a turn that price moved clearly away from.Fixed once confirmed, but the latest swing can still move.
Round numbersPrices such as 1.1000 on EURUSD, or $50 and $100 steps on gold.No.
Pivot pointsCalculated from the previous period's high, low and close.Fixed for the period they cover.
Previous day and week rangesThe last completed day's or week's high and low.Fixed, but they depend on your broker's server time.
Supply and demand or volume zonesAreas price left quickly, or where most activity took place.Depends on the method. Many redraw.

For example, a previous day with a high of 1.1080, a low of 1.0980 and a close of 1.1050 gives a classic pivot of 1.1037, a first resistance (R1) of 1.1093 and a first support (S1) of 1.0993. The pivot point calculator works these out for five methods. In forex, volume means tick volume, the number of price changes in a bar, so zones built from it are estimates.

Zones versus lines

Price rarely turns at one exact price. Broker feeds differ by a pip or two, spreads change and traders draw the same level in slightly different places.

Suppose EURUSD bounced from 1.0952, 1.0960 and 1.0948. A line at 1.0950 invites two mistakes: reading a dip to 1.0946 as a break, and putting a stop just under the line, where everyone else's stops sit. A zone from 1.0945 to 1.0960 describes what actually happened. A common rule is to call the level broken only when a bar closes beyond the zone, not when a wick pokes through it.

Why levels look better on history

On a finished chart the levels seem obvious, partly through hindsight. You notice the lines price respected and forget the ones it sliced through, and with enough lines drawn, price is bound to touch some of them. A fair review asks whether a level was visible before price reached it, and what happened every time price got there.

Indicators that draw levels automatically can add repainting. Many build levels from ZigZag or fractal swings, whose latest point moves until later bars confirm it, and some delete a level once it breaks, so the history shows only the levels that held. Screenshot the indicator on a demo chart and compare the same bars hours later and after a refresh. Our guide to repainting indicators explains these tests.

Stops and position size at a level

A level shows where a trade idea is wrong, so the stop goes beyond the zone, with room for the spread, and the position size follows from that distance.

Take a buy at 1.0965 from the zone above, with the stop 10 pips under the zone at 1.0935: a 30-pip stop. Risking 1% of a $10,000 account is $100. At $10 per pip per standard lot, 30 pips costs $300 per lot, so the size is $100 ÷ $300 = 0.33 lots. With the next resistance zone at 1.1035, the target is 70 pips away, a reward to risk of about 2.3.

On gold, a stop $6 from entry is 60 moves of 10 cents, worth $600 per lot, so the same $100 allows about 0.16 lots. A wider zone means a smaller position, not a bigger loss. The position size calculator and risk reward calculator do the arithmetic for any symbol.

How EAs use levels

An EA can't eyeball a chart, so each level must come from a rule, such as the previous day's high, the last confirmed swing on H4, a pivot or a round number. EAs use levels in four main ways:

  • Bounce. Buy near support or sell near resistance, with a stop beyond the zone. It suits ranges and suffers in trends.
  • Breakout. Enter when a bar closes beyond a level. Our breakout page covers false breaks.
  • Targets and stops. Take profit before the next level and place the stop beyond the last one.
  • Filters. Skip buys just under resistance, for example.

If an EA reads its levels from an indicator, it should act on closed bars and confirmed swings only. If you trade your own levels by hand, our custom development service can build an EA to those rules.

Checks before running one

  1. Know the source of each level. Find out its data, its timeframe and when it becomes final.
  2. Test for repainting. Use the screenshot and refresh tests in our repainting guide.
  3. Match the server time. Daily and weekly levels shift with your broker's day. The forex market hours tool shows the sessions in your time zone.
  4. Size from the far side of the zone. Set lots from that stop with the position size calculator.
  5. Backtest trends and ranges. Bounce and breakout systems each struggle in one of them. See how to backtest an EA.
  6. Run it on demo first. Compare where levels appear live with where the backtest drew them.

Frequently asked questions

Is support and resistance a zone or an exact price?

Treat it as a zone. Price often turns a few pips either side of a level because broker feeds, spreads and the way traders draw lines all differ. A zone that covers the recent turning points, with the stop beyond it, matches how price really behaves.

Which timeframe gives the most reliable levels?

Levels from daily and weekly charts are watched by more traders and took longer to form, so they tend to matter more than levels from M5 or M15. No timeframe makes a reaction certain, so test levels on the timeframe your strategy trades.

Do support and resistance indicators repaint?

Some do. Indicators built from ZigZag or fractal swing points can move their latest level until later bars confirm it, and some remove levels once they break. Levels from completed periods, such as daily pivots and the previous day's high and low, don't change after the period has closed.

Does broken support become resistance?

It often does, because traders who bought at the level may sell to get out near breakeven when price comes back to it. It isn't a rule, though. Treat a flipped level as a place to watch, and still put the stop beyond the zone.

Can an EA trade support and resistance?

Yes, as long as its levels come from fixed rules, such as the previous day's high and low, pivot points or confirmed swing points. It should act only on closed bars and confirmed levels, so that its backtest reflects what it would have seen in real time.

Educational information only, not financial advice. Trading forex and CFDs on margin carries a high risk of losing money. Read our risk warning.

Hear about new tools first

One short email when a tool launches or a big update ships.