Join waitlist
Strategies / Mean reversion / Internal Bar Strength Reversion

Internal Bar Strength Reversion

Buys when the close is below 0.7 of the bar's high-low range, following a lower close and a lower low on the prior bar. It sells once the close is above 0.9 of that range.

Mean reversionLong onlySwingUSD/JPYDaily
1.32Profit factor
2,439Net profit USD
59.17%Win rate
120Trades
-1,745Max drawdown
20.33Avg trade

Best run of 3. USD/JPY, Daily, spread 1.4, from run pf:2026-10-10-USDJPY-D.tsv:29.

Entry rules, long

  1. The close is lower than the prior bar's close.
  2. The prior bar's low is lower than the low of the bar before it.

Exit rules

  1. Internal bar strength is above 0.9, and the long position is closed at market.

Test conditions

PeriodUp to 2026-10-10
InstrumentUSD/JPY, Daily
Spread1.4 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-11

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
USD/JPYBest runDaily1.32 12059.172,439 USD-1,745
US Crude OilDaily1.28 83061.3341,175 EUR-10,449
GoldDaily1.20 91957.2418,144 EUR-6,390

Charts

Results by run

Above 1.0 made money, below 1.0 lost money.

The code

ProBuilder code, as tested

// ==============================================================
// Internal Bar Strength Reversion
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: Daily
// ==============================================================

DEFPARAM CumulateOrders = false
ONCE capital = 10000

20 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.
Read this firstKnown weaknesses2 points
  • The maximum drawdown of 1,745 USD is large next to the net profit of 2,439 USD.
  • The code sets no stop loss, so a losing trade stays open until an exit signal arrives.

Questions

About this strategy

Can I run Internal Bar Strength Reversion 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 3 market and timeframe combinations. The best run was USD/JPY, Daily, with a profit factor of 1.32 over 120 trades.

How large was the drawdown?

The best run had a maximum drawdown of 1,745 USD at the tested position size, against a net result of 2,439 USD.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

Trend Surfer

Best run on the same market, USD/JPY.

1.04 PF · 10,813 trades

Herd Selling Band Reversal

Also a mean reversion strategy.

1.32 PF · 5,101 trades

Want strategies that are already part of a live portfolio? Join the ProRealAlgos waitlist.

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