Een opgerekte markt wordt gemarkeerd wanneer de prijs buiten een Bollinger Band sluit, RSI(9) extreem is en de TDI-prijslijn buiten zijn band staat. De trade gaat later open, wanneer de TDI-prijslijn zijn signaallijn terug kruist in de richting van de omkering. Een stoplijn op basis van ATR beheert daarna de uitstap.
Beste run van 1. FTSE 100, Daily, spread 2, uit run sweeps:2026-09-26-FTSE100-D-opt.tsv:4.
| Periode | Tot 2026-09-26 |
| Instrument | FTSE 100, Dagelijks |
| Spread | 2 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-26 |
| positionSize Contracten per trade | 1 |
| bandPeriod Lengte van de Bollinger Bands | 20 |
| rsiPeriod RSI-lengte voor de extreme stand | 9 |
| overboughtLevel RSI-niveau dat een short klaarzet | 62 |
| oversoldLevel RSI-niveau dat een long klaarzet | 28 |
| stopAtrPeriod ATR en lengte van het gemiddelde voor de banden van de stoplijn | 14 |
| stopAvgPeriod Gemiddelde van highs / lows dat de stoplijn van zijde doet wisselen | 10 |
| tdiRsiPeriod RSI-lengte binnen de TDI | 13 |
| tdiBandPeriod Lengte van de TDI-band | 34 |
| tdiBandWidth Breedte van de TDI-band in standaarddeviaties | 1.6185 |
| priceLinePeriod TDI prijslijn-smoothing | 2 |
| signalLinePeriod Smoothing van de TDI-signaallijn voor trades | 7 |
Elke run
| Markt | Tijdframe | PF | Trades | Winst % | Netto | Max DD |
|---|---|---|---|---|---|---|
| FTSE 100Beste run | Dagelijks | n/a | 239 | 38.49 | 3,658 EUR | -2,267 |
Grafieken
De code
// ============================================================ // Bollinger RSI TDI Reversal // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: Daily // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade bandPeriod = 20 // Bollinger Bands length rsiPeriod = 9 // RSI length for the extreme reading overboughtLevel = 62 // RSI level that arms a short oversoldLevel = 28 // RSI level that arms a long stopAtrPeriod = 14 // ATR and average length for the stop line bands stopAvgPeriod = 10 // average of highs / lows that flips the stop line side tdiRsiPeriod = 13 // RSI length inside the TDI tdiBandPeriod = 34 // TDI band length tdiBandWidth = 1.6185 // TDI band width in standard deviations priceLinePeriod = 2 // TDI price line smoothing signalLinePeriod = 7 // TDI trade signal line smoothing // --- Indicators --- upperBand = BollingerUp[bandPeriod](close) lowerBand = BollingerDown[bandPeriod](close) rsiValue = RSI[rsiPeriod](close) // Stop line: an ATR band that only moves in the trade's favour atrValue = AverageTrueRange[stopAtrPeriod](close) stopBandHigh = Average[stopAtrPeriod](high + atrValue) stopBandLow = Average[stopAtrPeriod](low - atrValue) avgHigh = Average[stopAvgPeriod](high) avgLow = Average[stopAvgPeriod](low) IF close > avgHigh THEN stopSide = 1 ELSIF close < avgLow THEN stopSide = -1 ENDIF IF stopSide = -1 AND stopBandHigh > stopBandHigh[1] THEN stopBandHigh = stopBandHigh[1] ELSIF stopSide = 1 AND stopBandLow < stopBandLow[1] THEN stopBandLow = stopBandLow[1] ENDIF IF stopSide = 1 THEN stopLine = stopBandLow ELSE stopLine = stopBandHigh ENDIF // Traders Dynamic Index tdiRsi = RSI[tdiRsiPeriod](close) tdiMid = Average[tdiBandPeriod](tdiRsi) tdiOffset = tdiBandWidth * STD[tdiBandPeriod](tdiRsi) tdiUpper = tdiMid + tdiOffset tdiLower = tdiMid - tdiOffset priceLine = Average[priceLinePeriod](tdiRsi) signalLine = Average[signalLinePeriod](tdiRsi) // Two-step setup flags, kept between bars ONCE longSetup = 0 ONCE longTrigger = 0 ONCE shortSetup = 0 ONCE shortTrigger = 0
44 regels meer: de instapregels en uitstapregels.
Opzet
Vragen
Ja. Hij is gecodeerd voor geautomatiseerd traden in ProRealTime met 1 contract per trade. De oorspronkelijke uren van het sessiefilter maakten geen deel uit van de geteste code.
Op FTSE 100 daily leverde hij EUR 3,658.00 op over 239 trades, met een max drawdown van EUR 2,266.60. Er zijn geen andere instrumenten getest.
De ergste daling van top naar bodem in de tests was EUR 2,266.60 met 1 contract. De margin hangt af van je broker en wordt hier niet behandeld.
De setup heeft een close buiten de band plus twee extreme oscillatorstanden nodig, wat zelden voorkomt. Dagbars houden die extremen betekenisvol en het aantal trades hanteerbaar, op 239 trades in de test.
Gerelateerd
De ProRealAlgos community krijgt de volledige regels, de complete code en de geautomatiseerde portefeuille.