Voir comment télécharger gratuitement des robots de trading
Retrouvez-nous sur Telegram !
Rejoignez notre page de fans
Un script intéressant ?
Poster un lien vers celui-ci -
laisser les autres l'évaluer
Vous avez aimé le script ? Essayez-le dans le terminal MetaTrader 5
Vues:
39
Note:
(2)
Publié:
MQL5 Freelance Besoin d'un robot ou d'un indicateur basé sur ce code ? Commandez-le sur Freelance Aller sur Freelance

Stormbreaker ADX est un Expert Advisor pour MetaTrader 5 qui combine la direction indiquée par l'indicateur Supertrend avec la force mesurée par l'ADX et la relation directionnelle entre les indicateurs +DI et −DI. Il évalue les signaux sur les bougies fermées, détermine la taille des positions en fonction d'un budget risque/capital fixe et place un stop de protection basé sur l'ATR.

Le code source téléchargeable est destiné à l'étude, aux tests et à la modification. L'Expert Advisor ne garantit pas de profits ; testez-le avec les données et les spécifications contractuelles de votre courtier avant d'envisager une utilisation en conditions réelles.

Figure_01_Flux_du_signal

Figure 1. Les filtres d’entrée sont évalués les uns après les autres au début d’une nouvelle bougie correspondant à la période du signal.


1. Présentation de la stratégie

La période de signal par défaut est H4. À chaque nouvelle barre H4, l’EA lit la barre précédente terminée (décalage 1), calcule un Supertrend personnalisé à partir de l’ATR, puis lit les valeurs de l’ADX, du +DI, du −DI et de l’ATR. Une transaction n’est envisagée que lorsque la direction du Supertrend et celle du mouvement de marché concordent et que l’ADX atteint le seuil d’entrée.

Composant Par défaut Objectif
Période du signal H4 Période d’évaluation du signal ; les points d’entrée sont vérifiés une fois par nouvelle barre.
Supertrend ATR 10, facteur 3,0 Définit la direction actuelle de la tendance.
ADX / DMI ADX 14 ; seuil d'entrée 23 Filtre la force de la tendance et confirme sa direction à l'aide des indicateurs +DI et −DI.
Seuil de force de sortie ADX inférieur à 18 Clôture une position gérée lorsque la force de la tendance s'affaiblit en dessous du niveau de sortie.
Stop initial 2 × ATR(10) Place le stop à partir du cours de clôture de la barre de signal terminée, puis l'aligne sur les règles de cotation du courtier.
Budget de risque 0,5 % du capital actuel Calcule le volume à partir de la perte estimée entre le cours d'entrée actuel et le stop.
Prise de bénéfices Aucun Il n'y a pas d'objectif de prise de bénéfices fixe ; les sorties sont basées sur les signaux/la force du signal ou sur le stop loss.


2. Règles d'entrée et de sortie

Action Conditions
Ouvrir une position d'achat Les entrées d’achat sont activées ; le Supertrend est haussier ; ADX ≥ 23 ; +DI > −DI.
Ouvrir une position de vente Conditions de vente activées ; Supertrend est baissier ; ADX ≥ 23 ; −DI > +DI.
Clôture d'une position existante ADX < 18, ou la direction de Supertrend s'inverse par rapport à la position. Un signal de qualification opposé entraîne également la clôture ou l'inversion de la position gérée.

L'EA n'ajoute pas de position dans le même sens lorsqu'il détecte une position existante avec le symbole et le numéro magique configurés. Un stop-loss reste actif indépendamment de la sortie du signal.


3. Calcul du volume en fonction du risque

Avant d’envoyer un ordre, Stormbreaker estime la perte sur un lot entre le cours d’entrée Ask/Bid actuel et le stop proposé à l’aide de la fonction OrderCalcProfit . Il divise le budget de risque de 0,5 % du capital par cette perte estimée sur un lot, puis arrondit le volume à la baisse à l’échelon de volume autorisé par le courtier et applique le plafond de volume maximal. Il vérifie également la marge disponible. Si le lot minimum autorisé dépasse le budget de risque ou si la marge est insuffisante, l’EA ignore la transaction.

