The three drive pattern is three pushes in one direction, each extending a similar amount beyond the pullback before it. The three drive harmonic pattern indicator measures those ratios on confirmed swings, draws the legs of each match, and marks the bar where the third drive ends.
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 | Main price chart |
| Plots | 2: 3-Drive Buy, 3-Drive Sell |
| Alerts | popup, push notification, email, sound |
| Inputs | 15 |
What the build shows
Pattern legs and two marks on price.
`BotColor` `clrDodgerBlue` draws bullish patterns.
`TopColor` `clrTomato` draws bearish patterns.
`3-Drive Buy` prints lime with arrow 233.
`3-Drive Sell` prints red with arrow 234.
`MaxPatterns` `6` keeps the newest drawings.
- 3-Drive Buy: arrow, lime, width 2, arrow code 233
- 3-Drive Sell: arrow, red, width 2, arrow code 234

What happens behind it
Swings
`FractalLen` `3` bars on each side confirm each swing. The pattern needs five in a row.
Ratios
Each drive’s extension divided by the pullback before it must sit between `ProjMin` `1.05` and `ProjMax` `2.30`.
Size
Each drive must also reach at least `MinDriveATR` `0.25` of an `ATRPeriod` `14` range, so tiny wiggles do not count.
Turning output into a view
Blue legs finish at a low: a bullish setup.
Tomato legs finish at a high: a bearish setup.
The mark sits on the end of drive three.
Patterns confirm three bars after the last swing.
`ArrowOffATR` `0.80` spaces the marks.
Older patterns fade out as new ones form.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
A completed pattern sends one message naming the side. `EnableAlerts` is the master switch, and the popup is the one route enabled at the start.
Every Three Drive Harmonic Pattern Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
FractalLen |
bars each side that define a swing pivot. Bars on each side of a swing, `3`. | 3 |
ProjMin |
min drive projection vs prior retrace. Smallest extension ratio, `1.05`. | 1.05 |
ProjMax |
max drive projection vs prior retrace. Largest extension ratio, `2.30`. | 2.30 |
MinDriveATR |
each drive extension >= this * ATR. Smallest drive in ranges, `0.25`. | 0.25 |
ATRPeriod |
ATR period (arrow offset + leg gate). Range window, `14`. | 14 |
MaxPatterns |
most-recent patterns drawn with legs. Patterns drawn at most, `6`. | 6 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffATR |
arrow distance from bar in ATR units. Mark gap in ranges, `0.80`. | 0.80 |
TopColor |
bearish (top) leg color. Bearish leg colour, `clrTomato`. | tomato |
BotColor |
bullish (bottom) leg color. Bullish leg colour, `clrDodgerBlue`. | dodger blue |
Alert settings
| Setting | What it does | Default |
|---|---|---|
EnableAlerts |
Master alert switch, `true`. | on |
EnablePopup |
(see inputs panel) | on |
EnablePushNotify |
(see inputs panel) | off |
EnableEmail |
(see inputs panel) | off |
EnableSound |
(see inputs panel) | off |
SoundFile |
(see inputs panel) | alert.wav |

Where the defaults suit
Three-drive patterns need room, so H1 and H4 suit them best. EURUSD H1 is the reference chart, with a pattern every week or two. On M15 they come more often but smaller. On D1 they take months.
The catch
A wide ratio range admits loose patterns.
Patterns complete three bars after the turn.
Strong trends add a fourth drive.
The popup alone reports by default.
Copy the compiled Three Drive Harmonic Pattern 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.
Background reading on the method behind the Three Drive Harmonic Pattern Indicator: Fibonacci Retracement at Investopedia, Fibonacci retracement on Wikipedia.
Download the Three Drive Harmonic Pattern Indicator for MT4 and MT5
The zip holds the compiled Three Drive Harmonic Pattern 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 do ProjMin 1.05 and ProjMax 2.30 measure?
The ratio of each drive’s extension to the pullback before it. A drive that extends between 1.05 and 2.3 times the pullback fits the pattern.
Why does 3-Drive Buy mark an older bar?
The mark goes on the low that ends drive three, which is only confirmed three bars later. It never moves after that, so it stays where the drive ended.
What does MinDriveATR 0.25 filter?
Drives smaller than a quarter of the 14-bar range. Without it, tiny swings in a quiet market could line up into a pattern that means little.
How strict are ProjMin and ProjMax against textbook ratios?
Looser. Classic three-drive rules use 1.27 and 1.618 extensions, while this build accepts anything from 1.05 to 2.30. Tighten both inputs if you want textbook matches only.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Three Drive Harmonic Pattern Indicator as one input. Always backtest before trading live.
Category: this is part of our Support and Resistance collection. Browse more Support and Resistance for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Currency adjustment factor on Wikipedia.
- For broader market context, see Candlevolume at StockCharts ChartSchool.
