Skip to content
MT5MT4soonTradingViewsooncTradersoonNinjaTradersoonPythonsoon
IndicatorSupport, resistance & levelsMT5No repaint

Dynamic Support Line

Free MT5 indicator that draws a rising dynamic support line with Touch Bounce and Support Break arrows. Lab: 0 of 487 arrows repainted on EURUSD M15.

Add to a kit
CompareRequest a variant
Embed
Dynamic Support Line on XAUUSD M15, MT5 chart with default settings: touch bounce, support break, ma support band
Screenshots from a real MT5 chart · 9 · scroll sideways
Dynamic Support Line inputs window in MetaTrader 5 with the default settings
Dynamic Support Line inputs window in MetaTrader 5 with the default settings
Dynamic Support Line MA Support Band line on XAUUSD M15, 27 Oct 2026 13:15
Dynamic Support Line MA Support Band line on XAUUSD M15, 27 Oct 2026 13:15
Dynamic Support Line Support Break arrow on XAUUSD M15, 27 Oct 2026 01:00
Dynamic Support Line Support Break arrow on XAUUSD M15, 27 Oct 2026 01:00
Dynamic Support Line Support Break arrow on XAUUSD M15, 26 Oct 2026 13:30
Dynamic Support Line Support Break arrow on XAUUSD M15, 26 Oct 2026 13:30
Dynamic Support Line on XAUUSD H4 (another timeframe)
Dynamic Support Line on XAUUSD H4 (another timeframe)
Dynamic Support Line on XAUUSD M5 (another timeframe)
Dynamic Support Line on XAUUSD M5 (another timeframe)
Dynamic Support Line on-chart panel: last signal and status
Dynamic Support Line on-chart panel: last signal and status
Dynamic Support Line on EURUSD M15
Dynamic Support Line on EURUSD M15
Dynamic Support Line zoomed out on XAUUSD M15: several weeks of history
Dynamic Support Line zoomed out on XAUUSD M15: several weeks of history
Test verdictPassed
Repainted
0 / 487
Signals / week
≈ 38.3
Tested on
EURUSD M15
Tested
2026-10-05
Download free · Google DriveFree account needed · sign in with Google in one clickFree — share it freely. Just don’t sell, crack or modify it. Licencev1.00 · 108.3 KB · .ex5
Lab pick — built by the lab, not from a member request. Want something like it? Request a tool

Overview

Dynamic Support Line is a free MT5 indicator that draws a rising dynamic support line on your main chart. It suits you if you trade pullbacks in a rising market and want the support drawn, measured in ATR and alerted for you. It's a level and alert tool, and you add the decision on top. It builds that line from two confirmed swing lows or from an EMA-minus-ATR band, and it marks Touch Bounce and Support Break arrows on closed bars. In the Lab's repaint test on EURUSD M15, 0 of 487 arrows changed after they appeared.

What it draws on your chart

Two ways to build the line, set by SupportMode:

  • Dynamic Support Line (SwingTrendline mode): a rising trendline through two confirmed swing lows, projected to the right of the current bar. When a close breaks it, the line is deleted. If ShowBrokenLines is on, it stays on the chart as a grey dashed line instead.
  • MA Support Band (MovingAverageBand mode): a line set at an EMA minus a share of ATR. It only shows while the EMA is rising. While price holds above it, support is holding. A close below it marks the support as broken.
  • Touch Bounce and Support Break arrows, covered in the next tab.
  • Support Status panel: the last touch or break signal, line status and mode, current support price, distance to it in pips and in ATR, slope in points per 10 bars, touch count and anchor age.

How the Lab tested it

The Lab tested version 1.00 (108.3 KB) on MT5 build 6230 on 2026-10-05. The test ran on EURUSD M15 from 2026-07-06 to 2026-10-02, using real ticks from Raw Trading Ltd.

Every arrow was logged when it printed, then checked again at the end of the run. 0 of 487 arrows changed or disappeared, and the maximum arrow delay was 0 bars. Each arrow showed up on the bar that triggered it, not a few bars later. What you see in history is what you would have seen live.

