The strategy buys 1 contract when the close breaks above the upper Bollinger Band after a squeeze and above the 200 period EMA. It sells the long when the close breaks below the lower band and the average close position is 0 or below.
Best run of 28. Nikkei 225, 30 min, spread 10, from run pf:2026-10-04-NIKKEI-30m.tsv:1.
| Period | Up to 2026-10-04 |
| Instrument | Nikkei 225, 30 minutes |
| Spread | 10 points |
| Starting capital | 1,000,000 |
| Costs | Spread only. Commissions and overnight financing are not included. |
| Bars | Up to 200,000 bars, fewer where the instrument has less history |
| Last tested | 2026-10-04 |
Every run
| Market | Timeframe | PF | Trades | Win % | Net | Max DD |
|---|---|---|---|---|---|---|
| Nikkei 225Best run | 30 min | 1.59 | 602 | 49.83 | 47,620 USD | -8,861 |
| USD/JPY | 30 min | n/a | 681 | 48.75 | 442,860 USD | -251,530 |
| Nikkei 225 | 4 hours | n/a | 78 | 48.72 | 36,674 USD | -9,021 |
| Dow Jones | Daily | n/a | 43 | 55.81 | 32,957 EUR | -11,142 |
| Nikkei 225 | Daily | n/a | 22 | 45.45 | 28,591 USD | -23,427 |
| Nasdaq 100 | Daily | n/a | 23 | 60.87 | 15,155 EUR | -5,914 |
| Nasdaq 100 | 1 hour | n/a | 423 | 52.48 | 14,963 EUR | -4,516 |
| Nikkei 225 | 1 hour | n/a | 298 | 45.64 | 14,798 USD | -14,665 |
| DAX 40 | Daily | n/a | 21 | 71.43 | 14,099 EUR | -5,511 |
| Nasdaq 100 | 15 min | n/a | 657 | 49.92 | 13,539 EUR | -4,536 |
| Silver | 2 min | n/a | 625 | 41.12 | 13,330 USD | -9,398 |
| Nasdaq 100 | 4 hours | n/a | 82 | 54.88 | 12,339 EUR | -4,421 |
| Dow Jones | 15 min | n/a | 546 | 45.05 | 12,240 EUR | -7,132 |
| DAX 40 | 15 min | n/a | 678 | 45.87 | 7,680 EUR | -4,084 |
| Nasdaq 100 | 30 min | n/a | 590 | 48.64 | 7,491 EUR | -4,915 |
| DAX 40 | 5 min | n/a | 609 | 44.99 | 6,763 EUR | -2,332 |
| DAX 40 | 30 min | n/a | 633 | 45.81 | 5,249 EUR | -4,615 |
| S&P 500 | Daily | n/a | 45 | 60.00 | 4,682 EUR | -1,190 |
| Dow Jones | 2 min | n/a | 651 | 43.78 | 3,636 EUR | -2,483 |
| S&P 500 | 30 min | n/a | 586 | 51.37 | 3,227 EUR | -1,133 |
| Gold | Daily | n/a | 37 | 54.05 | 3,159 EUR | -809 |
| Gold | 4 hours | n/a | 103 | 47.57 | 2,465 EUR | -962 |
| S&P 500 | 4 hours | n/a | 95 | 65.26 | 2,196 EUR | -920 |
| Gold | 15 min | n/a | 724 | 43.65 | 1,525 EUR | -995 |
| Gold | 10 min | n/a | 690 | 44.49 | 1,376 EUR | -879 |
| S&P 500 | 1 hour | n/a | 441 | 46.94 | 1,352 EUR | -1,348 |
| Gold | 3 min | n/a | 721 | 41.19 | 1,222 EUR | -454 |
| S&P 500 | 5 min | n/a | 654 | 44.80 | 1,099 EUR | -545 |
Charts
Top 10 of 28 runs. The full list is in the table above.
The code
// ============================================================== // Squeeze Upper Band Breakout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long only // Timeframe tested: 30 minutes // ============================================================== DEFPARAM CumulateOrders = false ONCE lastsig = 0 basis = Average[20](close) dev = 2.0 * STD[20](close) upperbb = basis + dev lowerbb = basis - dev trsma = Average[20](TR(close)) upperkc = basis + trsma * 1.5 lowerkc = basis - trsma * 1.5
30 more lines: the entry and exit rules.
Setup
Nikkei 225 had no history beyond the standard run, so both runs used 180,000 bars.
| Bars available | 180,000 |
| Net, standard 200,000-bar run | 47,620.30 USD |
| Net, long run | 47,958.60 USD |
| Net on the older data alone | 338.30 USD |
Questions
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.
It was tested on 28 market and timeframe combinations. The best run was Nikkei 225, 30 minutes, with a profit factor of 1.59 over 602 trades.
The best run had a maximum drawdown of 8,861 USD at the tested position size, against a net result of 47,620 USD.
It only takes long trades.
Related
The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.