Combined Supertrend entre dans le sens de la tendance quand la clôture journalière est au-dessus (ou en dessous) de trois lignes de tendance différentes à la fois. Il faut aussi que la ligne ATR et la ligne en pourcentage soient séparées de plus de 7 points pendant deux barres. Les trades se clôturent quand ces deux lignes se rapprochent à nouveau ou que le prix repasse à travers toutes les lignes.
Meilleure exécution sur 3. USD/JPY, Journalier, spread 1, de l'exécution sweeps:2026-09-16-USDJPY-D-opt.tsv:2.
| Période | Jusqu'au 2026-09-16 |
| Instrument | USD/JPY, Journalier |
| Spread | 1 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 |
| lookbackPeriod Fenêtre de la ligne de tendance ATR | 21 |
| atrMultiplier Multiple d'ATR pour la ligne de tendance ATR | 3 |
| pctStopFactor Distance du supertrend en pourcentage, en fraction de la clôture | 0.005 |
| rsqPeriod Fenêtre du R carré pour le supertrend adaptatif | 10 |
| rsqMultiplier Multiplicateur du supertrend adaptatif | 2 |
| rsqCentre Valeur du R carré pour laquelle la longueur adaptative est égale à rsqPeriod | 0.25 |
| exitStFactor Multiplicateur du supertrend standard utilisé dans les sorties | 3 |
| exitStPeriod Longueur du supertrend standard utilisé dans les sorties | 5 |
| minGapPoints Les lignes de tendance doivent être au moins aussi éloignées pour trader | 7 |
| pctDirection Le supertrend en pourcentage démarre en mode haussier | 1 |
| prevStopLong Stop long précédent du supertrend en pourcentage | 0 |
| prevStopShort Stop short précédent, initialisé très haut | 1000000000000 |
Chaque exécution
| Marché | Unité de temps | PF | Trades | % de réussite | Net | Max DD |
|---|---|---|---|---|---|---|
| USD/JPYMeilleure exécution | Journalier | n/a | 53 | 52.83 | 1,613,780 JPY | -1,041,500 |
| EUR/USD | Journalier | n/a | 25 | 60.00 | 83,943 USD | -82,640 |
| GBP/USD | Journalier | n/a | 44 | 43.18 | 12,847 USD | -11,278 |
Graphiques
Le code
// ============================================================ // Combined Supertrend // ProRealAlgos Strategy Library | prorealalgos.com // Type: Trend // Direction: Long & short // Timeframe tested: Daily // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 10000 // --- Parameters --- positionSize = 1 // contracts per trade lookbackPeriod = 21 // window for the ATR trend line atrMultiplier = 3 // ATR multiple for the ATR trend line pctStopFactor = 0.005 // percentage supertrend distance, as a fraction of close rsqPeriod = 10 // r-squared window for the adaptive supertrend rsqMultiplier = 2 // multiplier of the adaptive supertrend rsqCentre = 0.25 // r-squared value where the adaptive length equals rsqPeriod exitStFactor = 3 // multiplier of the standard supertrend used in exits exitStPeriod = 5 // length of the standard supertrend used in exits minGapPoints = 7 // trend lines must be at least this far apart to trade ONCE pctDirection = 1 // percentage supertrend starts in up mode ONCE prevStopLong = 0 // previous long stop of the percentage supertrend ONCE prevStopShort = 1000000000000 // previous short stop, seeded very high // --- Indicators --- // Line one: ATR trend line, the channel extreme minus or plus a weighted ATR band. weightedAtr = WeightedAverage[lookbackPeriod](AverageTrueRange[1](close)) recentHigh = Highest[lookbackPeriod](high) recentLow = Lowest[lookbackPeriod](low) upperLimit = recentHigh[1]-(weightedAtr[1]*atrMultiplier) lowerLimit = recentLow[1]+(weightedAtr[1]*atrMultiplier) IF (close > upperLimit AND close > lowerLimit) THEN atrTrendLine = upperLimit ELSIF (close < lowerLimit AND close < upperLimit) THEN atrTrendLine = lowerLimit ELSE atrTrendLine = atrTrendLine[1] ENDIF // Line two: simplified percentage supertrend around the median price. pctDistance = close * pctStopFactor pctStopLong = MedianPrice - pctDistance pctStopShort = MedianPrice + pctDistance IF pctDirection = 1 AND pctStopLong < prevStopLong THEN pctStopLong = prevStopLong ENDIF IF pctDirection = -1 AND pctStopShort > prevStopShort THEN pctStopShort = prevStopShort ENDIF IF pctDirection = 1 AND close < pctStopLong THEN pctDirection = -1 ENDIF IF pctDirection = -1 AND close > pctStopShort THEN pctDirection = 1 ENDIF prevStopLong = pctStopLong prevStopShort = pctStopShort IF pctDirection = 1 THEN pctTrendLine = pctStopLong ELSE pctTrendLine = pctStopShort ENDIF // Line three: supertrend whose length adapts to the r-squared of recent closes. sourcePrice = CustomClose sumX = 0 sumXX = 0 sumXY = 0 sumYY = 0 sumY = 0 IF BarIndex > rsqPeriod THEN FOR k = 0 TO rsqPeriod-1 DO barPrice = sourcePrice[k] sumX = sumX+(k+1) sumXX = sumXX+((k+1)*(k+1)) sumXY = sumXY+((k+1)*barPrice) sumYY = sumYY+(barPrice*barPrice) sumY = sumY+barPrice NEXT covarianceXY = sumXY - sumX*sumY/rsqPeriod varianceX = sumXX - sumX*sumX/rsqPeriod varianceY = sumYY - sumY*sumY/rsqPeriod rSquared = ((covarianceXY*covarianceXY)/(varianceX*varianceY)) adaptiveSt = Supertrend[rsqMultiplier,round(rsqPeriod+rsqPeriod*(rSquared-rsqCentre))] ENDIF exitSt = Supertrend[exitStFactor,exitStPeriod] gapMargin = minGapPoints*PointSize
28 lignes de plus : les règles d'entrée et de sortie.
Configuration
Questions
Le code fonctionne automatiquement dans ProOrder. Il n'a pas de stop loss, ajoutez donc une protection au niveau du compte si vous le tradez.
USD/JPY Journalier a rapporté 1,613,780 JPY sur 53 trades, EUR/USD Journalier 83,943 USD sur 25 trades, et GBP/USD Journalier 12,846.80 USD sur 44 trades, tous avec 1 contrat.
Avec 1 contrat, l'exécution USD/JPY a reculé de 1,041,500 JPY depuis son sommet et GBP/USD de 11,278.40 USD. Réduisez la taille si ces chiffres sont trop élevés pour votre compte.
L'écart de 7 points entre les lignes et la ligne ATR à 21 barres sont réglés pour des mouvements lents. Sur les graphiques journaliers, le système ne trade que quelques fois par an.
Voir aussi
La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.