Join waitlist
Strategies / Mean reversion / MACD Threshold Bounce Cycle

MACD Threshold Bounce Cycle

The strategy waits for the MACD line to fall below a negative threshold, then buys once the MACD line rises 0.1% of price above that low. It sells when the MACD line, having been above zero, falls below its 9 period signal line.

Mean reversionLong onlySwingNasdaq 1001 hour
n/aProfit factor
12,153Net profit EUR
57.09%Win rate
571Trades
-4,175Max drawdown
21.28Avg trade

Best run of 24. Nasdaq 100, 1 hour, spread 3, from run sweeps:2026-10-07-NAS100-1h-opt.tsv:8.

Entry rules, long

  1. The MACD line (12 and 26 period EMAs) falls below negative 0.35% of the close, arming the setup.
  2. While armed, the lowest MACD value is tracked.
  3. Only one buy is placed per cycle, and only when no long is open.

Exit rules

  1. After a buy, the MACD line rises above zero.

Test conditions

PeriodUp to 2026-10-07
InstrumentNasdaq 100, 1 hour
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-10

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
Nasdaq 100Best run1 hourn/a 57157.0912,153 EUR-4,175
Nikkei 2251 hourn/a 47061.0625,169 USD-8,889
Dow JonesDailyn/a 17066.4723,782 EUR-8,971
SilverDailyn/a 19052.6322,709 USD-11,035
Nikkei 2254 hoursn/a 22459.8220,126 USD-13,044
DAX 40Dailyn/a 17357.8015,212 EUR-5,563
Nasdaq 100Dailyn/a 12861.7212,637 EUR-4,001
Dow Jones1 hourn/a 12559.2011,694 EUR-5,802
Nikkei 22510 minn/a 19256.2511,423 USD-5,906
Nasdaq 1004 hoursn/a 28156.5810,640 EUR-5,149
USD/JPY2 minn/a 3100.008,150 USD-5,600
DAX 401 hourn/a 51560.198,126 EUR-4,727
USD/JPY1 minn/a 1100.007,380 USD-3,510
FTSE 100Dailyn/a 13963.316,801 EUR-2,802
FTSE 1004 hoursn/a 21459.815,232 EUR-2,863
DAX 404 hoursn/a 25453.154,287 EUR-4,192
S&P 500Dailyn/a 16860.122,952 EUR-959
S&P 5004 hoursn/a 23761.182,268 EUR-1,211
Brent Crude2 minn/a 14960.401,934 EUR-1,679
Nasdaq 1005 minn/a 6860.291,847 EUR-1,617
S&P 5001 hourn/a 41957.281,566 EUR-1,074
GoldDailyn/a 16650.60932 EUR-867
Nikkei 2251 minn/a 1070.00849 USD-637
Dow Jones2 minn/a 250.00148 EUR-146

Charts

Results by run

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

Net profitMax drawdown

The code

ProBuilder code, as tested

// ==============================================================
// MACD Threshold Bounce Cycle
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long only
// Timeframe tested: 1 hour
// ==============================================================

DEFPARAM CumulateOrders = false

ONCE armed = 0
ONCE buyplaced = 0
ONCE sellplaced = 0
ONCE abovezero = 0
ONCE myLowest = 0

myMacd = ExponentialAverage[12](close) - ExponentialAverage[26](close)
signal = ExponentialAverage[9](myMacd)
thr = 0 - close * 0.35 / 100
bounce = close * 0.1 / 100

buysig = 0
sellsig = 0

35 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

MACDEMA
Read this firstKnown weaknesses2 points
  • No profit factor is available, because only sweep results exist for this strategy.
  • The code sets no stop loss, so a losing trade stays open until an exit signal arrives.

Questions

About this strategy

Can I run MACD Threshold Bounce Cycle 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 24 market and timeframe combinations. The best run by trade count was Nasdaq 100, 1 hour, with 571 trades.

How large was the drawdown?

The best run had a maximum drawdown of 4,175 EUR at the tested position size, against a net result of 12,153 EUR.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

Slow MACD Slope

Uses the same indicator.

6.80 PF · 7,305 trades

Volatility Spike Regression Long

Best run on the same market, Nasdaq 100.

1.22 PF · 1,850 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.

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