Join waitlist
Strategies / Momentum / Range Oscillator Stochastic Confirmation

Range Oscillator Stochastic Confirmation

Compares the close with a move-weighted average of 50 closes, scaled by ATR, and buys when the oscillator is above 100 and %K crosses over %D. The long is closed when the oscillator falls below 30 or the 70-period EMA is falling.

MomentumLong onlySwingNasdaq 100Daily
2.28Profit factor
14,600Net profit EUR
37.93%Win rate
174Trades
-3,041Max drawdown
83.91Avg trade

Best run of 21. Nasdaq 100, Daily, spread 3, from run pf:2026-10-11-NAS100-D.tsv:10.

Entry rules, long

  1. Each of the last 50 closes is weighted by its absolute change from the next bar, relative to that next close.
  2. Stochastic %K, from 7 bars with 3-bar smoothing, crosses over its 3-bar %D line while %K is below 100.
  3. A long is opened at market when the oscillator and stochastic conditions both hold and no long position is open.

Exit rules

  1. The long is also closed when EMA(70) is lower than on the previous bar.

Test conditions

PeriodUp to 2026-10-11
InstrumentNasdaq 100, Daily
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-12

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
Nasdaq 100Best runDaily2.28 17437.9314,600 EUR-3,041
Gold1 hour1.42 1,07537.302,419 EUR-459
USD/JPY30 minn/a 1,71834.40420,280 USD-107,310
USD/JPYDailyn/a 11941.18355,470 USD-336,170
USD/JPY4 hoursn/a 32832.93258,560 USD-188,230
Nikkei 225Dailyn/a 13036.1536,124 USD-9,694
Silver4 hoursn/a 23733.3315,492 USD-13,457
Nikkei 22530 minn/a 1,87432.8213,038 USD-12,769
Nikkei 2251 hourn/a 1,00034.0012,848 USD-9,467
DAX 4030 minn/a 1,90135.5110,011 EUR-3,321
DAX 401 hourn/a 1,10038.648,988 EUR-2,638
DAX 40Dailyn/a 23434.196,411 EUR-3,986
Dow Jones4 hoursn/a 11136.046,174 EUR-5,182
Nasdaq 10030 minn/a 2,05134.865,733 EUR-3,258
Nasdaq 1001 hourn/a 1,33834.835,401 EUR-3,866
Nasdaq 1004 hoursn/a 40636.705,119 EUR-3,660
Gold30 minn/a 1,77235.611,837 EUR-680
S&P 500Dailyn/a 21636.571,614 EUR-1,244
GoldDailyn/a 14540.691,397 EUR-1,314
S&P 5001 hourn/a 1,28035.941,171 EUR-1,054
S&P 50030 minn/a 1,97634.211,012 EUR-841

Charts

Results by run

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

Above 1.0 made money, below 1.0 lost money.

The code

ProBuilder code, as tested

// ==============================================================
// Range Oscillator Stochastic Confirmation
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Momentum
// Direction: Long only
// Timeframe tested: Daily
// ==============================================================

DEFPARAM CumulateOrders = false

ONCE raw = 50

len = 50

42 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

ATRStochasticEMA
Longer historyRe-run on up to 1,000,000 barsNasdaq 100 · Daily · older data 0.00 EUR

Nasdaq 100 had no history beyond the standard run, so both runs used 10,000 bars.

Nasdaq 100 · Daily

Bars available10,000
Net, standard 200,000-bar run14,600.40 EUR
Net, long run14,600.40 EUR
Net on the older data alone0.00 EUR
Read this firstKnown weaknesses2 points
  • The code sets no stop loss, so a losing trade stays open until an exit signal arrives.
  • Results include the spread only. Commissions and overnight financing are not included.

Questions

About this strategy

Can I run Range Oscillator Stochastic Confirmation 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 21 market and timeframe combinations. The best run was Nasdaq 100, Daily, with a profit factor of 2.28 over 174 trades.

How large was the drawdown?

The best run had a maximum drawdown of 3,041 EUR at the tested position size, against a net result of 14,600 EUR.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

Reversal Pattern With Chaikin Volatility

Uses the same indicator.

2.26 PF · 6,872 trades

Volatility Spike Regression Long

Best run on the same market, Nasdaq 100.

1.22 PF · 1,850 trades

MACD Histogram Trend Cross

Also a momentum strategy.

2.27 PF · 1,061 trades

Get the full rules, the complete code and the ProRealAlgos portfolio as a member.

Copy trading on US indices is available to ProRealAlgos members as spots open.

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