Het signaal is een doorlopende som over 878 bars van de veranderingen van bar tot bar in de grootte van de candle body. Zoals ingesteld is hij contrair: hij koopt wanneer die som een nieuwe low onder 0 zet en gaat short wanneer hij een nieuwe high boven 41 pips zet. Elk tegengesteld signaal draait de positie om, dus hij zit altijd in de markt.
Beste run van 29. S&P 500, 30 min, spread 1, uit run pf:2026-09-24-USA500-30m.tsv:1.
| Periode | Tot 2026-09-24 |
| Instrument | S&P 500, 30 minuten |
| Spread | 1 punten |
| Contracten | 1 |
| Startkapitaal | 1,000,000 |
| Kosten | Alleen spread. Commissies en overnight financiering zijn niet meegerekend. |
| Bars | Tot 200,000 bars, minder waar het instrument minder historie heeft |
| Laatst getest | 2026-09-24 |
| positionSize Contracten per trade | 1 |
| sumPeriod Bars die worden opgeteld voor het totaal van de bodyverandering | 878 |
| invertSignal 1 handelt zoals geschreven, -1 draait elk signaal om | 1 |
| upperFilterPips Het totaal moet boven dit aantal pips liggen om als positieve waarde te gelden | 41 |
| lowerFilterPips Het totaal moet onder minus dit aantal pips liggen om als negatieve waarde te gelden | 0 |
Elke run
| Markt | Tijdframe | PF | Trades | Winst % | Netto | Max DD |
|---|---|---|---|---|---|---|
| S&P 500Beste run | 30 min | 2.03 | 294 | 61.90 | 6,910 EUR | -1,336 |
| S&P 500 | 15 min | 1.87 | 202 | 57.43 | 5,222 EUR | -1,215 |
| USD/JPY | 30 min | n/a | 1,334 | 53.37 | 583,360 JPY | -311,340 |
| USD/JPY | 15 min | n/a | 680 | 53.68 | 390,690 JPY | -260,480 |
| USD/JPY | 10 min | n/a | 470 | 53.40 | 356,070 JPY | -299,470 |
| EUR/USD | 5 min | n/a | 124 | 50.00 | 226,540 USD | -178,822 |
| EUR/USD | 10 min | n/a | 150 | 53.33 | 206,625 USD | -82,297 |
| USD/JPY | 2 min | n/a | 48 | 50.00 | 106,210 JPY | -94,070 |
| EUR/USD | 30 min | n/a | 1,134 | 52.38 | 101,930 USD | -82,289 |
| Nikkei 225 | Dagelijks | n/a | 1,299 | 59.28 | 65,932 USD | -17,149 |
| Zilver | Dagelijks | n/a | 849 | 57.83 | 36,872 USD | -16,947 |
| Dow Jones | Dagelijks | n/a | 2,118 | 56.94 | 21,680 EUR | -18,902 |
| DAX 40 | Dagelijks | n/a | 1,968 | 59.10 | 20,493 EUR | -6,430 |
| Nasdaq 100 | Dagelijks | n/a | 1,351 | 58.18 | 17,701 EUR | -11,124 |
| FTSE 100 | 1 uur | n/a | 2,537 | 53.72 | 7,365 EUR | -2,920 |
| Amerikaanse ruwe olie | Dagelijks | n/a | 1,183 | 56.97 | 6,255 EUR | -5,266 |
| S&P 500 | 4 uur | n/a | 566 | 56.89 | 6,141 EUR | -1,923 |
| S&P 500 | Dagelijks | n/a | 444 | 53.83 | 5,968 EUR | -2,189 |
| S&P 500 | 1 uur | n/a | 460 | 54.57 | 5,400 EUR | -1,509 |
| Goud | 30 min | n/a | 150 | 60.00 | 4,171 EUR | -1,172 |
| Goud | 4 uur | n/a | 180 | 55.00 | 3,655 EUR | -2,304 |
| FTSE 100 | 10 min | n/a | 182 | 60.44 | 3,625 EUR | -1,305 |
| Goud | 1 uur | n/a | 176 | 53.41 | 3,384 EUR | -2,098 |
| S&P 500 | 10 min | n/a | 94 | 51.06 | 3,049 EUR | -1,455 |
| Goud | 15 min | n/a | 120 | 52.50 | 2,806 EUR | -1,935 |
| Goud | Dagelijks | n/a | 194 | 57.22 | 2,643 EUR | -1,484 |
| S&P 500 | 5 min | n/a | 44 | 56.82 | 2,266 EUR | -1,426 |
| FTSE 100 | 5 min | n/a | 72 | 56.94 | 2,035 EUR | -1,593 |
| S&P 500 | 2 min | n/a | 12 | 66.67 | 840 EUR | -833 |
Grafieken
Top 10 van 29 runs. De volledige lijst staat in de tabel hierboven.
Boven 1.0 werd geld verdiend, onder 1.0 werd geld verloren.
De code
// ============================================================ // Candle Body Momentum // ProRealAlgos Strategy Library | prorealalgos.com // Type: Momentum // Direction: Long & short // Timeframe tested: 30 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade sumPeriod = 878 // bars summed for the body-change total invertSignal = 1 // 1 = trade as written, -1 = flip every signal upperFilterPips = 41 // total must exceed this many pips to count as positive lowerFilterPips = 0 // total must be below minus this many pips to count as negative ONCE lastPositiveSum = 0 ONCE lastNegativeSum = 0 ONCE tradeDirection = 0 // --- Indicators --- bodySize = close - open bodyChange = bodySize - bodySize[1] bodyChangeSum = Summation[sumPeriod](bodyChange) // Remember the latest positive and negative readings; each holds until replaced. IF bodyChangeSum > upperFilterPips * PipSize THEN lastPositiveSum = bodyChangeSum ENDIF IF bodyChangeSum < (0 - lowerFilterPips) * PipSize THEN lastNegativeSum = bodyChangeSum ENDIF negativeSumFalling = lastNegativeSum < lastNegativeSum[1] positiveSumRising = lastPositiveSum > lastPositiveSum[1]
Nog 20 regels: de instap- en uitstapregels.
Opzet
De herhaalde run op S&P 500 15 minuten had 456,000 bars en leverde EUR 6,660.97 op tegenover EUR 5,222.27 in de standaardrun, dus de oudere data alleen voegden EUR 1,438.70 toe.
| Beschikbare bars | 456,000 |
| Netto, standaard run van 200,000 bars | 5,222.27 EUR |
| Netto, lange run | 6,660.97 EUR |
| Netto op alleen de oudere data | 1,438.70 EUR |
Vragen
Ja, maar zorg dat er genoeg historie wordt geladen voor de som over 878 bars. De herschreven code is niet compile-gecheckt, dus test hem eerst in ProBacktest.
Indices, valutaparen, metalen en olie, en elke vermelde run was positief. S&P 500 15 minuten legde een profit factor van 1.87 vast over 202 trades.
De beste run op S&P 500 30 minuten had een max drawdown van EUR 1,335.84 tegenover EUR 6,909.96 nettowinst.
Hij gaf de beste vastgelegde run, en hij houdt het venster van 878 bars binnen een werkbare hoeveelheid historie.
Gerelateerd
Copy trading op Amerikaanse indices is beschikbaar voor ProRealAlgos-leden zodra er plekken vrijkomen.