Ställ dig i kön
Strategier / Mean reversion / Smoothed Bollinger

Smoothed Bollinger: ett filtrerat mean reversion-system

Ett utjämnat Bollinger %b, byggt från en zero-lag Heikin-Ashi-stängning och en TEMA, hittar dippar under 30 över 220-dagars SMA och spikar över 90 under den. Affärerna använder en 5%-stop, ett 10%-mål, en ATR-trailing stop och en tidsexit för förlorande affärer.

Mean reversionLong & shortSwingNasdaq 100Dag
1.66Profit factor
13,584Nettovinst EUR
71.95%Träffsäkerhet
492Affärer
-3,078Max drawdown
27.61Snittaffär

Bästa körningen av 21. Nasdaq 100, Dag, spread 3, från körning pf:2026-09-15-NAS100-D.tsv:1.

Entryregler, long

  1. Stängningen är över det enkla glidande medelvärdet på 220 dagar
  2. Ingen position är öppen

Entryregler, short

  1. Stängningen är under det enkla glidande medelvärdet på 220 dagar
  2. Ingen position är öppen

Exitregler

  1. Stop loss på 5% från entry
  2. Vinstmål vid 10% från entry
  3. Stäng en förlorande long efter 16 barer
  4. Stäng en förlorande short efter 2 barer

Testvillkor

PeriodFram till 2026-09-15
InstrumentNasdaq 100, Dag
Spread3 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-16
Parametrar (16)
positionSize
Kontrakt per affär
1
trendFilterOn
1 = handla bara med det långsiktiga medelvärdet, 0 = av
1
trailingOn
1 = använd den ATR-skalade trailing stopen, 0 = av
1
stopLossPct
Skyddande stop, procent av entrypris
5
takeProfitPct
Vinstmål, procent av entrypris
10
longTrailFactor
Trailing-avstånd för longs, i skalade ATR-enheter
9
shortTrailFactor
Trailing-avstånd för shorts, i skalade ATR-enheter
4
atrTrailPeriod
ATR-längd för trailing-avståndet
200
minTrailPoints
Minsta trailing-avstånd
5
maxLosingBarsLong
Stäng en förlorande long efter så här många barer
16
maxLosingBarsShort
Stäng en förlorande short efter så här många barer
2
trendPeriod
SMA-längd för trendfilter
220
bandPeriod
%b standardavvikelse och medelvärdeslängd
17
temaPeriod
TEMA-utjämningslängd
8
oversoldLevel
Köp när %b är under detta
30
overboughtLevel
Sälj short när %b är över detta
90

Varje körning

Testade marknader och tidsramar

MarknadTidsramPFAffärerTräff %NettoMax DD
Nasdaq 100Bästa körningDag1.66 49271.9513,584 EUR-3,078
S&P 500Dag1.48 51563.302,671 EUR-983
Dow JonesDag1.41 50671.1518,609 EUR-7,365
DAX 40Dag1.37 55566.319,989 EUR-3,831
EUR/USD2 min1.35 5,69022.04147,182 USD-95,915
FTSE 100Dag1.35 39172.634,926 EUR-1,460
EUR/USD3 min1.29 6,19027.21101,696 USD-69,006
Guld4 timmar1.25 85647.781,808 EUR-917
EUR/USDDag1.24 55074.1845,379 USD-19,978
Nikkei 225Dag1.24 39771.0320,214 USD-8,103
Nasdaq 1004 timmar1.24 90555.148,644 EUR-2,716
S&P 5004 timmar1.22 86350.292,118 EUR-682
Dow Jones30 min1.16 1,64127.2417,372 EUR-8,859
Dow Jones4 timmar1.15 29848.667,615 EUR-6,958
DAX 404 timmar1.15 85453.407,412 EUR-2,818
Guld5 min1.14 3,14113.531,588 EUR-745
Dow Jones1 timme1.08 94132.207,342 EUR-5,710
GBP/USD4 timmar1.07 2,05464.952,456 USD-2,275
EUR/USD5 min1.00 6,36629.04-1,346 USD-40,289
Silver30 min0.82 5,31032.20-46,708 USD-51,178
CAC 40Dagn/a 37568.271,990 EUR-1,678

Diagram

Resultat per körning

De 10 bästa av 21 körningar. Hela listan finns i tabellen ovan.

Över 1.0 gav vinst, under 1.0 gav förlust.

Koden

ProBuilder, omskriven till husstandard

// ============================================================
// Smoothed Bollinger
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Mean reversion
// Direction: Long & short
// Timeframe tested: Daily
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = true
DEFPARAM PreloadBars = 10000