double risk_cash = AccountInfoDouble(ACCOUNT_EQUITY) * 0.5 / 100.0; double one_lot_loss = MathAbs(one_lot_profit); double volume = MathFloor((risk_cash / one_lot_loss) / volume_step) * volume_step; volume = MathMin(volume, MaxVolume);

Extrait simplifié à des fins d’explication. Le code source complet comprend des vérifications concernant les prix non valides, l’alignement des ticks et des volumes, les distances de stop des courtiers et la marge. Étant donné que le stop est calculé à partir du cours de clôture de la bougie précédente tandis que le dimensionnement utilise le cours d’entrée actuel, le slippage, les écarts de cotation et les frais d’exécution peuvent faire en sorte que la perte réalisée diffère de 0,5 %. Il s’agit d’un objectif de risque, et non d’une perte maximale garantie.

Figure_02_Arrêt_et_sortie

Figure 2. Les niveaux de stop sont basés sur l’ATR ; l’EA n’a pas d’objectif de profit fixe.


4. Paramètres et valeurs par défaut

Paramètre Valeur par défaut Signification
SignalTimeframe PERIOD_H4 Période utilisée pour les signaux.
Facteur Supertrend 3,0 Multiplicateur ATR utilisé par Supertrend.
SupertrendATRPeriod 10 Période ATR pour Supertrend et le stop initial.
ADXPeriod 14 Période de calcul de l'ADX/DMI.
ADX d'entrée 23,0 ADX minimum pour une nouvelle entrée.
ADX de sortie 18,0 Niveau d'ADX en dessous duquel une position ouverte est clôturée.
StopATRMultiple 2,0 Multiple de l'ATR utilisé pour le stop initial.
Volume max. 100,0 Limite supérieure du nombre de lots ; les limites réelles du symbole restent applicables.
Points d'écart 20 Écart de prix maximal transmis à la demande de transaction, en points.
EnableBuy / EnableSell true / true Activer ou désactiver chaque direction.
MagicNumber 51003 Identifiant utilisé pour localiser la position gérée par l'EA.

Le pourcentage de risque de 0,5 % est actuellement une constante fixe dans le code source, et non une valeur saisie par l'utilisateur.


5. Exemple de code de signal MQL5

L'extrait suivant présente les conditions d'entrée sur la barre fermée utilisées par l'EA :