What the signal numbers mean for you

For each arrow, the Lab checked whether price moved 1 ATR in the arrow's direction (up for a bounce, down for a break) before it moved 1 ATR against it. Across all arrows, 44.8% went the arrow's way first. That's slightly worse than a coin flip, so taken alone as 1:1 trades the arrows lose more often than they win, and spread or commission makes that worse.

Price resolved quickly. The median was 2 bars to hit one side, which is about 30 minutes on M15. Only 1.6% of arrows reached neither side within 20 bars, so your stop gets tested quickly either way. The test also logged 38.3 arrows a week on a single pair, which is several a day. You need a filter to choose which ones to take.

The two arrow types score almost the same, as the chart below shows.

Arrows that reached 1 ATR in their direction before 1 ATR against (EURUSD M15, Lab)Illustration
All arrows
44.8%
Touch Bounce
44.9%
Support Break
44.6%

Scale zoomed in to show the difference (bars do not start at zero).

How it works

  1. 1
    Reads ATR and works in one of two modes: a trendline through swing lows, or a band under an EMA.Mode set by SupportMode | ATR over ATRPeriodInputs: SupportMode, ATRPeriod
  2. 2
    Trendline mode: finds swing lows, keeps the latest few, and draws a line through a pair, projected forward.Swing Low: Low below LeftBars before and RightBars afterInputs: LeftBars, RightBars, MaxAnchorSearch, ProjectBarsForward
  3. 3
    Band mode: builds a support band below an EMA, active only while the EMA has risen several bars running.Band = EMA - MABandATRMult x ATR | active if EMA rose for MinSlopeBars barsInputs: MAPeriod, MABandATRMult, MinSlopeBars
  4. 4
    Counts a touch when the low reaches support and the bar closes above it, warns when price nears it.Touch: Low <= Support + TouchATRMult x ATR and Close > SupportInputs: TouchATRMult, ApproachATRMult
  5. 5
    Marks a break when a close falls below the support by a buffer, and retires the line.Break: Close < Support - BreakATRMult x ATR (band mode: Close < Band)Inputs: BreakATRMult, ShowBrokenLines

Specifications

Platform
MetaTrader 5
Version
1.00
Type
Indicator
Window
Main chart
Draws
2 arrows, 1 line, 1 zone, 1 panel
Alerts
popup, push, sound
Repaints
No (0 of 487 signals changed)
Inputs
26
Tested on
MT5 build 6230 · 2026-10-05

Repaint test

Signals logged live
487
Changed after close
0
Arrow delay
None

No repaint detected. In a 6 Jul 2026 – 2 Oct 2026 test on EURUSD M15 (Raw Trading Ltd real ticks), 487 signals were logged at bar close and re-read at the end of the test: 0 changed. Arrows print on the bar that closes the signal, with no delay.

IndicatorFree — tested 2026-10-05 · MT5 build 6230 · Raw Trading Ltd real ticks. Results come from historical data, not live trading, and do not guarantee future results.

Signal statistics

Price moved 1×ATR in the signal direction first44.8%
Price moved 1×ATR against it first53.6%
Neither within 20 bars1.6%

Over 6 Jul 2026 – 2 Oct 2026 on EURUSD M15, the indicator printed 487 arrows. After 44.8% of them, price moved 1×ATR(14) in the arrow's direction before moving 1×ATR against it (median 2 bars). 1.6% reached neither level within 20 bars.

This measures price movement after the arrow, not a trading result. It includes no spread, commission, stop loss or position sizing.

What it draws

  • Arrows (Touch Bounce) from buffer 0, drawn on the closed bar.
  • Arrows (Support Break) from buffer 1, drawn on the closed bar.
  • A line (MA Support Band) from buffer 2.
  • Rectangles (Dynamic Support Line) drawn as chart objects, not buffers — they are not readable by iCustom() in an EA.
  • An on-chart panel (Support Status); values shown in the panel are not exposed as buffers.

Inputs

