Gann Signal Indicator for MT4 and MT5

Written by Dominic Walsh · Published · Last updated

The gann signal indicator marks swing turns that are big enough to matter. A bar has to beat both neighbours, and its own range has to clear a share of the average range. Pass both and an arrow prints. Small turns inside quiet trade get filtered out.

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: Gann Buy, Gann Sell
Alerts popup
Inputs 4

A look at the plots

Two arrow plots on the price chart.

`Gann Buy` uses arrow 233 in lime.

`Gann Sell` uses arrow 234 in red.

Buy marks hang under the low.

Sell marks sit over the high.

`InpArrowOffsetPts` `8.0` sets the gap.

  • Gann Buy: arrow, lime, width 2, arrow code 233
  • Gann Sell: arrow, red, width 2, arrow code 234
gann signal indicator: Swing turn arrows on the EURUSD H1 chart.
Swing turn arrows on the EURUSD H1 chart.

Behind the plots

The three-bar turn

One bar against two. A sell needs a high above the bar each side. A buy needs a low below both. That pattern is the whole shape test.

The size filter

This is what thins them out. iATR at `InpAtrPeriod` `14` gives an average range. The turn bar’s own range must beat `InpAtrFactor` `0.7` of it. Small bars fail.

Placing the mark

Straight onto the turn bar. The arrow sits `InpArrowOffsetPts` `8.0` points clear of the high or low. Nothing shifts it forward.

Turning output into a view

Each arrow needs the bar after it, so it lands one bar late.

A higher `InpAtrFactor` gives fewer, larger turns.

Arrows cluster where a range is choppy.

The mark says a turn happened, not that it will hold.

Runs of same-side arrows describe a stepping trend.

The tool draws nothing between arrows.

Alert channels in this build: popup, one message per closed bar.

`InpEnableAlerts` is the only alert control here and ships true. It raises a terminal message once a turn bar has closed. No phone, mail or sound route exists in this build.

Every Gann Signal Indicator input

Core settings

Setting What it does Default
InpAtrPeriod ATR period. Bars in the range average, `14`. 14
InpAtrFactor Swing range factor (range > factor*ATR). Share of that average required, `0.7`. 0.7

Display settings

Setting What it does Default
InpArrowOffsetPts Arrow offset (points). Points from mark to bar, `8.0`. 8.0

Alert settings

Setting What it does Default
InpEnableAlerts Enable alerts on closed bar. Alert on a closed bar, `true`. on
gann signal indicator: Inputs panel with InpAtrPeriod and InpAtrFactor.
Inputs panel with InpAtrPeriod and InpAtrFactor.

Suitable markets

The size test scales itself, so any liquid market works. EURUSD H1 is the reference chart. Arrows come a few times a day there. On M5 they come in bunches. On H4 they mark turns worth a chart note.

What it handles badly

Confirmation needs the next bar, so every arrow arrives late.

A three-bar turn is the smallest structure there is.

In a range both sides print within a few bars.

One large bar lifts the average and mutes the next few turns.

Copy the compiled Gann Signal 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 Gann Signal Indicator: Gann Fan at BabyPips, Swing Trading at Investopedia.

Download the Gann Signal Indicator for MT4 and MT5

The zip holds the compiled Gann Signal 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

What does InpAtrFactor 0.7 filter out?

Turns on small bars. The turn bar’s range must beat seven tenths of the average range from `InpAtrPeriod`. A three-bar turn inside a quiet stretch fails that test and prints nothing, which is the point of the filter.

Why does InpAtrPeriod use 14 bars?

Fourteen is the usual window for a range average, long enough to smooth one odd bar and short enough to track the current session. Nothing about the swing shape depends on it.

Why does the Gann Buy plot need the next bar?

Because the low has to beat the bar before it and the bar after it. That shape cannot be judged until the following bar closes, so every mark lands one bar behind the turn it describes.

Does InpArrowOffsetPts change any signal?

No. Eight points is only the visual gap between the arrow and the candle. Raising it lifts the marks clear of a busy chart without touching the test.

Are results guaranteed?

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

Category: this is part of our Volatility collection. Next, plainly, truly, browse more Volatility for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.

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