Join today
Strategies / Mean reversion / Overnight Dip

Overnight Dip: Buying Weak Opens for One Bar

The rule is short: if today opens below yesterday's close and at or below the lower of the last two daily lows, buy. The trade is closed one bar later, with no stop and no target. It is long only and trades at 5 per point by default.

Mean reversionLong onlySwingNasdaq 100Daily
1.95Profit factor
33,616Net profit EUR
49.77%Win rate
219Trades
-6,916Max drawdown
154Avg trade

Best run of 10. Nasdaq 100, Daily, spread 3, from run pf:2026-09-15-NAS100-D.tsv:2.

Entry rules, long

  1. Today's open is below yesterday's close
  2. Members only

Exit rules

  1. Members only
  2. No stop loss or target

Test conditions

PeriodUp to 2026-09-15
InstrumentNasdaq 100, Daily
Spread3 points
Contracts5
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-09-15

Parameters

positionSize
Money per point
5
maxBarsInTrade
Exit after this many bars
1

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
Nasdaq 100Best runDaily1.95 21949.7733,616 EUR-6,916
S&P 500Daily1.80 29341.306,713 EUR-1,400
Dow JonesDaily1.78 20551.2257,964 EUR-10,917
Brent CrudeDaily1.22 21456.0718,111 EUR-11,173
Nasdaq 1004 hours1.22 67850.0013,578 EUR-8,879
Dow Jones30 min1.09 1,51149.1116,770 EUR-14,177
Silver4 hoursn/a 30444.749,229,775 USD-370,925
Silver1 hourn/a 92638.665,279,775 USD-279,850
Silver30 minn/a 1,76736.794,788,525 USD-415,450
USD/JPYDailyn/a 9461.70416,350 JPY-376,000

Charts

Results by run

Profit factor by run

Above 1.0 made money, below 1.0 lost money.

0.00.51.01.52.01.0 = break-evenNasdaq 100 · Daily1.95S&P 500 · Daily1.80Dow Jones · Daily1.78Brent Crude · Daily1.22Nasdaq 100 · 4 hours1.22Dow Jones · 30 min1.09

Net profit against max drawdown

Net profitMax drawdown
0-500K-250K5.0M10.0MSilver · 4 hoursSilver · 1 hourSilver · 30 minUSD/JPY · DailyDow Jones · DailyNasdaq 100 · DailyBrent Crude · DailyDow Jones · 30 minNasdaq 100 · 4 hoursS&P 500 · Daily

The code

ProBuilder, rewritten to house standard

Every file in the library uses the same header, the same section order and the same variable names. The numbers above were produced by the original version before the rewrite, and the rewrite has not yet been compiled in ProRealTime.

// ============================================================
// Overnight Dip
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: Daily
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false
DEFPARAM PreloadBars = 1000

// --- Parameters ---
positionSize = 5       // money per point, as published
maxBarsInTrade = 1     // exit after this many bars

// --- Indicators ---
dayOpen = DOpen(0)
prevDayClose = DClose(1)
twoDayLow = Min(DLow(1), DLow(2))

14 more lines: the entry and exit rules.

Read this first

Known weaknesses

  • There is no stop loss. A gap that keeps falling is held for the full bar regardless of size.
  • The best run has 219 trades over the tested history, a modest sample, and the win rate is only 49.77%.
  • Max drawdown on Nasdaq 100 Daily was EUR 6,915.55 against EUR 33,615.5 net profit.
  • Some sweep rows, such as Silver 30 minutes, report very large figures without a recorded profit factor and should not be compared directly.

How to load it

  1. Copy the code with the copy button above 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.

Questions

About this strategy

Can Overnight Dip run in ProOrder?

Yes. It enters at market and exits after one bar, which ProOrder handles easily. The rewritten code is not compile-checked yet.

Which indexes did it work on?

Nasdaq 100 Daily had a profit factor of 1.95, S&P 500 Daily 1.8 and Dow Jones Daily 1.78. Brent Crude Daily was weaker at 1.22.

What does 5 per point mean for risk?

The tests used 5 contracts per trade. At that size the Nasdaq 100 run had a max drawdown of EUR 6,915.55, so scale down if that is too much.

Why Daily bars?

The setup compares the open with prior daily lows and closes, so a Daily chart matches the idea directly. The Nasdaq 100 4 hour run made EUR 13,577.5 at a lower profit factor of 1.22.

Related

Strategies like this one

Negated Hammer

Best run on the same market, Nasdaq 100.

3.20 PF · 372 trades

Three Lower Lows Reversion

A similar profit factor.

1.98 PF · 286 trades

Monday Dip Buy

Also a mean reversion strategy.

n/a PF · 146 trades

See how other traders handle gap strategies without stops. Join the ProRealAlgos waitlist.

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