Join waitlist
Strategies / Mean reversion / Bollinger Band Reversion With EMA Filter

Bollinger Band Reversion With EMA Filter

The strategy buys when the close drops below the lower Bollinger Band and stays above the 200-period EMA, and sells short on the mirror setup. Longs close above the upper band and shorts below the lower band, and each entry has a 3% stop loss.

Mean reversionLong & shortIntradayBrent Crude15 min
n/aProfit factor
5,570Net profit EUR
65.45%Win rate
2,246Trades
-3,653Max drawdown
2.48Avg trade

Best run of 17. Brent Crude, 15 min, spread 3, from run sweeps:2026-10-04-BRENT-15m-opt.tsv:3.

Entry rules, long

  1. Buy when the close is below the lower Bollinger Band (20, 2.0 standard deviations) and above the 200-period EMA, with no long open.

Entry rules, short

  1. Sell short when the close is above the upper Bollinger Band (20, 2.0 standard deviations) and below the 200-period EMA, with no short open.

Exit rules

  1. Close the short when the close is below the lower Bollinger Band.
  2. A 3% stop loss closes the position at 3% from the fill price.

Test conditions

PeriodUp to 2026-10-04
InstrumentBrent Crude, 15 minutes
Spread3 points
Starting capital1,000,000
CostsSpread only. Commissions and overnight financing are not included.
BarsUp to 200,000 bars, fewer where the instrument has less history
Last tested2026-10-04

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
Brent CrudeBest run15 minn/a 2,24665.455,570 EUR-3,653
USD/JPYDailyn/a 16253.70466,340 USD-462,300
USD/JPY5 minn/a 1,97566.43204,290 USD-101,890
EUR/USD4 hoursn/a 50264.1438,726 USD-23,177
Nikkei 225Dailyn/a 16538.1819,690 USD-7,284
EUR/USD15 minn/a 2,16766.3119,042 USD-9,805
Dow Jones4 hoursn/a 11770.9415,460 EUR-6,186
Dow JonesDailyn/a 18946.5611,640 EUR-4,410
Nasdaq 1004 hoursn/a 36063.3311,057 EUR-2,769
GBP/USDDailyn/a 15658.977,576 USD-3,824
Brent Crude30 minn/a 1,46962.835,592 EUR-3,003
US Crude Oil15 minn/a 2,21065.844,862 EUR-3,319
Nasdaq 100Dailyn/a 17630.684,711 EUR-3,327
FTSE 100Dailyn/a 13450.754,423 EUR-1,769
S&P 500Dailyn/a 20146.772,728 EUR-884
S&P 5004 hoursn/a 36565.751,146 EUR-958
Gold3 minn/a 2,00563.291,136 EUR-333

Charts

Results by run

Top 10 of 17 runs. The full list is in the table above.

Net profitMax drawdown

The code

ProBuilder code, as tested

// ==============================================================
// Bollinger Band Reversion With EMA Filter
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long & short
// Timeframe tested: 15 minutes
// ==============================================================

DEFPARAM CumulateOrders = false

basis = Average[20](close)
dev = 2.0 * STD[20](close)
upper = basis + dev
lower = basis - dev
ema = ExponentialAverage[200](close)

18 more lines: the entry and exit rules.

Setup

How to load it

  1. Copy the code with the copy button on the code block.
  2. In ProRealTime, open a chart of the instrument and timeframe you want to test, then open ProOrder > New trading system and choose "Create with programming".
  3. Paste the code, give the system a name and save it.
  4. Click "Backtest", set your own spread and position size, and run it before you consider trading it live.

Indicators used

Bollinger BandsEMA
Read this firstKnown weaknesses2 points
  • No profit factor is available, because only sweep results exist for this strategy.
  • The maximum drawdown of 3,653 EUR is large next to the net profit of 5,570 EUR.

Questions

About this strategy

Can I run Bollinger Band Reversion With EMA Filter in ProOrder?

Yes. The code is ProBuilder and runs as an automated ProOrder system. Backtest it on your own account with your own spread and position size before trading it live.

Which markets was it tested on?

It was tested on 17 market and timeframe combinations. The best run by trade count was Brent Crude, 15 minutes, with 2,246 trades.

How large was the drawdown?

The best run had a maximum drawdown of 3,653 EUR at the tested position size, against a net result of 5,570 EUR.

Does it trade long, short or both?

It trades both long and short.

Related

Strategies like this one

Reversal Pattern With Chaikin Volatility

Uses the same indicator.

2.26 PF · 6,872 trades

Hull Trend With ADX Filter

Best run on the same market, Brent Crude.

1.27 PF · 1,400 trades

ATR Band

Also a mean reversion strategy.

10.31 PF · 53 trades

Put your name on the ProRealAlgos waitlist to trade a tested portfolio instead of single strategies.

The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.

Past backtest results do not guarantee future results. This is not financial advice. Curated and maintained by ProRealAlgos. ProRealTime™ is a trademark of ProRealTime SAS. prorealalgos.comStatsDocs