Wanneer de hele onderste exponentiële band boven de 200 SMA ligt, is de trend omhoog en koopt de strategie de eerste close op of onder de 20 SMA. Hij neemt maar één long per uptrend, en shorts spiegelen de logica. Een equity curve filter pauzeert instappen wanneer de strategie onder zijn eigen 250 bar gemiddelde staat.
Beste run van 6. Gold, 10 min, spread 0.6, uit run sweeps:2026-09-23-GOLD-10m-opt.tsv:4.
| Periode | Tot 2026-09-23 |
| Instrument | Gold, 10 minuten |
| Spread | 0.6 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-23 |
| positionSize Contracten per trade | 1 |
| startCapital Start-equity die het equity curve filter gebruikt | 10000 |
| equityCurvePeriod SMA-lengte van de equity curve | 250 |
| fastPeriod SMA-lengte voor instap en definitieve uitstap | 20 |
| midPeriod SMA-lengte die de uitstap activeert | 50 |
| trendPeriod Trend SMA-lengte | 200 |
| bandPeriod Lengte van de exponentiële log-prijsbanden | 42 |
| bandWidth Bandbreedte in standaarddeviaties | 2.4 |
| seedPeriod SMA-lengte die de banden vult op de eerste bars | 3 |
| stopLossMoney Beschermende stop in accountvaluta | 40 |
| takeProfitMoney Profit target in accountvaluta | 130 |
Elke run
| Markt | Tijdframe | PF | Trades | Winst % | Netto | Max DD |
|---|---|---|---|---|---|---|
| GoudBeste run | 10 min | n/a | 696 | 46.55 | 432 EUR | -387 |
| EUR/USD | Dagelijks | n/a | 52 | 42.31 | 1,660 USD | -240 |
| FTSE 100 | 4 uur | n/a | 96 | 41.67 | 762 EUR | -362 |
| S&P 500 | Dagelijks | n/a | 54 | 46.30 | 593 EUR | -223 |
| Nasdaq 100 | 4 uur | n/a | 118 | 43.22 | 462 EUR | -424 |
| FTSE 100 | Dagelijks | n/a | 37 | 32.43 | 434 EUR | -344 |
Grafieken
De code
// ============================================================ // 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 regels meer: de instapregels en uitstapregels.
Opzet
Vragen
Ja, hij is geschreven als een ProOrder-systeem. De code is herschreven en nog niet compile-gecheckt, dus doe een backtest voordat je live gaat.
Gold, EUR/USD, FTSE 100, S&P 500 en Nasdaq 100. Elke vermelde run maakte een kleine winst, de grootste was USD 1,660 op EUR/USD Dagelijks uit 52 trades.
Bij 1 contract had de beste run een max drawdown van EUR 387.3. Elke trade riskeert de money stop van 40, vóór spread.
De regel van één trade per trend betekent dat een nieuwe long pas komt nadat de band onder de 200 SMA is gezakt en zich heeft hersteld. Op dagbars gebeurt dat zelden, bijvoorbeeld 37 trades op FTSE 100 Dagelijks.
Gerelateerd
De ProRealAlgos community krijgt de volledige regels, de complete code en de geautomatiseerde portefeuille.