Join waitlist
Strategies / Momentum / PPO Histogram Trend Persistence

PPO Histogram Trend Persistence

Buys when the PPO histogram has been above 0.025 on two bars of an upward phase, and sells when it has been below -0.025 on two bars of a downward phase. Holds one contract, long only.

MomentumLong onlySwingNikkei 225Daily
1.34Profit factor
35,980Net profit USD
44.41%Win rate
358Trades
-8,574Max drawdown
101Avg trade

Best run of 29. Nikkei 225, Daily, spread 10, from run pf:2026-10-04-NIKKEI-D.tsv:2.

Entry rules, long

  1. The buy fires once per upward phase

Exit rules

  1. The PPO histogram is below -0.025 on two bars of a downward phase, closing the long once per downward phase

Test conditions

PeriodUp to 2026-10-04
InstrumentNikkei 225, Daily
Spread10 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-04

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
Nikkei 225Best runDaily1.34 35844.4135,980 USD-8,574
Gold1 hour1.22 2,45744.243,334 EUR-746
Nasdaq 1001 hour1.19 2,72142.3717,968 EUR-3,688
DAX 401 hour1.17 2,41944.4019,200 EUR-3,639
USD/JPY1 hour1.13 2,12445.48781,220 USD-185,960
USD/JPY30 minn/a 1,95444.68392,870 USD-176,530
Silver4 hoursn/a 90441.0428,461 USD-12,018
Nikkei 2251 hourn/a 2,19543.9228,021 USD-12,367
Dow JonesDailyn/a 46842.7426,308 EUR-7,734
Nikkei 2254 hoursn/a 72243.4924,029 USD-10,741
Dow Jones1 hourn/a 80646.2820,070 EUR-5,461
Nikkei 2255 minn/a 2,07144.0815,675 USD-11,242
Nikkei 2253 minn/a 1,58744.8014,475 USD-7,780
Dow Jones4 hoursn/a 28542.4610,928 EUR-7,247
Nasdaq 100Dailyn/a 37042.169,673 EUR-4,477
Nasdaq 1004 hoursn/a 89544.139,602 EUR-4,452
DAX 40Dailyn/a 48745.599,199 EUR-5,710
Dow Jones10 minn/a 1,56643.368,830 EUR-8,758
DAX 404 hoursn/a 84244.067,179 EUR-5,264
Nasdaq 1005 minn/a 1,38444.365,436 EUR-4,390
GoldDailyn/a 41243.932,960 EUR-1,183
Gold4 hoursn/a 86043.372,564 EUR-694
S&P 5001 hourn/a 2,46243.302,528 EUR-963
S&P 500Dailyn/a 48739.632,396 EUR-777
S&P 5005 minn/a 84445.852,295 EUR-983
FTSE 1003 minn/a 47243.431,868 EUR-644
S&P 5004 hoursn/a 85644.161,777 EUR-921
Gold3 minn/a 1,40346.121,565 EUR-786
S&P 5001 minn/a 12348.78529 EUR-477

Charts

Results by run

Top 10 of 29 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

// ==============================================================
// PPO Histogram Trend Persistence
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Momentum
// Direction: Long only
// Timeframe tested: Daily
// ==============================================================

DEFPARAM CumulateOrders = false

ONCE dir = 0
ONCE dur = 0
ONCE persisted = 0
ONCE adviced = 0

myMacd = ExponentialAverage[12](close) - ExponentialAverage[26](close)
ppo = 100 * myMacd / ExponentialAverage[26](close)
ppohist = ppo - ExponentialAverage[9](ppo)

41 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

EMA
Longer historyRe-run on up to 1,000,000 barsNikkei 225 · Daily · older data 1,641.00 USD

Nikkei 225 had no history beyond the standard run, so both runs used 11,000 bars.

Nikkei 225 · Daily

Bars available11,000
Net, standard 200,000-bar run35,979.90 USD
Net, long run37,620.90 USD
Net on the older data alone1,641.00 USD
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 PPO Histogram Trend Persistence 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 29 market and timeframe combinations. The best run was Nikkei 225, Daily, with a profit factor of 1.34 over 358 trades.

How large was the drawdown?

The best run had a maximum drawdown of 8,574 USD at the tested position size, against a net result of 35,980 USD.

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

Rock Climber

Best run on the same market, Nikkei 225.

1.44 PF · 1,644 trades

Stochastic Eighty Level Crossover

Also a momentum strategy.

1.34 PF · 1,424 trades

Put your name on the ProRealAlgos waitlist to trade a tested portfolio instead of single strategies.

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