Rejoindre la liste d'attente
Stratégies / Tendance / Combined Supertrend

Combined Supertrend : filtre de tendance journalier à trois lignes

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.

TendanceLong & shortSwingUSD/JPYJournalier
n/aProfit factor
1,613,780Gain net JPY
52.83%Taux de réussite
53Trades
-1,041,500Max drawdown
30,449Trade moyen

Meilleure exécution sur 3. USD/JPY, Journalier, spread 1, de l'exécution sweeps:2026-09-16-USDJPY-D-opt.tsv:2.

Règles d'entrée, long

  1. La ligne ATR et la ligne en pourcentage sont séparées de plus de 7 points sur cette barre et sur la barre précédente
  2. Aucune position ouverte

Règles d'entrée, short

  1. La ligne ATR et la ligne en pourcentage sont séparées de plus de 7 points sur cette barre et sur la barre précédente
  2. Aucune position ouverte

Règles de sortie

  1. Clôturer un long quand le prix clôture en dessous des trois lignes et du SuperTrend(3,5) standard sur deux barres consécutives
  2. Clôturer un short quand le prix clôture au-dessus des quatre lignes, avec un contrôle sur la barre précédente qui mélange au-dessus et en dessous (tel que testé)
  3. Pas de stop loss ni d'objectif

Conditions de test

PériodeJusqu'au 2026-09-16
InstrumentUSD/JPY, Journalier
Spread1 points
Contrats1
Capital de départ1,000,000
CoûtsSpread uniquement. Les commissions et le financement overnight ne sont pas inclus.
BarresJusqu'à 200,000 barres, moins lorsque l'instrument a moins d'historique
Dernier test2026-09-16
Paramètres (13)
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és et unités de temps testés

MarchéUnité de tempsPFTrades% de réussiteNetMax DD
USD/JPYMeilleure exécutionJournaliern/a 5352.831,613,780 JPY-1,041,500
EUR/USDJournaliern/a 2560.0083,943 USD-82,640
GBP/USDJournaliern/a 4443.1812,847 USD-11,278

Graphiques

Résultats par exécution

Gain netMax drawdown

Le code

ProBuilder, réécrit selon le standard maison

// ============================================================
// 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

Comment la charger

  1. Copiez le code avec le bouton Copier du bloc de code.
  2. Dans ProRealTime, ouvrez un graphique de l'instrument et de l'unité de temps que vous voulez tester, puis ouvrez ProOrder > Nouveau système de trading et choisissez "Créer par programmation".
  3. Collez le code, donnez un nom au système et enregistrez-le.
  4. Cliquez sur "Backtest", définissez votre propre spread et votre position size, puis lancez-la avant d'envisager de la trader en réel.

Indicateurs utilisés

SuperTrendATRRégression linéaire
À lire d'abordFaiblesses connues4 points
  • Seuls 3 marchés ont été testés, tous en forex journalier, et la meilleure exécution sur USD/JPY compte 53 trades.
  • Les drawdowns sont importants par rapport au gain : 1,041,500 JPY de drawdown contre 1,613,780 JPY de gain sur USD/JPY, et 82,640 USD contre 83,943 USD sur EUR/USD.
  • Il n'y a ni stop loss ni objectif. La sortie short conserve un contrôle asymétrique sur la barre précédente issu de la version testée.
  • Le profit factor n'a pas été enregistré car seules des données de balayage existent.

Questions

À propos de cette stratégie

Est-elle prête pour ProOrder ?

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.

Quels résultats sur chaque paire ?

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.

Quel drawdown dois-je attendre ?

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.

Pourquoi des barres journalières ?

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

Des stratégies comme celle-ci

ATR Band

Utilise le même indicateur.

10.31 PF · 53 trades

Supertrend Counter Trend

Meilleure exécution sur le même marché, USD/JPY.

3.47 PF · 1,444 trades

Long-Term Moving Average Cross

Également une stratégie de tendance.

12.31 PF · 61 trades

Découvrez comment les systèmes de tendance sont combinés en portefeuilles. Rejoignez la liste d'attente ProRealAlgos.

La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.

Les résultats passés de backtest ne garantissent pas les résultats futurs. Ceci n'est pas un conseil financier. Sélectionné et maintenu par ProRealAlgos. ProRealTime™ est une marque de ProRealTime SAS. prorealalgos.comStatsDocumentation