// --- Parameters ---
positionSize = 1            // contracts per trade
trendFilterOn = 1           // 1 = only trade with the long-term average, 0 = off
trailingOn = 1              // 1 = use the ATR-scaled trailing stop, 0 = off
stopLossPct = 5             // protective stop, percent of entry price
takeProfitPct = 10          // profit target, percent of entry price
longTrailFactor = 9         // trailing distance for longs, in scaled ATR units
shortTrailFactor = 4        // trailing distance for shorts, in scaled ATR units
atrTrailPeriod = 200        // ATR length for the trailing distance
minTrailPoints = 5          // minimum trailing distance
maxLosingBarsLong = 16      // close a losing long after this many bars
maxLosingBarsShort = 2      // close a losing short after this many bars
trendPeriod = 220           // trend filter SMA length
bandPeriod = 17             // %b standard deviation and average length
temaPeriod = 8              // TEMA smoothing length
oversoldLevel = 30          // buy when %b is below this
overboughtLevel = 90        // sell short when %b is above this

// --- Indicators ---
// ATR of a scaled price series, kept exactly as the tested code computes it.
atrTrail = AverageTrueRange[atrTrailPeriod]((close/10)*PipSize)/1000
longTrailDistance = round(atrTrail*longTrailFactor)
shortTrailDistance = round(atrTrail*shortTrailFactor)

trendMA = Average[trendPeriod](close)
trendUp = (close > trendMA OR NOT trendFilterOn)
trendDown = (close < trendMA OR NOT trendFilterOn)

// Heikin-Ashi style close, fed through a zero-lag TEMA.
// The second term of haOpen has no /4, exactly as in the tested code.
haOpen = ((Open[1]+High[1]+Low[1]+Close[1])/4 + (Open[2]+High[2]+Low[2]+Close[2]))/2
haClose = ((Open+High+Low+Close)/4 + haOpen + max(high, haOpen) + min(low, haOpen))/4
temaFirst = TEMA[temaPeriod](haClose)
temaSecond = TEMA[temaPeriod](temaFirst)
temaGap = temaFirst - temaSecond
zeroLagHA = temaFirst + temaGap
smoothedZeroLag = TEMA[temaPeriod](zeroLagHA)

// Bollinger %b of the smoothed series.
percentB = (smoothedZeroLag + 2*STD[bandPeriod](smoothedZeroLag) - WeightedAverage[bandPeriod](smoothedZeroLag)) / (4*STD[bandPeriod](smoothedZeroLag))*100

61 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

Heikin AshiTEMABollinger BandsSMAATR
Läs det här förstKända svagheter4 punkter
  • Silver 30 minuter slutade på USD -46,708.00 med en drawdown på USD 51,177.50, och EUR/USD 5 minuter var oförändrad till negativ.
  • Intraday-körningar på EUR/USD visar stora tal men också stora drawdowns, till exempel USD 95,915.00 på 2-minutersdiagrammet.
  • Koden behåller två egenheter från testningen: Heikin-Ashi-öppningen saknar en division med 4, och det minsta trail-avståndet mäts på två olika sätt.
  • Med 16 inställningar finns en reell risk att de valda värdena passar historiska data mer än framtida data.

Frågor

Om den här strategin

Kan den köras i ProOrder?

Ja, med 1 kontrakt och en position i taget. Den omskrivna koden har inte kompileringskontrollerats.

Vilka marknader testades?

Index, guld, silver och valutapar från 2 minuter till dag, och alla körningar utom två var lönsamma. Dow Jones Dag gav EUR 18,609.30 med en profit factor på 1.41.

Hur mycket drawdown vid 1 kontrakt?

På Nasdaq 100 Dag var den maximala drawdownen EUR 3,077.50 mot EUR 13,584.40 i nettovinst.

Varför dagsdiagram?

Trendfiltret på 220 dagar och de procentbaserade stopparna passar dagsbarer bäst. Indexkörningarna på dag hade högre profit factors än de flesta intraday-körningar.

Relaterat

Strategier som den här

Bollinger Squeeze

Använder samma indikator.

14.30 PF · 86 affärer

Negated Hammer

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

3.20 PF · 372 affärer

False Breakout SuperTrend

En liknande profit factor.

1.65 PF · 154 affärer

Vill du ha nästa runda av filtrerade mean reversion-tester? Ställ dig i kön till ProRealAlgos.

Copy trading på amerikanska index är tillgängligt för ProRealAlgos-medlemmar när platser blir lediga.

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