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 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.
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. |
| 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.
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 2. Les niveaux de stop sont basés sur l’ATR ; l’EA n’a pas d’objectif de profit fixe.
| 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.
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.
| 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 % |

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 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
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
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
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.