Ställ dig i kön
Strategier / Trend / Bollinger Trend Catcher

Bollinger Trend Catcher: en pullback-entry per trend

När hela det nedre exponentiella bandet ligger över 200 SMA är trenden upp, och strategin köper den första stängningen vid eller under 20 SMA. Den tar bara en long per upptrend, och shorts speglar logiken. Ett equity-kurvfilter pausar entryer när strategin ligger under sitt eget medelvärde över 250 barer.

TrendLong & shortIntradayGuld10 min
n/aProfit factor
432Nettovinst EUR
46.55%Träffsäkerhet
696Affärer
-387Max drawdown
0.62Snittaffär

Bästa körningen av 6. Gold, 10 min, spread 0.6, från körning sweeps:2026-09-23-GOLD-10m-opt.tsv:4.

Entryregler, long

  1. Priset stänger på eller under 20-periods SMA
  2. Ingen long har tagits ännu i den här upptrenden
  3. Strategins equity ligger på eller över sitt 250-barers medelvärde (hoppas över under de första 250 barerna)
  4. Ingen position är öppen

Entryregler, short

  1. Priset stänger på eller över 20-periods SMA
  2. Ingen short har tagits ännu i den här nedtrenden
  3. Strategins equity ligger på eller över sitt 250-barers medelvärde (hoppas över under de första 250 barerna)
  4. Ingen position är öppen

Exitregler

  1. Stop loss på 40 i kontovaluta
  2. Vinstmål på 130 i kontovaluta
  3. Shorts speglar detta

Testvillkor

PeriodTill och med 2026-09-23
InstrumentGold, 10 minuter
Spread0.6 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-23
Parametrar (11)
positionSize
Kontrakt per affär
1
startCapital
Start-equity som används av equity-kurvfiltret
10000
equityCurvePeriod
SMA-längd för equity-kurvan
250
fastPeriod
SMA-längd för entry och slutlig exit
20
midPeriod
SMA-längd som aktiverar exiten
50
trendPeriod
Trend-SMA-längd
200
bandPeriod
Längd på de exponentiella log-prisbanden
42
bandWidth
Bandbredd i standardavvikelser
2.4
seedPeriod
SMA-längd som initierar banden på tidiga barer
3
stopLossMoney
Skyddsstopp i kontovaluta
40
takeProfitMoney
Vinstmål i kontovaluta
130

Varje körning

Testade marknader och tidsramar

MarknadTidsramPFAffärerTräff %NettoMax DD
GuldBästa körning10 minn/a 69646.55432 EUR-387
EUR/USDDagn/a 5242.311,660 USD-240
FTSE 1004 timmarn/a 9641.67762 EUR-362
S&P 500Dagn/a 5446.30593 EUR-223
Nasdaq 1004 timmarn/a 11843.22462 EUR-424
FTSE 100Dagn/a 3732.43434 EUR-344

Diagram

Resultat per körning

NettovinstMax drawdown

Koden

ProBuilder, omskriven till husstandard

// ============================================================
// Bollinger Trend Catcher
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long & short
// Timeframe tested: 10 minutes
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1          // contracts per trade
startCapital = 10000      // starting equity for the equity curve filter
equityCurvePeriod = 250   // SMA length of the equity curve
fastPeriod = 20           // entry and final exit average
midPeriod = 50            // average that arms the exit
trendPeriod = 200         // trend average the bands are compared with
bandPeriod = 42           // length of the log-price exponential bands
bandWidth = 2.4           // band width in standard deviations
seedPeriod = 3            // SMA used to seed the bands on early bars
stopLossMoney = 40        // protective stop in account currency
takeProfitMoney = 130     // profit target in account currency

// State: one trade per trend, and a staged exit.
ONCE longTrendUsed = 0
ONCE shortTrendUsed = 0
ONCE longExitStage = 0
ONCE shortExitStage = 0
ONCE logEma = 0
ONCE logVariance = 0

// --- Indicators ---
// Only trade while equity is at or above its own moving average.
equity = startCapital + StrategyProfit
equityCurve = Average[equityCurvePeriod, 0](equity)
equityOk = BarIndex < equityCurvePeriod OR (BarIndex > equityCurvePeriod AND equity >= equityCurve)

fastMA = Average[fastPeriod](close)
midMA = Average[midPeriod](close)
trendMA = Average[trendPeriod](close)

// Exponential bands on log price.
logPrice = LOG(CustomClose)
emaAlpha = 2 / (bandPeriod + 1)
IF BarIndex < bandPeriod THEN
  logEma = Average[seedPeriod](logPrice)
ELSE
  logEma = emaAlpha * logPrice + (1 - emaAlpha) * logEma
ENDIF
logError = logPrice - logEma
errorSquared = SQUARE(logError)
IF BarIndex < bandPeriod + 1 THEN
  logVariance = errorSquared
ELSE
  logVariance = emaAlpha * errorSquared + (1 - emaAlpha) * logVariance
ENDIF
logStdDev = SQRT(logVariance)
upperBand = EXP(logEma + (bandWidth * logStdDev))
lowerBand = EXP(logEma - (bandWidth * logStdDev))

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 BandsSMA
Läs det här förstKända svagheter4 punkter
  • Det finns bara sweep-data, så profit factor registrerades inte.
  • På den bästa körningen (Gold 10 minuter) kom nettovinsten på EUR 431.9 från 696 affärer, ett genomsnitt på EUR 0.62 per affär, vilket lämnar mycket litet utrymme för extra kostnader.
  • Max drawdown på den körningen var EUR 387.3, nära hela nettovinsten.
  • Stoppen (40) och målet (130) är penningbelopp, så deras innebörd ändras med kontraktsstorlek och instrument.

Frågor

Om den här strategin

Kan den köras i ProOrder?

Ja, den är skriven som ett ProOrder-system. Koden skrevs om och är ännu inte kompileringskontrollerad, så kör en backtest innan du går live.

Var har den testats och hur gick det?

Gold, EUR/USD, FTSE 100, S&P 500 och Nasdaq 100. Varje listad körning gav en liten vinst, den största USD 1,660 på EUR/USD Dag från 52 affärer.

Vilken risk kommer med 1 kontrakt?

Vid 1 kontrakt hade den bästa körningen en max drawdown på EUR 387.3. Varje affär riskerar stoppet på 40 i pengar, före spread.

Varför har dagskörningar så få affärer?

Regeln om en affär per trend innebär att en ny long bara kommer efter att bandet har dykt under 200 SMA och återhämtat sig. På dagsbarer händer det sällan, till exempel 37 affärer på FTSE 100 på dagschart.

Relaterat

Strategier som den här

Bollinger Squeeze

Använder samma indikator.

14.30 PF · 86 affärer

Triple Band Market Model

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

2.27 PF · 203 affärer

Long-Term Moving Average Cross

Även en trendstrategi.

12.31 PF · 61 affärer

Nyfiken på vilka trendfilter som håller bäst? Ställ dig i ProRealAlgos-kön och jämför erfarenheter.

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