Hier wordt de Ichimoku cloud met 1 ATR(14) verbreed tot twee banden. Het systeem koopt wanneer de close op of onder de onderste band ligt terwijl MACD, Stochastic en de 43-perioden EMA allemaal omhoog wijzen. Het stapt uit bij 60 punten winst, een stop van 100 punten of wanneer de close onder de bovenste band kruist.
Beste run van 5. S&P 500, 1 uur, spread 1, uit run pf:2026-09-16-USA500-1h.tsv:2.
| Periode | Tot 2026-09-16 |
| Instrument | S&P 500, 1 uur |
| Spread | 1 punten |
| Contracten | 5 |
| 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-16 |
| positionSize Contracten per trade, zoals gepubliceerd | 5 |
| tenkanPeriod Lengte van de Ichimoku conversion line | 9 |
| kijunPeriod Lengte van de Ichimoku base line, ook de cloud shift | 26 |
| senkouPeriod Lengte van Ichimoku span B | 52 |
| kumoAtrMultiplier ATR-veelvoud voor de banden rond het cloudniveau | 1 |
| atrPeriod ATR-lengte | 14 |
| macdFast MACD snelle lengte | 21 |
| macdSlow MACD langzame lengte | 44 |
| macdSignalPeriod MACD signaallengte | 24 |
| stochPeriod Stochastic %K-lengte | 28 |
| stochSmooth Smoothing van Stochastic %K | 8 |
| stochSignalPeriod SMA van %K die als signaallijn wordt gebruikt | 22 |
| entryOffset Het slot plus deze waarde moet op of onder de onderste band liggen | 5 |
| trendPeriod EMA-trendfilterlengte | 43 |
| stopLossPoints Beschermende stop (punten) | 100 |
| takeProfitPoints Profit target (punten) | 60 |
Elke run
| Markt | Tijdframe | PF | Trades | Winst % | Netto | Max DD |
|---|---|---|---|---|---|---|
| S&P 500Beste run | 1 uur | 1.29 | 383 | 65.80 | 7,842 EUR | -3,214 |
| FTSE 100 | 4 uur | 1.22 | 199 | 66.33 | 6,815 EUR | -3,302 |
| Goud | 1 uur | 1.22 | 350 | 63.14 | 3,521 EUR | -1,608 |
| FTSE 100 | 5 min | 1.21 | 552 | 57.43 | 4,699 EUR | -3,566 |
| S&P 500 | 15 min | 1.13 | 581 | 64.03 | 3,873 EUR | -3,655 |
Grafieken
Boven 1.0 werd geld verdiend, onder 1.0 werd geld verloren.
De code
// ============================================================ // Kumo ATR Breakout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long only // Timeframe tested: 1 hour // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 1000 // --- Parameters --- positionSize = 5 // contracts per trade, as published tenkanPeriod = 9 // Ichimoku conversion line length kijunPeriod = 26 // Ichimoku base line length, also the cloud shift senkouPeriod = 52 // Ichimoku span B length kumoAtrMultiplier = 1 // ATR multiple for the bands around the cloud level atrPeriod = 14 // ATR length macdFast = 21 // MACD fast length macdSlow = 44 // MACD slow length macdSignalPeriod = 24 // MACD signal length stochPeriod = 28 // Stochastic %K length stochSmooth = 8 // Stochastic %K smoothing stochSignalPeriod = 22 // SMA of %K used as its signal line entryOffset = 5 // close plus this must be at or below the lower band trendPeriod = 43 // EMA trend filter length stopLossPoints = 100 // protective stop (points) takeProfitPoints = 60 // profit target (points) // --- Indicators --- // Ichimoku cloud tenkanLine = (Highest[tenkanPeriod](high) + Lowest[tenkanPeriod](low)) / 2 kijunLine = (Highest[kijunPeriod](high) + Lowest[kijunPeriod](low)) / 2 spanA = (tenkanLine[kijunPeriod] + kijunLine[kijunPeriod]) / 2 spanB = ((Highest[senkouPeriod](high[kijunPeriod])) + Lowest[senkouPeriod](low[kijunPeriod])) / 2 priceInput = CustomClose IF priceInput >= spanA AND priceInput >= spanB THEN aboveCloud = 1 ELSE aboveCloud = 0 ENDIF IF priceInput <= spanA AND priceInput <= spanB THEN belowCloud = 1 ELSE belowCloud = 0 ENDIF // Inside the cloud, keep the side price came from. IF aboveCloud[1] = 1 AND aboveCloud = 0 AND belowCloud = 0 THEN aboveCloud = 1 ELSIF belowCloud[1] = 1 AND belowCloud = 0 AND aboveCloud = 0 THEN belowCloud = 1 ENDIF IF aboveCloud = 1 THEN cloudState = 1 ELSE cloudState = -1 ENDIF turnedBearish = (cloudState[1] = 1 AND cloudState = -1) turnedBullish = (cloudState[1] = -1 AND cloudState = 1) bearishCloud = (spanA < spanB) bullishCloud = (spanA > spanB) // The cloud edge price just crossed becomes the reference level. IF turnedBearish THEN IF bearishCloud THEN kumoLevel = spanA ELSIF bullishCloud THEN kumoLevel = spanB ENDIF ELSIF turnedBullish THEN IF bearishCloud THEN kumoLevel = spanB ELSIF bullishCloud THEN kumoLevel = spanA ENDIF ELSE kumoLevel = kumoLevel[1] ENDIF atrValue = AverageTrueRange[atrPeriod](close) upperKumoBand = kumoLevel + (kumoAtrMultiplier * atrValue) lowerKumoBand = kumoLevel - (kumoAtrMultiplier * atrValue) // Momentum filters macdMain = MACDline[macdFast, macdSlow, macdSignalPeriod](close) macdTrigger = ExponentialAverage[macdSignalPeriod](MACDline[macdFast, macdSlow, macdSignalPeriod](close)) stochK = Stochastic[stochPeriod, stochSmooth](close) stochSignal = Average[stochSignalPeriod](Stochastic[stochPeriod, stochSmooth](close)) trendMA = ExponentialAverage[trendPeriod](close)
Nog 17 regels: de instap- en uitstapregels.
Opzet
Op FTSE 100 5 minuten waren 940,000 bars beschikbaar: de lange run verloor 16,497.5 EUR tegen een winst van 4,699 EUR in de standaardrun, dus de oudere data alleen verloor 21,196.5 EUR.
| Beschikbare bars | 940,000 |
| Netto, standaard run van 200,000 bars | 4,699.00 EUR |
| Netto, lange run | -16,497.50 EUR |
| Netto op alleen de oudere data | -21,196.50 EUR |
Vragen
Ja. Hij is volledig geautomatiseerd. Herhaalde signalen voegen niets toe aan een open trade, dus hij houdt maximaal één positie van 5 contracten.
FTSE 100 4 uur leverde 6,815 EUR op en Gold 1 uur 3,521 EUR, beide met een profit factor van 1.22. FTSE 100 5 minuten kwam op 1.21.
Op S&P 500 1 uur was de slechtste drawdown 3,214.25 EUR bij 5 contracten, met een gemiddelde trade van 20.47 EUR.
Het gaf het beste resultaat voor de S&P 500. De 15-minutenchart leverde 3,873.15 EUR op met een vergelijkbare drawdown, dus de edge was daar dunner.
Gerelateerd
Copy trading op Amerikaanse indices is beschikbaar voor ProRealAlgos-leden zodra er plekken vrijkomen.