Candlestick Alert Indicator for MT4 and MT5

Written by Dominic Walsh · Published · Last updated

Pattern tools break down on the size question. A body that engulfs on gold is nothing on a quiet cross. The candlestick alert indicator sizes every test against the current range reading rather than a fixed number, so one set of settings works wherever you load it.

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 3: Bullish Pattern, Bearish Pattern, Neutral Pattern
Alerts popup, push notification, email, sound
Inputs 33

What the Candlestick alert Indicator draws on the chart

Three arrow plots and text labels.

`Bullish Pattern` uses arrow 233 in chartreuse.

`Bearish Pattern` uses arrow 234 in orange red.

`Neutral Pattern` uses arrow 159 in khaki.

Each detection gets its name printed beside it.

A panel counts what it found recently.

  • Bullish Pattern: arrow, chartreuse, width 3, arrow code 233
  • Bearish Pattern: arrow, orange red, width 3, arrow code 234
  • Neutral Pattern: arrow, khaki, width 1, arrow code 159
candlestick alert indicator: Named pattern marks on the EURUSD H1 chart.
Named pattern marks on the EURUSD H1 chart.

How the Candlestick alert Indicator calculates its values

A size floor first

Size comes first. `InpMinRangeATR` `0.45` of the `InpAtrPeriod` `14` reading is the floor. A bar under that gets skipped before any shape test runs.

Each shape in turn

Every pattern has a rule. `InpMinBodyATR` `0.35` sizes an engulfing body. `InpPinBodyPct` `33.0` caps a pin body, and `InpPinWickMult` `2.00` sets its tail.

Spacing them out

`InpMinGap` `3` keeps marks apart. `InpTrendFilter` ships off. Switch it on and a mark must agree with a `InpTrendPeriod` `50` average.

How to read the signals

Colour splits bullish, bearish and neutral.

The printed name says which pattern fired.

Neutral covers inside bars and doji.

Marks sit `InpArrowATR` `1.15` ranges off the bar.

The trend filter thins the count sharply.

A panel counts the last two hundred bars.

Alert channels in this build: popup, push notification, email and sound, one message per closed bar.

`EnableAlerts` sits over the pattern alerts and ships true with `EnablePopup`. `EnablePushNotify` reaches a phone, `EnableEmail` posts mail and `EnableSound` plays `SoundFile`. Those three arrive off.

Every Candlestick alert Indicator input

Core settings

Setting What it does Default
InpAtrPeriod ATR period (size filters + offsets). Bars behind each size test, `14`. 14
InpMinRangeATR Bar range must be >= this x ATR. Least bar range, `0.45`. 0.45
InpMinBodyATR Engulfing body must be >= this x ATR. Least engulfing body, `0.35`. 0.35
InpPinBodyPct Pin body <= this % of the range. Pin body share, `33.0`. 33.0
InpPinWickMult Dominant wick >= this x body. Wick against body, `2.00`. 2.00
InpPinWickPct Dominant wick >= this % of the range. 55.0
InpPinOppPct Opposite wick <= this % of the range. 22.0
InpDojiBodyPct Doji body <= this % of the range. Doji body cap, `10.0`. 10.0
InpUseEngulf Detect engulfing bars. on
InpUsePin Detect hammer / shooting star. on
InpUseOutside Detect outside bars. on
InpUseInside Detect inside bars. on
InpUseDoji Detect doji bars. on
InpTrendFilter Directional patterns must agree with the EMA. Ask for trend agreement, `false`. off
InpTrendPeriod EMA period for the filter. Bars in that average, `50`. 50
InpMinGap Minimum bars between arrows (buffer-scanned). Bars between marks, `3`. 3
InpNeutralATR Neutral dot distance above the bar (x ATR). 0.85

Display settings

Setting What it does Default
InpArrowATR Arrow distance from the bar (x ATR). Mark distance, `1.15`. 1.15
InpLabelBars Label detections within N bars. 300
InpMaxLabels Hard cap on text objects. 260
InpFontSize Pattern-name font size. 8
InpShowPanel Show summary panel. on
InpPanelCorner 0=UL 1=UR 2=LL 3=LR. 0
InpPanelX Panel X offset. 12
InpPanelY Panel Y offset (clears one-click panel). 120
InpPanelScan Bars counted by the panel. 200
InpPanelBg Panel background. black

Alert settings

Setting What it does Default
EnableAlerts (see inputs panel) 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
candlestick alert indicator: Inputs panel with the pin and doji settings.
Inputs panel with the pin and doji settings.

Settings that fit your chart

Tying each test to the range reading is what lets this travel. EURUSD H1 is the reference chart. Patterns come several times a day there. On M5 the size floor rejects most bars. On H4 each one is worth a look.

When the Candlestick alert Indicator fails

A named pattern describes, it does not forecast.

Five types at once makes for a lot of marks.

The trend filter ships off, so marks appear against the trend.

Text labels are capped, so old ones drop away.

Copy the compiled Candlestick alert 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 Candlestick alert Indicator: Candlestick pattern on Wikipedia, Candlestick Charts at StockCharts ChartSchool.

Download the Candlestick alert Indicator for MT4 and MT5

The zip holds the compiled Candlestick alert 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.

  • 1,380+ indicators
  • MT4 and MT5 files
  • No spam, unsubscribe any time

FAQ

Why does InpMinRangeATR come before every other test?

Because a tiny bar can technically satisfy any pattern rule while meaning nothing. Requiring at least 0.45 of the current range reading throws those out before the shape tests even run.

How do InpPinBodyPct and InpPinWickMult define a pin?

Together they describe the shape. The body has to be under a third of the total range, and the dominant wick has to be at least twice the body, which is what gives a pin bar its long tail.

What does InpTrendFilter change when switched on?

It demands that directional patterns agree with a fifty-bar average. A bullish engulfing below that average then prints nothing, which cuts the count sharply and removes most counter-trend marks.

Why is InpMinGap 3 needed?

Because several patterns can qualify within a few bars of each other, especially around a turn. Three bars of spacing turns that cluster into one mark rather than four stacked arrows.

Are results guaranteed?

No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Candlestick alert Indicator as one input. Always backtest before trading live.

External references

Dominic Walsh - Forex trader and MT4/MT5 developer

About the author

Written by Dominic Walsh, a Forex trader and MT4/MT5 indicator, Expert Advisor and script developer. Every tool on forexmt4systems.com is tested on live charts before release and ships with ready-to-use compiled MT4 (.ex4) and MT5 (.ex5) files. Learn more about the trader and developer behind this site.

How we build, test and correct every tool: Editorial & Testing Policy. Trading carries risk; see the disclaimer.

Leave a Comment