InputDefaultWhat it does
SupportModeSwingTrendlineHow the dynamic support is built: swing-low trendline or EMA - ATR band
LeftBars5Bars left of a swing low that must not be lower (2-15)
RightBars5Bars right of a swing low that must be higher = confirmation lag (2-15)
MaxAnchorSearch8Recent swing lows kept and searched back for a valid anchor pair (2-20)
ProjectBarsForward30Bars the active line is projected to the right of the current bar (5-200)
MAPeriod50EMA period of the band (10-200)
MABandATRMult0.5Band = EMA minus this x ATR (0.1-2.0)
MinSlopeBars3The EMA must rise this many bars in a row for the band to be active (1-10)
ATRPeriod14ATR period for break / touch / approach distances (5-50)
BreakATRMult0.3Trendline breaks on a close below it by more than this x ATR (0.1-1.5)
TouchATRMult0.15A low within this x ATR above the line counts as a touch (0.05-1.0)
ApproachATRMult1Approach alert when the low is within this x ATR above the line (0.2-3.0)
EnableAlertstrueMaster switch for all alerts
AlertOnApproachtrueAlert when price approaches the dynamic support
AlertOnTouchtrueAlert on a touch / bounce signal
AlertOnBreaktrueAlert when the dynamic support is broken
AlertPopuptrueUse popup alerts in the terminal
AlertPushfalseUse push notifications to the phone
AlertSoundtruePlay a sound
ShowBrokenLinesfalseKeep broken trendlines on the chart (grey, dashed) instead of deleting them
LineColorActiveclrLimeGreenColor of the active line and of the MA band
LineColorBrokenclrGrayColor of broken trendlines when they are kept
ShowDashboardtrueShow the status panel
PanelScale1Panel size multiplier (DPI is applied automatically)
ThemeDarkChart color theme
RestoreThemetrueRestore the original chart colors when the indicator is removed

How to read it

Install: copy the file into MQL5/Indicators (File > Open Data Folder), refresh the Navigator and drag Dynamic Support Line onto a chart.

The drawing below shows how the line, the anchors and both arrows sit on the chart.

How Dynamic Support Line draws a touch and a break
Illustration of a typical signal, not Lab data. The line is anchored on two confirmed swing lows. Touch Bounce prints when a closed bar's low reaches the line and the bar closes above it. Support Break prints when a close falls more than Br

Reading the Touch Bounce arrow

The up arrow prints when all three of these are true:

  • a support line is active;
  • a closed bar's low reaches the line, or comes within TouchATRMult x ATR above it;
  • that bar still closes above the line.

It tells you support was tested and held on a finished bar. In the test it fired 265 times, or 20.8 a week, and 1.5% of those reached neither 1 ATR target within 20 bars.

Decision rule: take a Touch Bounce only if the last swing high is at least 1 ATR above your entry, the same distance the Lab measured with. Skip it if price would hit that high sooner. This filter was not tested by the Lab. If you take it, put your stop more than BreakATRMult x ATR below the line. That's the point where the indicator itself would call the line broken.

Reading the Support Break arrow

The down arrow prints when a closed bar finishes below the active line by more than BreakATRMult x ATR in SwingTrendline mode, or below the band in MovingAverageBand mode. In the test it fired 222 times, or 17.5 a week, and 1.8% reached neither target within 20 bars.

Decision rule: first treat it as an exit for any long trade that relied on this line. Take it as a short only if the break bar also closes below the most recent swing low. Without that, you only know the uptrend has paused. You don't yet have a downtrend.

Three common misreads

  • The line to the right of the current bar is a projection, not a forecast. ProjectBarsForward only extends it so you can see where support would sit if the slope holds.
  • A wick through the line is not a break. In SwingTrendline mode, only a close more than BreakATRMult x ATR below the line counts. A wick that dips through and closes above is a touch, and a bar that closes below the line by less than BreakATRMult x ATR prints neither arrow.
  • The approach alert is not a signal. It only warns you that price is getting close. No arrow prints until a bar closes.

The inputs to change first

