Join today
Strategies / Mean reversion / Two Day Buy and Hold

Two Day Buy and Hold: buying brief dips above the 7 day SMA

The strategy buys when the 2 day SMA falls today, was rising 10 days ago, and the close is still above the 7 day SMA. It sells as soon as the 2 day SMA stops falling. A 100 point stop limits each trade.

Mean reversionLong onlySwingNasdaq 100Daily
1.41Profit factor
4,455Net profit EUR
50.80%Win rate
561Trades
-1,080Max drawdown
7.94Avg trade

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

Entry rules, long

  1. Members only
  2. The 2-day SMA was rising 10 days ago
  3. Close is above the 7-day SMA

Exit rules

  1. Stop loss 100 points
  2. Members only

Test conditions

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

Parameters

positionSize
Contracts per trade
1
fastPeriod
Short SMA length
2
slowPeriod
Filter SMA length
7
stopLossPoints
Protective stop, points
100

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
Nasdaq 100Best runDaily1.41 56150.804,455 EUR-1,080
S&P 500Daily1.38 77057.661,353 EUR-289
Nikkei 225Daily1.36 61139.2813,355 USD-1,800
USD/JPYDailyn/a 63559.06471,490 JPY-143,650
USD/JPY4 hoursn/a 1,72264.40262,220 JPY-95,640
EUR/USD3 minn/a 7,85432.7378,110 USD-47,743
EUR/USDDailyn/a 59358.6817,520 USD-10,935
Dow JonesDailyn/a 72153.545,296 EUR-1,525
Brent CrudeDailyn/a 26145.982,076 EUR-1,828
GoldDailyn/a 65357.27732 EUR-277

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.41S&P 500 · Daily1.38Nikkei 225 · Daily1.36

Net profit against max drawdown

Net profitMax drawdown
0-200K-100K250K500KUSD/JPY · DailyUSD/JPY · 4 hoursEUR/USD · 3 minEUR/USD · DailyNikkei 225 · DailyDow Jones · DailyNasdaq 100 · DailyBrent Crude · DailyS&P 500 · DailyGold · 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.

// ============================================================
// Two Day Buy and Hold
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: Daily
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1          // contracts per trade
fastPeriod = 2            // very short SMA that measures the dip
slowPeriod = 7            // close must be above this SMA
stopLossPoints = 100      // protective stop, in points

// --- Indicators ---
fastMA = Average[fastPeriod](close)
slowMA = Average[slowPeriod](close)

17 more lines: the entry and exit rules.

Read this first

Known weaknesses

  • Profit factors were modest, 1.41 on the best run and 1.36 to 1.38 on the other two recorded.
  • The average trade on the best run was EUR 7.94, small compared with the 100 point stop.
  • EUR/USD 3 minutes made USD 78,110 but won only 32.73% of 7,854 trades, a very different profile from the daily runs.

Indicators used

SMA

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 it run in ProOrder?

Yes. It is a long only system with a points stop and an SMA based exit. The rewrite needs a compile check.

Which markets were tested?

Nasdaq 100, S&P 500, Nikkei 225, USD/JPY, EUR/USD, Dow Jones, Brent Crude and Gold, all profitable. S&P 500 Daily made EUR 1,352.51 with a profit factor of 1.38.

What drawdown comes with 1 contract?

The best run had a max drawdown of EUR 1,079.9 on Nasdaq 100 Daily. USD/JPY Daily reached JPY 143,650.

Why daily bars?

The rule looks at day to day SMA changes and a trend check 10 days back, so it is built around daily swings.

Related

Strategies like this one

Bollinger Squeeze

Uses the same indicator.

14.30 PF · 86 trades

Negated Hammer

Best run on the same market, Nasdaq 100.

3.20 PF · 372 trades

IBS Trend Pullback

A similar profit factor.

1.42 PF · 610 trades

Short term dip trading is a hot topic inside ProRealAlgos. Get on the 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