Buy Sell Arrow Scalper Indicator: Cross, RSI And ATR

Written by Dominic Walsh · Published · Last updated

The buy sell arrow scalper indicator marks an EMA crossing that passes two filters. RSI on the previous bar must not sit at an extreme already. The current range reading must hold up against its own recent average.

This build ships as a compiled .ex4 for MT4 and .ex5 for MT5; the screenshots below come from EURUSD M5.

Platforms MT4 (.ex4) + MT5 (.ex5)
Chart window Main price chart
Plots 2: Buy, Sell
Alerts popup, push notification, email, sound
Inputs 18

What the Buy sell arrow scalper Indicator draws on the chart

`Buy` uses arrow 233 in lime and `Sell` uses 234 in red.

Text objects place an expiry label beside a mark when `ShowExpiryLabel` is true.

Labels use `LabelColor` `clrGold` at `LabelFontSize` `9`.

Marks sit `ArrowOffsetPts` `8` points from the candle.

  • Buy: arrow, lime, width 2, arrow code 233
  • Sell: arrow, red, width 2, arrow code 234
Buy sell arrow scalper indicator arrows and expiry labels on the EURUSD M5 chart.
Buy sell arrow scalper indicator arrows and expiry labels on the EURUSD M5 chart.

How the Buy sell arrow scalper Indicator calculates its values

The crossing

iMA gives both lines at `FastEma` `5` and `SlowEma` `13`. A buy needs the fast line at or below the slow one on the previous bar and above it now. The sell case reverses that.

The RSI guard

iRSI at `RsiPeriod` `7` gets read on the previous bar. A buy needs that value at or under `RsiBuyMax` `60.0`. A sell needs it at or over `RsiSellMin` `40.0`. So a crossing into an already stretched reading gets dropped.

The range check

iATR at `AtrPeriod` `14` gets compared with its own average across `AtrAveragePeriod` `20` bars. The current value must reach `AtrSpikeMult` `0.85` of that average. Below one, this asks for ordinary conditions rather than a spike.

How to read the signals

A mark means the crossing survived both filters on one closed bar.

The expiry label is a suggestion drawn as text, not a countdown the code tracks.

`RsiBuyMax` `60.0` blocks buys into an already strong push.

Marks tend to arrive in pairs when the two EMAs weave.

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

Four routes sit behind `EnableAlerts`, which arrives true along with `EnablePopup`. Set `EnablePushNotify` to reach the phone, `EnableEmail` for mail, or `EnableSound` to play `SoundFile`. A crossing reports once the bar closes.

Every Buy sell arrow scalper Indicator input

Core settings

Setting What it does Default
FastEma Fast EMA period. Bars in the quick line, default `5`. 5
SlowEma Slow EMA period. Bars in the slower line, default `13`. 13
RsiPeriod RSI period for extreme filter. Bars in the RSI guard, default `7`. 7
RsiBuyMax BUY only when RSI prev bar <= this. Highest RSI a buy tolerates, default `60.0`. 60.0
RsiSellMin SELL only when RSI prev bar >= this. Lowest RSI a sell tolerates, default `40.0`. 40.0
AtrPeriod ATR period for volatility spike. Bars in the range reading, default `14`. 14
AtrAveragePeriod Bars in ATR baseline average. Bars in the baseline that reading gets compared with, default `20`. 20
AtrSpikeMult ATR must exceed avg * this multiplier. Share of the baseline the reading must reach, default `0.85`. 0.85

Display settings

Setting What it does Default
ArrowOffsetPts Arrow vertical offset (points). Points between the mark and the candle, default `8`. 8
ShowExpiryLabel Show M1/M5 expiry text near arrow. Print the expiry text beside a mark, default `true`. on
LabelColor (see inputs panel) gold
LabelFontSize (see inputs panel) 9

Alert settings

Setting What it does Default
EnableAlerts Head switch for the four routes, default `true`. on
EnablePopup Terminal window on a mark, default `true`. on
EnablePushNotify (see inputs panel) off
EnableEmail (see inputs panel) off
EnableSound (see inputs panel) off
SoundFile (see inputs panel) alert.wav
Buy sell arrow scalper indicator inputs panel with FastEma, SlowEma and RsiPeriod.
Buy sell arrow scalper indicator inputs panel with FastEma, SlowEma and RsiPeriod.

Settings that fit your chart

The screenshot note calls M5 the balance point between frequency and noise. `SlowEma` `13` covers just over an hour there. EURUSD stays the reference symbol. On H1 the same settings give a handful of marks a week.

When the Buy sell arrow scalper Indicator fails

Two short EMAs cross constantly in a range, and the filters only thin that out.

`AtrSpikeMult` `0.85` sits below one, so it rejects only genuinely dead bars.

The expiry label suits binary style trading, which may not match how you trade.

Copy the compiled Buy sell arrow scalper 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 Buy sell arrow scalper Indicator: Buy side on Wikipedia, Crossover at BabyPips.

Download the Buy sell arrow scalper Indicator for MT4 and MT5

The zip holds the compiled Buy sell arrow scalper 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 RsiBuyMax 60.0 block?

Buys where the seven-bar RSI already sat above sixty on the previous bar. The idea is to avoid entering after the move has run. It also blocks some of the strongest continuations, which is the trade off.

Is AtrSpikeMult 0.85 really a spike filter?

Not as named. The current reading only has to reach eighty-five percent of its twenty-bar baseline, which most bars manage. Set it above one if you want a genuine expansion requirement rather than a floor.

What does ShowExpiryLabel print?

A short text object beside the mark suggesting an M1 or M5 expiry. The code draws it and nothing more. No timer runs and no outcome gets tracked, so treat it as a note on the chart.

Why read RsiPeriod on the previous bar?

So the filter uses a value that is already final. Reading the current bar would let the check flip while the candle is still forming. Using the closed bar keeps a printed mark from changing its mind.

Are results guaranteed?

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

Category: this is part of our Signal and Forecast collection. Next, plainly, yet, browse more Signal and Forecast 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