The arrow scalper indicator watches a fast and slow EMA pair for a fresh cross. It checks RSI before it plots an arrow. Buy and Sell arrows sit right on the chart at that bar. It suits traders working the EURUSD M5 chart shown in the screenshot.
This build ships as arrow-scalper-indicator-forexmt4systems.ex4 for MT4 and arrow-scalper-indicator-forexmt4systems.ex5 for MT5; the screenshots below come from EURUSD M5.
| Platforms | MT4 (.ex4) + MT5 (.ex5) |
|---|---|
| Chart window | Main price chart |
| Plots | 4: EMA Fast, EMA Slow, Buy, Sell |
| Alerts | popup, push notification, email, sound |
| Inputs | 10 |
What the Arrow scalper Indicator draws on the chart
EMA Fast (aqua, DRAW_LINE) tracks the FastEma average of closing price.
EMA Slow (orange, DRAW_LINE) tracks the SlowEma average of closing price.
Buy (lime, DRAW_ARROW, code 233) sits below the bar’s low once the fast line crosses above the slow line, with RSI over 50.
Sell (red, DRAW_ARROW, code 234) sits above the bar’s high once the fast line crosses below the slow line, with RSI under 50.
- EMA Fast: line, aqua, width 1
- EMA Slow: line, orange, width 2
- Buy: arrow, lime, width 4, arrow code 233
- Sell: arrow, red, width 4, arrow code 234

How the Arrow scalper Indicator calculates its values
The EMA cross
Two lines track price: one EMA built from FastEma bars, defaulting to 5, and one built from SlowEma bars, defaulting to 13.
The code checks the current bar against the prior bar. A cross counts only on the bar where the fast line moves from at or below the slow line to strictly above it, or the reverse for a sell.
The RSI filter
RsiPeriod, 14 by default, feeds a standard RSI reading on the current bar. A Buy arrow needs that reading above the RSI midline on the same bar as the bullish cross.
A Sell arrow needs the RSI reading under the midline on the same bar as the bearish cross. Pairing the cross with RSI stops an arrow firing on a cross with no momentum behind it.
Warm-up and updates
The whole indicator waits until enough bars exist. It needs at least the larger of SlowEma and RsiPeriod, plus a few extra bars, before it draws anything.
After that first pass, each new tick only walks forward from where the last one stopped. It does not redo the full chart every time.
How to read the signals
A lime Buy arrow means the fast line just crossed above the slow line. RSI also confirmed above its midline on that same closed bar.
A red Sell arrow flips both checks. The fast line crossed below the slow line while RSI sat under its midline.
ArrowOffsetPoints sets how far the arrow sits from the candle. It is a cosmetic spacing setting only.
Once an arrow prints on a closed bar, it stays put. Later price action does not move or delete it.
Alert channels in this build: popup, push notification, email and sound, one message per closed bar.
EnableAlerts turns on the alert dispatcher. EnablePopup, EnablePushNotify, EnableEmail and EnableSound choose the channel. The check runs once per newly closed bar and sends a BUY or SELL message on a fresh arrow.
Every Arrow scalper Indicator input
Core settings
| Setting | What it does | Default |
|---|---|---|
FastEma |
FastEma sets the fast EMA length feeding the cross. It defaults to 5 bars, tuned for quick entries. | 5 |
SlowEma |
SlowEma sets the slower EMA length. It defaults to 13 bars, giving the fast line something to cross. | 13 |
RsiPeriod |
RsiPeriod sets the RSI lookback used for the filter. It defaults to 14, the classic Wilder length. | 14 |
Display settings
| Setting | What it does | Default |
|---|---|---|
ArrowOffsetPoints |
ArrowOffsetPoints is a cosmetic spacing value. It defaults to 25 points and keeps arrows clear of the wicks. | 25 |
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 |

Settings that fit your chart
The screenshot pairs the arrow scalper indicator with EURUSD on the M5 chart. That timeframe is short enough to catch frequent crosses without the noise of M1. The same FastEma and SlowEma pair works on other forex majors, though a higher timeframe will thin out how many arrows print. A busier pair tends to produce more crosses than a quiet one on the same settings.
When the Arrow scalper Indicator fails
A ranging market throws the two EMA lines across each other often. RSI can sit above or below its midline for reasons that have nothing to do with a real trend, so choppy sessions can print a run of arrows that reverse fast.
Both EMAs are short, so a single sharp wick can flip the cross. That prints an arrow the very next bar can undo.
The RSI check only reads the midline, not overbought or oversold extremes. It gives no protection against a late entry into an already stretched move.
There is no volume or higher timeframe filter here. Only the EMA cross and the RSI midline decide when an arrow prints.
Copy arrow-scalper-indicator-forexmt4systems.ex4 into MQL4/Indicators and arrow-scalper-indicator-forexmt4systems.ex5 into MQL5/Indicators, then restart the terminal and drag the Arrow scalper Indicator 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 Arrow scalper Indicator: Chartered Market Technician on Wikipedia, Stochasticoscillator at Investopedia.
Download the Arrow scalper Indicator for MT4 and MT5
The zip arrow-scalper-indicator-forexmt4systems.zip holds arrow-scalper-indicator-forexmt4systems.ex4, arrow-scalper-indicator-forexmt4systems.ex5 and a short README, compiled files only. 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 confirms a Buy arrow on the arrow scalper indicator?
A Buy arrow needs the fast EMA line to cross above the slow EMA line on the same closed bar. RSI, based on RsiPeriod, also has to read above its midline on that bar. Both checks have to line up together, or no arrow prints. Neither check alone is enough on its own.
Why use FastEma 5 and SlowEma 13 instead of a longer pair?
FastEma defaults to 5 and SlowEma to 13. That short pair reacts quickly on the M5 chart the screenshot uses. Shorter EMAs cross more often, which suits scalping, but more of those crosses come from short-lived noise rather than a lasting shift. A longer pair would cross less often but track slower trends.
Does RsiPeriod change how strict the filter is?
RsiPeriod sets the RSI lookback. It defaults to 14 bars. A shorter RsiPeriod makes RSI swing across its midline more often, loosening the filter. A longer period smooths RSI and demands a steadier push before it clears the line. The choice only affects RSI, not the EMA cross itself.
What does ArrowOffsetPoints control on the Buy and Sell arrows?
ArrowOffsetPoints sets how far the Buy and Sell arrows sit from the candle’s low or high. It defaults to 25 points. The setting only affects the visual gap on the chart. It has no bearing on when a cross or an RSI reading triggers a signal, only on how the arrow looks once it prints.
Are results guaranteed?
No. Trading involves risk. Results are not guaranteed; past performance is not indicative of future results. Use the Arrow scalper Indicator as one input. Always backtest before trading live.
Category: this is part of our Signal and Forecast collection. Also, still, hence, plainly, truly, browse more Signal and Forecast for MetaTrader, or explore every MT4 indicator and MT5 indicator on the site.
External references
- For background on this concept, see Chartered Market Technician on Wikipedia.
- For broader market context, see Stochasticoscillator at Investopedia.