InputDefault (range)What changing it does
SupportModeSwingTrendlineMovingAverageBand swaps the swing-low trendline for an EMA minus ATR band
RightBars5 (2-15)Bars that must print higher after a low before it counts as a swing low. This is the confirmation lag: lower values give earlier lines from weaker lows, higher values give more lag
LeftBars5 (2-15)Bars to the left that must not be lower. Higher values keep only bigger swing lows
MaxAnchorSearch8 (2-20)How many recent swing lows are searched for a valid anchor pair
TouchATRMult0.15 (0.05-1.0)Lower values mean the low must come closer to the line, so you get fewer Touch Bounce arrows
BreakATRMult0.3 (0.1-1.5)Higher values need a deeper close below the line, so you get fewer Support Break arrows (trendline mode)
ATRPeriod14 (5-50)The ATR used for touch, break and approach distances
MAPeriod50 (10-200)Band mode only: the EMA length
MABandATRMult0.5 (0.1-2.0)Band mode only: how far below the EMA the band sits, in ATR
MinSlopeBars3 (1-10)Band mode only: how many bars in a row the EMA must rise before the band shows
ProjectBarsForward30 (5-200)How far the active line is drawn to the right

Alerts and where they appear

Three events can alert you, and each has its own switch:

  • Approach (AlertOnApproach): the low comes within ApproachATRMult x ATR above the line. The default is 1, with a range of 0.2-3.0.
  • Touch (AlertOnTouch): a Touch Bounce arrow prints.
  • Break (AlertOnBreak): a Support Break arrow prints.

EnableAlerts switches all of them on or off at once. Alerts arrive as a popup in the terminal (AlertPopup, on), a sound (AlertSound, on) or a push notification to your phone (AlertPush, off by default).

Use ShowDashboard and PanelScale (DPI is applied automatically) for the panel. Theme sets the chart color theme, and with RestoreTheme on, your original chart colors come back when you remove the indicator.

Installation

  1. 1Download DynamicSupportLine.ex5 from the button above (Google Drive).
  2. 2In MetaTrader 5: File → Open Data Folder → MQL5 → Indicators. Copy DynamicSupportLine.ex5 there.
  3. 3Restart MT5 or right-click Indicators in Navigator → Refresh.
  4. 4Drag Dynamic Support Line onto a chart. For push alerts, enable "Allow push notifications" under Tools → Options → Notifications.
  5. Tested on MT5 build 6230.

Key terms and guides

Swing high
A swing high is a candle whose high is above the highs of the candles on both sides of it. It marks a peak where buyers stopped pushing and price turned lower, at least for a while.
Moving average
A moving average is a line drawn from the average closing price of a set number of recent candles, recalculated on every new candle. It smooths out price noise and shows which way the trend is pointing.
Swing low
A swing low is a candle whose low sits below the lows of the candles on both sides of it. It marks a turning point where selling stopped and price bounced, and traders use it as a floor for reading trend and placing stops.
Trend line
A trend line is a straight line drawn across rising swing lows or falling swing highs. Traders use it to read the direction of a trend, time entries when price comes back to it and spot when a trend is failing.
Commission
Commission is a fee your broker charges for executing a trade, usually a fixed amount per lot, per share or per order. It is separate from the spread and is charged whether the trade wins or loses.
Price Swing
A price swing is one move in a single direction, from a turning low to a turning high or the reverse. You measure it in pips from one swing point to the next.

More on this subject: Supply, demand & key levels guide, terms and tools

User reviews

No reviews yet. Members who download the tool can review it here.

Write a review

Sign in and download the tool to review it.

Build a checklist with it

Dynamic Support Line does one job on the chart: zone / level. Put it on the same chart as the tools below and the IndicatorFree panels merge into one checklist card, ordered trend, zone, signal, risk.

  • Trend / contextBreak of StructureAdds the trend side: which way the market leans before you act on Dynamic Support Line.
  • Entry signalBox BreakoutAdds the entry signal: the moment to act once Dynamic Support Line has set the scene.

The Lab has not tested these combinations. Each tool is tested on its own; the card only lines up what each one says. Free members get 2 new tools a day. If one has to wait until tomorrow, install BlackBox to raise the limit to 5 a day (20 on a live account).

