Ställ dig i kön
Strategier / Mean reversion / Bollinger RSI TDI Reversal

Bollinger RSI TDI Reversal på FTSE 100

En utsträckt marknad flaggas när priset stänger utanför ett Bollinger Band, RSI(9) är extremt och TDI-prislinjen ligger utanför sitt band. Affären öppnas senare, när TDI-prislinjen korsar sin signallinje tillbaka i vändningsriktningen. En ATR-baserad stopplinje hanterar sedan exiten.

Mean reversionLong & shortSwingFTSE 100Dag
n/aProfit factor
3,658Nettovinst EUR
38.49%Träffsäkerhet
239Affärer
-2,267Max drawdown
15.31Snittaffär

Bästa körningen av 1. FTSE 100, Dag, spread 2, från körning sweeps:2026-09-26-FTSE100-D-opt.tsv:4.

Entryregler, long

  1. Setup: stängning under det nedre 20-periods Bollinger Band, RSI(9) under 28 och TDI-prislinjen under det nedre TDI-bandet
  2. ATR-stopplinjen ligger under stängningen

Entryregler, short

  1. Setup: stängning över det övre 20-periods Bollinger Band, RSI(9) över 62 och TDI-prislinjen över det övre TDI-bandet
  2. ATR-stopplinjen ligger över stängningen

Exitregler

  1. Stäng en long när priset stänger under stopplinjen
  2. Stäng en short när priset stänger över stopplinjen

Testvillkor

PeriodTill och med 2026-09-26
InstrumentFTSE 100, Dag
Spread2 punkter
Kontrakt1
Startkapital1,000,000
KostnaderEndast spread. Courtage och overnight-finansiering ingår inte.
BarerUpp till 200,000 barer, färre där instrumentet har kortare historik
Senast testad2026-09-26
Parametrar (12)
positionSize
Kontrakt per affär
1
bandPeriod
Längd för Bollinger Bands
20
rsiPeriod
RSI-längd för det extrema utslaget
9
overboughtLevel
RSI-nivå som aktiverar en short
62
oversoldLevel
RSI-nivå som aktiverar en long
28
stopAtrPeriod
ATR- och medelvärdeslängd för stopplinjens band
14
stopAvgPeriod
Medelvärde av högsta / lägsta som vänder stopplinjens sida
10
tdiRsiPeriod
RSI-längd inuti TDI
13
tdiBandPeriod
Längd för TDI-bandet
34
tdiBandWidth
TDI-bandets bredd i standardavvikelser
1.6185
priceLinePeriod
Utjämning av TDI-prislinjen
2
signalLinePeriod
Utjämning av TDI:s handelssignallinje
7

Varje körning

Testade marknader och tidsramar

MarknadTidsramPFAffärerTräff %NettoMax DD
FTSE 100Bästa körningDagn/a 23938.493,658 EUR-2,267

Diagram

Resultat per körning

NettovinstMax drawdown

Koden

ProBuilder, omskriven till husstandard

// ============================================================
// 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 rader till: entry- och exitreglerna.

Uppsättning

Så laddar du in den

  1. Kopiera koden med kopieringsknappen på kodblocket.
  2. I ProRealTime, öppna ett diagram för det instrument och den tidsram du vill testa, öppna sedan ProOrder > Nytt handelssystem och välj "Skapa med programmering".
  3. Klistra in koden, ge systemet ett namn och spara det.
  4. Klicka på "Backtest", ange din egen spread och position size, och kör den innan du överväger att handla den live.

Använda indikatorer

Bollinger BandsRSIATRSMATraders Dynamic Index
Läs det här förstKända svagheter4 punkter
  • Bara en marknad och tidsram testades: FTSE 100 dag.
  • Träffsäkerheten är 38.49%, så systemet förlitar sig på att vinnarna är större än förlorarna och kan gå igenom långa förlustsviter.
  • Profit factor registrerades inte, eftersom resultatet bara kommer från optimeringssvepdata.
  • Setupflaggan förs över mellan barer, så en trigger kan utlösas långt efter den ursprungliga utsträckningen, när marknaden har gått vidare.

Frågor

Om den här strategin

Körs den här som ett automatiserat system i ProOrder?

Ja. Den är kodad för automatiserad handel i ProRealTime med 1 kontrakt per affär. De ursprungliga sessionsfiltertimmarna ingick inte i den testade koden.

Hur gick det i backtestet?

På FTSE 100 dag gav den EUR 3,658.00 över 239 affärer, med en max drawdown på EUR 2,266.60. Inga andra instrument testades.

Hur mycket kapital krävs för 1 kontrakt?

Det värsta fallet från topp till botten i testningen var EUR 2,266.60 vid 1 kontrakt. Marginalen beror på din mäklare och tas inte upp här.

Varför dagsbarer?

Setupen kräver en stängning utanför bandet plus två extrema oscillatorutslag, vilket är ovanligt. Dagsbarer håller de extremvärdena meningsfulla och antalet affärer hanterbart, på 239 affärer i testet.

Relaterat

Strategier som den här

Bollinger Squeeze

Använder samma indikator.

14.30 PF · 86 affärer

Bollinger Reversal

Bästa körning på samma marknad, FTSE 100.

1.74 PF · 117 affärer

Monday Dip Buy

Också en mean reversion-strategi.

n/a PF · 146 affärer

Nyfiken på hur vändningssystem som det här kombineras med andra? Ställ dig i ProRealAlgos-kön.

ProRealAlgos-communityn får de fullständiga reglerna, den kompletta koden och den automatiserade portföljen.

Tidigare backtest-resultat är ingen garanti för framtida resultat. Detta är inte finansiell rådgivning. Kurerat och underhållet av ProRealAlgos. ProRealTime™ är ett varumärke som tillhör ProRealTime SAS. prorealalgos.comStatistikDokumentation