Una bar che apre sopra la chiusura precedente ma poi chiude sotto la EMA a 40 periodi innesca un acquisto, purché l'indice di dimensione frattale a 30 bar sia sotto 1.5. Il setup speculare vende short. Ogni operazione viene chiusa esattamente 4 bar dopo o a uno stop di 60 punti.
Migliore esecuzione su 2. GBP/USD, 4 ore, spread 1.5, dall'esecuzione sweeps:2026-09-21-GBPUSD-4h-opt.tsv:4.
| Periodo | Fino al 2026-09-21 |
| Strumento | GBP/USD, 4 ore |
| Spread | 1.5 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-21 |
| positionSize Contratti per operazione | 1 |
| emaPeriod Lunghezza della EMA per il segnale | 40 |
| fdiPeriod Lookback della dimensione frattale | 30 |
| fdiThreshold Opera solo quando la dimensione frattale è sotto questo valore | 1.5 |
| maxBarsInTrade Chiudi l'operazione esattamente dopo questo numero di bar dall'ingresso | 4 |
| stopLossPoints Stop protettivo in punti | 60 |
Ogni esecuzione
| Mercato | Timeframe | PF | Operazioni | % successo | Netto | Max DD |
|---|---|---|---|---|---|---|
| GBP/USDMiglior esecuzione | 4 ore | n/a | 906 | 47.35 | 1,375 USD | -1,363 |
| DAX 40 | Giornaliero | n/a | 358 | 31.56 | 2,147 EUR | -1,902 |
Grafici
Il codice
// ============================================================ // Fractal Dimension EMA Reversion // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: 4 hours // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade emaPeriod = 40 // EMA length for the signal fdiPeriod = 30 // fractal dimension lookback fdiThreshold = 1.5 // trade only when the fractal dimension is below this maxBarsInTrade = 4 // close the trade exactly this many bars after entry stopLossPoints = 60 // protective stop in points // --- Indicators --- emaValue = ExponentialAverage[emaPeriod](close) // Fractal dimension index: near 1 = trending, near 2 = choppy. // Undefined until enough history, so the filter blocks early trades. ONCE fdiValue = undefined IF BarIndex >= fdiPeriod - 1 THEN pathLength = 0 prevScaled = 0 fdiValue = 0 fdiHigh = Highest[fdiPeriod](close) fdiLow = Lowest[fdiPeriod](close) FOR i = 1 TO fdiPeriod - 1 DO IF (fdiHigh - fdiLow) > 0 THEN scaledPrice = (CustomClose[i] - fdiLow) / (fdiHigh - fdiLow) IF i > 1 THEN pathLength = pathLength + SQRT(SQUARE(scaledPrice - prevScaled) + (1 / SQUARE(fdiPeriod))) ENDIF prevScaled = scaledPrice ENDIF NEXT IF pathLength > 0 THEN fdiValue = 1 + (LOG(pathLength) + LOG(2)) / LOG(2 * fdiPeriod) ELSE fdiValue = 0 ENDIF ENDIF barsInTrade = BarIndex - TradeIndex
Altre 26 righe: le regole di ingresso e di uscita.
Configurazione
Domande
Sì. Gli ingressi vengono eseguiti all'apertura della bar successiva e le uscite sono uno stop temporale di 4 bar più uno stop di 60 punti, tutto codificato.
GBP/USD 4 ore ha guadagnato 1,374.7 USD su 906 operazioni con una percentuale di successo di 47.35%. DAX 40 giornaliero ha guadagnato 2,147.3 EUR su 358 operazioni.
Il drawdown peggiore su GBP/USD 4 ore è stato di 1,363.2 USD con 1 contratto, vicino all'intero profitto del test.
Un mantenimento di 4 bar su bar da 4 ore mantiene le operazioni sotto un giorno di tempo di mercato, cosa che si adatta a un'idea di reversion breve su una coppia di valute.
Correlati
La community ProRealAlgos ottiene le regole complete, il codice completo e il portafoglio automatizzato.