FAQ

Does Dynamic Support Line repaint?

No repaint detected. In a 6 Jul 2026 – 2 Oct 2026 test on EURUSD M15 (Raw Trading Ltd real ticks), 487 signals were logged at bar close and re-read at the end of the test: 0 changed. Arrows print on the bar that closes the signal, with no delay.

Can I use Dynamic Support Line in an EA?

Yes. Read buffer 0 (Touch Bounce) with iCustom() on bar 1 — the last closed bar.

Why can’t my EA read the zones?

Zones and the panel are chart objects, not indicator buffers, so iCustom() does not return them.

How do I get alerts on my phone?

Enter your MetaQuotes ID under Tools → Options → Notifications, tick "Enable push notifications", and keep the push alert input on.

Does it work on other pairs?

Tested on EURUSD only; other symbols not tested.

The support line jumped to a new spot. Is the indicator repainting?

The arrows stay fixed once they print. The line works differently: it's built from swing lows that only count `RightBars` bars after the low, so a new line can appear after the fact. A broken line is also deleted unless `ShowBrokenLines` is on. Judge the tool by its arrows, and turn on `ShowBrokenLines` if you want to keep a record of old lines. The drawn line (not the arrows) can be redrawn when a new swing-low anchor pair confirms, so a line that moves is not a repainted signal.

Which pairs and timeframes can I use it on?

The Lab measured it only on EURUSD M15. You can load it on other charts, but there are no Lab numbers for them, so check it in the Strategy Tester on your own pair and timeframe before you rely on it.

How do I get the alerts on my phone?

Set `AlertPush` to true, because it's off by default. Your MT5 terminal must also be set up for push notifications with your mobile MetaQuotes ID. The alerts come from the chart on your computer, so the terminal has to stay running.

Should I use SwingTrendline or MovingAverageBand mode?

SwingTrendline follows real swing lows and breaks on a close more than `BreakATRMult` x ATR below the line, but it lags by `RightBars`. MovingAverageBand is smoother and only shows while the EMA is rising, and a close below the band counts as a break. The Lab report doesn't split its numbers by mode, so test the band yourself before you switch.

Changelog

  • 1.00Initial release: dynamic support indicator for MetaTrader 5 with two selectable modes, SwingTrendline (validated rising swing-low trendline) and MovingAverageBand (EMA minus ATR band). · 2026-10-09

Final verdict

Verdict: a clean support-line tool, not an entry system

The build is solid. Arrows held in the repaint test (see Overview), so what you see in history matches what printed live in the Lab's run. The two modes cover both swing-based traders and moving-average traders. The panel's ATR distance and slope save you measuring by hand, and the approach alert warns you before price reaches support.

The weak point is the signal edge. Neither arrow type went the arrow's way more than half the time. Treat the arrows as places to look closely, not as orders to place.

Its limits

  • It fires a lot on M15. Without a filter, you'll be overtrading.

The table below sums up when it helps and when to leave it off the chart.

Dynamic Support Line: use it when, skip it when
Use it when
  • –The market is making higher lows and you trade pullbacks
  • –You want the support price, its distance in ATR and alerts handled for you
  • –You add your own target or trend filter before taking an arrow
Skip it when
  • –The market is falling, because it only builds rising support
  • –You want resistance levels or setups at highs
  • –You want arrows you can trade with no filter
  • –You need a line the moment a low prints, since confirmation lags RightBars bars

Settings to start with

Run the defaults first so you can compare against the Lab's conditions. Then try one change at a time. None of these values were tested by the Lab, so compare each one with the default in the Strategy Tester's visual mode:

  • Fewer, tighter touches: TouchATRMult 0.10.
  • Fewer shallow breaks: BreakATRMult 0.5.
  • Less lag on H1 and above: RightBars 3. Lines will come from weaker lows.
  • While you're learning the tool: turn ShowBrokenLines on so you can see where earlier lines failed.

An idea to pair it with

To help choose which touches to take, try it alongside Fibonacci Retracement, a pairing the Lab has not tested.

More support, resistance & levels tools