The apex alert arrows indicator starts from a confirmed pivot and then asks two more questions. Is RSI turning in the same direction at that bar? And does a 12 against 48 average bias agree? Only a yes to both turns the pivot into an arrow, which keeps the tool off falling knives.
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: Apex BUY, Apex SELL |
| Alerts | popup, push notification, email, sound |
| Inputs | 18 |
What the Apex alert arrows Indicator draws on the chart
Apex BUY places a dodger blue arrow at a validated swing low.
Apex SELL places a red arrow at a validated swing high.
An OBJ_TEXT label spells out the direction beside each arrow.
`ShowLabels` turns those labels off when the chart gets busy.
- Apex BUY: arrow, dodger blue, width 3, arrow code 233
- Apex SELL: arrow, red, width 3, arrow code 234

How the Apex alert arrows Indicator calculates its values
Confirming the apex
A swing low needs its low strictly below every low across `LeftBars` `6` older bars and `RightBars` `3` newer ones. The code only tests a bar once those three newer bars have closed. That wait is what makes the mark permanent.
The momentum question
iRSI at `RsiPeriod` `14` must be turning the right way at the apex, rising for a buy and falling for a sell. It also has to sit on the correct side of `RsiMid` `45.0`, with sells measured against 100 minus that level.
The trend question
iMA supplies exponential averages at `FastMaPeriod` `12` and `SlowMaPeriod` `48`. A buy needs fast at or above slow. That turns the apex into a pullback inside a trend rather than an attempt to catch a falling market.
How to read the signals
Every arrow sits on a pivot that two filters agreed with.
Pivots that failed a filter leave nothing behind, so the chart looks sparse.
The three-bar confirmation means the mark is always late by that much.
Loosen `RsiMid` toward 50 for a stricter momentum gate, or below it for a looser one.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
`EnableAlerts` starts on and `EnablePopup` carries the text. `EnablePushNotify`, `EnableEmail` and `EnableSound` begin false. `SoundFile` picks the clip. All three tests read closed bars, and the guard allows one apex message per bar.
Every Apex alert arrows Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
LeftBars |
Fractal bars to the left of the apex. Older bars a pivot must beat, default `6`. | 6 |
RightBars |
Confirmed bars to the right (non-repaint). Confirmation bars to the right, default `3`. | 3 |
RsiPeriod |
RSI momentum period. RSI length behind the momentum filter, default `14`. | 14 |
RsiMid |
RSI mid gate (buys >= mid, sells <= 100-mid). Mid gate for RSI, default `45.0`. Sells use 100 minus this. | 45.0 |
FastMaPeriod |
Fast MA period (trend bias). Fast average in the trend bias, default `12`. | 12 |
SlowMaPeriod |
Slow MA period (trend bias). Slow average in the trend bias, default `48`. | 48 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffset |
Arrow offset from the bar (points). Arrow distance from the bar in points, default `30`. | 30 |
BuyColor |
BUY arrow / label colour. Buy arrow and label colour, default dodger blue. | dodger blue |
SellColor |
SELL arrow / label colour. Sell arrow and label colour, default red. | red |
LabelFontSize |
BUY/SELL text label font size. Text label font size, default `8`. | 8 |
ShowLabels |
Draw BUY/SELL text labels. Draws the text labels, default `true`. | on |
Alert settings
| Setting | What it does | Default |
|---|---|---|
MaxBars |
History bars to scan (0 = all). History bars scanned, default `2000`. | 2000 |
EnableAlerts |
Master alert switch. Master switch for the apex alerts, default `true`. | on |
EnablePopup |
Popup alert. Terminal dialog on an apex signal, default `true`. | on |
EnablePushNotify |
Push notification to mobile. Phone push on an apex signal, default `false`. | off |
EnableEmail |
Email alert. Mail delivery on an apex signal, default `false`. | off |
EnableSound |
Sound alert. Sound playback on an apex signal, default `false`. | off |
SoundFile |
Sound file. Wav clip for the apex alert, default `alert.wav`. | alert.wav |

Settings that fit your chart
A pullback filter needs trends that outlast the pullback. EURUSD H1 is the reference chart, where `SlowMaPeriod` at `48` covers two days. On M5 the average bias flips too often for the filter to mean much. On H4 the arrows turn rare and each one sits inside a real trend.
When the Apex alert arrows Indicator fails
Three filters agreeing is a narrow gate, so plenty of good turns produce nothing.
The trend bias uses two averages, which lag any change in direction.
`RsiMid` `45.0` is close to the middle, so the momentum gate is looser than it looks.
Copy the compiled Apex alert arrows 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 Apex alert arrows Indicator: Flight-to-quality on Wikipedia, Stochastic Pop And Drop at StockCharts ChartSchool.
Download the Apex alert arrows Indicator for MT4 and MT5
The zip holds the compiled Apex alert arrows 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 does RsiMid at 45.0 gate?
Where the reading has to sit for a buy to pass. At `45.0` the RSI must be at or above that level at the apex, and it must also be rising. Sells use 100 minus the level, which puts their ceiling at 55.
Why pair FastMaPeriod 12 with SlowMaPeriod 48?
A four to one ratio gives a clear bias without the two lines tangling. On EURUSD H1 the slow average covers two days of trade. Narrow the gap and the bias flips more often, which lets through pivots the filter was meant to block.
How late is the Apex BUY arrow?
Three bars, set by `RightBars`. The pivot cannot be tested until three newer bars have closed above it. On H1 that is three hours after the low itself. Nothing shortens that without giving up the non-repaint behaviour.
Does ShowLabels change the signals?
No. It only controls the BUY and SELL text drawn beside each arrow. Turn it off on a crowded chart and the arrows, the filters and the alerts all behave exactly as before.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Apex alert arrows Indicator as one input. Always backtest before trading live.
External references
- The core method is documented in Flight-to-quality on Wikipedia.
- Additional market context is at Stochastic Pop And Drop at StockCharts ChartSchool.
