Quando l'intera banda esponenziale inferiore è sopra la SMA 200, il trend è rialzista, e la strategia compra la prima chiusura al livello della SMA 20 o sotto. Prende solo un long per trend rialzista, e gli short rispecchiano la logica. Un filtro sulla curva equity sospende gli ingressi quando la strategia è sotto la propria media a 250 barre.
Miglior esecuzione su 6. Gold, 10 min, spread 0.6, dall'esecuzione sweeps:2026-09-23-GOLD-10m-opt.tsv:4.
| Periodo | Fino al 2026-09-23 |
| Strumento | Gold, 10 minuti |
| Spread | 0.6 punti |
| Contratti | 1 |
| Capitale iniziale | 1,000,000 |
| Costi | Solo spread. Commissioni e finanziamento overnight non sono inclusi. |
| Barre | Fino a 200,000 barre, meno dove lo strumento ha meno storico |
| Ultimo test | 2026-09-23 |
| positionSize Contratti per operazione | 1 |
| startCapital Equity iniziale usata dal filtro della curva equity | 10000 |
| equityCurvePeriod Periodo della SMA della curva equity | 250 |
| fastPeriod Periodo della SMA di ingresso e di uscita finale | 20 |
| midPeriod Periodo della SMA che attiva l'uscita | 50 |
| trendPeriod Lunghezza SMA di trend | 200 |
| bandPeriod Lunghezza delle bande esponenziali sul log-prezzo | 42 |
| bandWidth Ampiezza delle bande in deviazioni standard | 2.4 |
| seedPeriod Periodo della SMA che inizializza le bande sulle prime barre | 3 |
| stopLossMoney Stop protettivo nella valuta del conto | 40 |
| takeProfitMoney Obiettivo di profitto nella valuta del conto | 130 |
Ogni esecuzione
| Mercato | Timeframe | PF | Operazioni | % successo | Netto | Max DD |
|---|---|---|---|---|---|---|
| OroMiglior esecuzione | 10 min | n/a | 696 | 46.55 | 432 EUR | -387 |
| EUR/USD | Giornaliero | n/a | 52 | 42.31 | 1,660 USD | -240 |
| FTSE 100 | 4 ore | n/a | 96 | 41.67 | 762 EUR | -362 |
| S&P 500 | Giornaliero | n/a | 54 | 46.30 | 593 EUR | -223 |
| Nasdaq 100 | 4 ore | n/a | 118 | 43.22 | 462 EUR | -424 |
| FTSE 100 | Giornaliero | n/a | 37 | 32.43 | 434 EUR | -344 |
Grafici
Il codice
// ============================================================ // 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))
Altre 44 righe: le regole di ingresso e di uscita.
Configurazione
Domande
Sì, è scritta come sistema ProOrder. Il codice è stato riscritto e non è ancora stato verificato in compilazione, quindi esegui un backtest prima di andare in reale.
Gold, EUR/USD, FTSE 100, S&P 500 e Nasdaq 100. Ogni esecuzione elencata ha prodotto un piccolo profitto, il maggiore USD 1,660 su EUR/USD Giornaliero da 52 operazioni.
Con 1 contratto la migliore esecuzione ha avuto un max drawdown di EUR 387.3. Ogni operazione rischia lo stop in denaro di 40, prima dello spread.
La regola di un'operazione per trend significa che un nuovo long arriva solo dopo che la banda è scesa sotto la SMA 200 e si è ripresa. Su barre giornaliere questo accade raramente, per esempio 37 operazioni su FTSE 100 Giornaliero.
Correlati
La community ProRealAlgos ottiene le regole complete, il codice completo e il portafoglio automatizzato.