Un %b de Bollinger lissé, construit à partir d'une clôture Heikin-Ashi zero-lag et d'une TEMA, repère les creux sous 30 au-dessus de la SMA à 220 jours et les pics au-dessus de 90 en dessous de celle-ci. Les trades utilisent un stop de 5%, un objectif de 10%, un trailing stop ATR et une sortie en temps pour les trades perdants.
Meilleure exécution sur 21. Nasdaq 100, Journalier, spread 3, issue de l'exécution pf:2026-09-15-NAS100-D.tsv:1.
| Période | Jusqu'au 2026-09-15 |
| Instrument | Nasdaq 100, Journalier |
| Spread | 3 points |
| Contrats | 1 |
| Capital de départ | 1,000,000 |
| Coûts | Spread uniquement. Les commissions et le financement overnight ne sont pas inclus. |
| Barres | Jusqu'à 200,000 barres, moins lorsque l'instrument a moins d'historique |
| Dernier test | 2026-09-16 |
| positionSize Contrats par trade | 1 |
| trendFilterOn 1 = ne trader qu'avec la moyenne de long terme, 0 = désactivé | 1 |
| trailingOn 1 = utiliser le trailing stop mis à l'échelle de l'ATR, 0 = désactivé | 1 |
| stopLossPct Stop de protection, pourcentage du prix d'entrée | 5 |
| takeProfitPct Objectif de gain, pourcentage du prix d'entrée | 10 |
| longTrailFactor Distance de suivi pour les longs, en unités d'ATR mises à l'échelle | 9 |
| shortTrailFactor Distance de suivi pour les shorts, en unités d'ATR mises à l'échelle | 4 |
| atrTrailPeriod Longueur de l'ATR pour la distance de suivi | 200 |
| minTrailPoints Distance de suivi minimale | 5 |
| maxLosingBarsLong Clôturer un long perdant après ce nombre de barres | 16 |
| maxLosingBarsShort Clôturer un short perdant après ce nombre de barres | 2 |
| trendPeriod Longueur de la SMA du filtre de tendance | 220 |
| bandPeriod Écart-type et longueur de moyenne du %b | 17 |
| temaPeriod Longueur de lissage de la TEMA | 8 |
| oversoldLevel Acheter quand le %b est en dessous de cette valeur | 30 |
| overboughtLevel Vendre short quand le %b est au-dessus de cette valeur | 90 |
Chaque exécution
| Marché | Unité de temps | PF | Trades | % de réussite | Net | Max DD |
|---|---|---|---|---|---|---|
| Nasdaq 100Meilleure exécution | Journalier | 1.66 | 492 | 71.95 | 13,584 EUR | -3,078 |
| S&P 500 | Journalier | 1.48 | 515 | 63.30 | 2,671 EUR | -983 |
| Dow Jones | Journalier | 1.41 | 506 | 71.15 | 18,609 EUR | -7,365 |
| DAX 40 | Journalier | 1.37 | 555 | 66.31 | 9,989 EUR | -3,831 |
| EUR/USD | 2 min | 1.35 | 5,690 | 22.04 | 147,182 USD | -95,915 |
| FTSE 100 | Journalier | 1.35 | 391 | 72.63 | 4,926 EUR | -1,460 |
| EUR/USD | 3 min | 1.29 | 6,190 | 27.21 | 101,696 USD | -69,006 |
| Or | 4 heures | 1.25 | 856 | 47.78 | 1,808 EUR | -917 |
| EUR/USD | Journalier | 1.24 | 550 | 74.18 | 45,379 USD | -19,978 |
| Nikkei 225 | Journalier | 1.24 | 397 | 71.03 | 20,214 USD | -8,103 |
| Nasdaq 100 | 4 heures | 1.24 | 905 | 55.14 | 8,644 EUR | -2,716 |
| S&P 500 | 4 heures | 1.22 | 863 | 50.29 | 2,118 EUR | -682 |
| Dow Jones | 30 min | 1.16 | 1,641 | 27.24 | 17,372 EUR | -8,859 |
| Dow Jones | 4 heures | 1.15 | 298 | 48.66 | 7,615 EUR | -6,958 |
| DAX 40 | 4 heures | 1.15 | 854 | 53.40 | 7,412 EUR | -2,818 |
| Or | 5 min | 1.14 | 3,141 | 13.53 | 1,588 EUR | -745 |
| Dow Jones | 1 heure | 1.08 | 941 | 32.20 | 7,342 EUR | -5,710 |
| GBP/USD | 4 heures | 1.07 | 2,054 | 64.95 | 2,456 USD | -2,275 |
| EUR/USD | 5 min | 1.00 | 6,366 | 29.04 | -1,346 USD | -40,289 |
| Argent | 30 min | 0.82 | 5,310 | 32.20 | -46,708 USD | -51,178 |
| CAC 40 | Journalier | n/a | 375 | 68.27 | 1,990 EUR | -1,678 |
Graphiques
Les 10 meilleures exécutions sur 21. La liste complète figure dans le tableau ci-dessus.
Au-dessus de 1.0, a gagné de l'argent ; en dessous de 1.0, a perdu de l'argent.
Le code
// ============================================================ // Smoothed Bollinger // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: Daily // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = true DEFPARAM PreloadBars = 10000 // --- Parameters --- positionSize = 1 // contracts per trade trendFilterOn = 1 // 1 = only trade with the long-term average, 0 = off trailingOn = 1 // 1 = use the ATR-scaled trailing stop, 0 = off stopLossPct = 5 // protective stop, percent of entry price takeProfitPct = 10 // profit target, percent of entry price longTrailFactor = 9 // trailing distance for longs, in scaled ATR units shortTrailFactor = 4 // trailing distance for shorts, in scaled ATR units atrTrailPeriod = 200 // ATR length for the trailing distance minTrailPoints = 5 // minimum trailing distance maxLosingBarsLong = 16 // close a losing long after this many bars maxLosingBarsShort = 2 // close a losing short after this many bars trendPeriod = 220 // trend filter SMA length bandPeriod = 17 // %b standard deviation and average length temaPeriod = 8 // TEMA smoothing length oversoldLevel = 30 // buy when %b is below this overboughtLevel = 90 // sell short when %b is above this // --- Indicators --- // ATR of a scaled price series, kept exactly as the tested code computes it. atrTrail = AverageTrueRange[atrTrailPeriod]((close/10)*PipSize)/1000 longTrailDistance = round(atrTrail*longTrailFactor) shortTrailDistance = round(atrTrail*shortTrailFactor) trendMA = Average[trendPeriod](close) trendUp = (close > trendMA OR NOT trendFilterOn) trendDown = (close < trendMA OR NOT trendFilterOn) // Heikin-Ashi style close, fed through a zero-lag TEMA. // The second term of haOpen has no /4, exactly as in the tested code. haOpen = ((Open[1]+High[1]+Low[1]+Close[1])/4 + (Open[2]+High[2]+Low[2]+Close[2]))/2 haClose = ((Open+High+Low+Close)/4 + haOpen + max(high, haOpen) + min(low, haOpen))/4 temaFirst = TEMA[temaPeriod](haClose) temaSecond = TEMA[temaPeriod](temaFirst) temaGap = temaFirst - temaSecond zeroLagHA = temaFirst + temaGap smoothedZeroLag = TEMA[temaPeriod](zeroLagHA) // Bollinger %b of the smoothed series. percentB = (smoothedZeroLag + 2*STD[bandPeriod](smoothedZeroLag) - WeightedAverage[bandPeriod](smoothedZeroLag)) / (4*STD[bandPeriod](smoothedZeroLag))*100
61 lignes de plus : les règles d'entrée et de sortie.
Configuration
Questions
Oui, avec 1 contrat et une position à la fois. Le code réécrit n'a pas été vérifié à la compilation.
Indices, or, argent et paires de devises, de 2 minutes au journalier, et toutes les exécutions sauf deux ont été rentables. Dow Jones Journalier a rapporté EUR 18,609.30 avec un profit factor de 1.41.
Sur Nasdaq 100 Journalier, le drawdown maximum a été de EUR 3,077.50 pour EUR 13,584.40 de gain net.
Le filtre de tendance à 220 jours et les stops en pourcentage conviennent le mieux aux barres journalières. Les exécutions journalières sur indices ont eu des profit factors plus élevés que la plupart des exécutions intraday.
Voir aussi
Le copy trading sur les indices américains est disponible pour les membres ProRealAlgos à mesure que des places se libèrent.