bool long_signal = EnableBuy && direction < 0 && adx >= EntryADX && plus_di > minus_di; bool short_signal = EnableSell && direction > 0 && adx >= EntryADX && minus_di > plus_di; if(long_signal) STOpenPosition(true, bar.close - StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX long", MaxVolume, DeviationPoints); else if(short_signal) STOpenPosition(false, bar.close + StopATRMultiple * atr, 0.0, MagicNumber, "ST ADX short", MaxVolume, DeviationPoints); else if(position != 0 && (adx < ExitADX || (position > 0 && direction > 0) || (position < 0 && direction < 0))) STClosePosition(MagicNumber);

Dans la version complète de l’EA, ces conditions ne s’exécutent qu’après la détection d’une nouvelle barre de la période du signal et la récupération réussie de la barre précédemment clôturée ainsi que des valeurs de l’indicateur.


6. Aperçu du backtest chez le courtier

Les figures suivantes sont extraites des rapports fournis par le Testeur de stratégies MetaTrader 5 pour la paire XAGUSD sur la période H4. Les dépôts initiaux variant, le rendement net est indiqué à côté du bénéfice net. La qualité de l'historique des ticks varie également et est particulièrement limitée pour Fusion Markets.

Courtier Fin de la période Dépôt initial Bénéfice net Rendement net DD maximal sur le capital Facteur de profit Indice de Sharpe Transactions Ticks réels
IC Markets 23/09/2026 1 000 000 USD 154 482,51 USD 15,45 % 19,40 % 1,12 0,50 520 32 %
BlackBull Markets 24/09/2026 1 000 000 USD 225 766,54 USD 22,58 % 5,00 % 1,45 1,00 196 41 %
Fusion Markets 23/09/2026 100 000 USD 26 680,57 USD 26,68 % 8,97 % 1,26 2,22 374 4 %

Figure_03_Aperçu du backtest

Figure 3. Résultats historiques spécifiques à chaque courtier, tirés des rapports fournis. Le rapport de Fusion n’a utilisé que 4 % de ticks réels.


Limites des tests : il s'agit de résultats historiques issus du Strategy Tester, et non de performances réelles vérifiées. Les périodes considérées se terminent à des dates légèrement différentes ; les dépôts initiaux et les spécifications des courtiers varient. La qualité de la modélisation varie entre 4 % et 41 % de ticks réels. Ces chiffres ne sont pas directement comparables et ne permettent pas de prédire les résultats futurs. Réexécutez les tests avec le courtier, les spécifications de symbole, le spread, les commissions, les swaps et les données de ticks prévus.


7. Compatibilité et utilisation pratique

  • Plateforme : MetaTrader 5 ; langage source : MQL5.
  • Associez l'EA au graphique du symbole à négocier ; la période du signal est sélectionnée par SignalTimeframe.
  • Aucun fichier d’indicateur personnalisé externe n’est requis. Le code source utilise la bibliothèque standard Trade\Trade.mqh et les données ATR/ADX intégrées.
  • Utilisez un numéro magique unique pour chaque instance de l'EA. Évitez d'exécuter d'autres stratégies ou des transactions manuelles sur le même symbole sur des comptes de compensation, où les positions sont agrégées.
  • Testez au préalable dans le Strategy Tester et sur un compte démo les exigences spécifiques au courtier en matière de volume minimum, de taille de tick, de distance de stop et de marge.


Avertissement sur les risques : le trading automatisé comporte des risques importants. Un stop loss ne peut garantir le prix de sortie en cas de gaps ou sur des marchés très volatils. Les résultats des backtests, des tests en démo et des analyses historiques ne garantissent pas les résultats futurs. Il vous incombe d’évaluer l’EA et ses paramètres avant toute utilisation.

Traduit de l’anglais par MetaQuotes Ltd.
Code original : https://www.mql5.com/en/code/77718

Tick Scalper Helper - tick chart and one-click trading panel for MetaTrader 5 Tick Scalper Helper - tick chart and one-click trading panel for MetaTrader 5

Tick Scalper Helper is a manual trading utility for traders who work on very short time frames and want to see every price change.

Supertrend Scalper with Breakeven Win Rate Panel Supertrend Scalper with Breakeven Win Rate Panel

A Supertrend scalping EA with 14 switchable filters and a self-measuring panel that shows the actual win rate next to the win rate needed to break even after real spread, so you can see whether a setting has an edge or only a high percentage.

ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation ImpulseCandle - impulse bar marker with ATR body filter and volume confirmation

Marque les bougies d'impulsion : corps d'au moins ATR × multiplicateur, corps représentant au moins une part définie de l'amplitude de la bougie, cours de clôture proche d'un extrême, confirmation facultative par le volume des ticks. Flèche verte sous une impulsion haussière, flèche rouge au-dessus d'une impulsion baissière. Uniquement les barres clôturées, pas de repeinture. Les signaux se trouvent dans les deux tampons afin qu’un Expert Advisor puisse les lire avec iCustom.

PropGuard 1.02 - account risk manager for prop firm accounts PropGuard 1.02 - account risk manager for prop firm accounts

Système de protection au niveau du compte pour les comptes des sociétés de gestion pour compte propre. Il surveille chaque position du compte, clôture toutes les positions lorsque la limite de perte journalière ou maximale est atteinte, plafonne le montant exposé au risque par position, clôture les transactions dépourvues de stop et peut liquider les positions en cas d'actualités à fort impact.