Når hele det nedre eksponentielle båndet ligger over 200 SMA, er trenden opp, og strategien kjøper den første lukningen på eller under 20 SMA. Den tar bare én long per opptrend, og shorts speiler logikken. Et equity-kurvefilter setter inngangene på pause når strategien ligger under sitt eget 250-bars gjennomsnitt.
Beste kjøring av 6. Gold, 10 min, spread 0.6, fra kjøring sweeps:2026-09-23-GOLD-10m-opt.tsv:4.
| Periode | Frem til 2026-09-23 |
| Instrument | Gold, 10 minutter |
| Spread | 0.6 poeng |
| Kontrakter | 1 |
| Startkapital | 1,000,000 |
| Kostnader | Kun spread. Kommisjoner og overnattfinansiering er ikke inkludert. |
| Barer | Opptil 200,000 barer, færre der instrumentet har kortere historikk |
| Sist testet | 2026-09-23 |
| positionSize Kontrakter per handel | 1 |
| startCapital Start-equity som equity-kurvefilteret bruker | 10000 |
| equityCurvePeriod SMA-lengde for equity-kurven | 250 |
| fastPeriod SMA-lengde for inngang og endelig utgang | 20 |
| midPeriod SMA-lengde som aktiverer utgangen | 50 |
| trendPeriod Lengde på trend-SMA | 200 |
| bandPeriod Lengde på de eksponentielle log-prisbåndene | 42 |
| bandWidth Båndbredde i standardavvik | 2.4 |
| seedPeriod SMA-lengde som gir båndene startverdier på de første barene | 3 |
| stopLossMoney Beskyttende stopp i kontovaluta | 40 |
| takeProfitMoney Gevinstmål i kontovaluta | 130 |
Hver kjøring
| Marked | Tidsramme | PF | Handler | Treff % | Netto | Max DD |
|---|---|---|---|---|---|---|
| GullBeste kjøring | 10 min | n/a | 696 | 46.55 | 432 EUR | -387 |
| EUR/USD | Daglig | n/a | 52 | 42.31 | 1,660 USD | -240 |
| FTSE 100 | 4 timer | n/a | 96 | 41.67 | 762 EUR | -362 |
| S&P 500 | Daglig | n/a | 54 | 46.30 | 593 EUR | -223 |
| Nasdaq 100 | 4 timer | n/a | 118 | 43.22 | 462 EUR | -424 |
| FTSE 100 | Daglig | n/a | 37 | 32.43 | 434 EUR | -344 |
Diagrammer
Koden
// ============================================================ // 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 flere linjer: inngangs- og utgangsreglene.
Oppsett
Spørsmål
Ja, den er skrevet som et ProOrder-system. Koden er omskrevet og ennå ikke kompileringssjekket, så kjør en backtest før du går live.
Gold, EUR/USD, FTSE 100, S&P 500 og Nasdaq 100. Alle de oppførte kjøringene ga en liten gevinst, den største var USD 1,660 på EUR/USD Daglig fra 52 handler.
Med 1 kontrakt hadde den beste kjøringen en max drawdown på EUR 387.3. Hver handel risikerer pengestoppen på 40, før spread.
Regelen om én handel per trend betyr at en ny long først kommer etter at båndet har falt under 200 SMA og hentet seg inn igjen. På dagsbarer skjer det sjelden, for eksempel 37 handler på FTSE 100 Daglig.
Relatert
ProRealAlgos-fellesskapet får de fullstendige reglene, hele koden og den automatiserte porteføljen.