Tutoriel MQL5 : Comment coder une sécurité de Drawdown (Equity Protector)

⏱ 3 min de lecture
Mis à jour le 19 juin 2026

Dans le trading algorithmique, savoir entrer sur le marché est important, mais savoir **quand couper tout le système** est vital. Pour les traders de Prop Firms (FTMO, Apex), le “Daily Drawdown” est la limite absolue.

Aujourd’hui, nous allons coder un script simple mais puissant en MQL5 : un **Equity Protector**. Ce robot ne prend pas de trades, il surveille votre capital et ferme tout si la perte du jour dépasse votre limite.

## Pourquoi coder cet outil en MQL5 ?

Contrairement à MQL4, MQL5 offre un accès direct et rapide aux informations du compte via `AccountInfoDouble`. De plus, la classe `CTrade` rend la fermeture groupée de positions extrêmement simple et fiable.

## Le Code Source (Base)

Voici la structure fondamentale de notre Expert Advisor.

“`cpp
#include

input double InpMaxDailyLossUSD = 500.0; // Perte max autorisée ($)
CTrade trade;
double startOfDayBalance = 0;

int OnInit() {
// On mémorise le solde au lancement (ou au début du jour)
startOfDayBalance = AccountInfoDouble(ACCOUNT_BALANCE);
return(INIT_SUCCEEDED);
}

void OnTick() {
double currentEquity = AccountInfoDouble(ACCOUNT_EQUITY);
double dailyLoss = startOfDayBalance – currentEquity;

if(dailyLoss >= InpMaxDailyLossUSD) {
Print(“LIMITE ATTEINTE : Fermeture de sécurité…”);
CloseAllPositions();
ExpertRemove(); // On désactive l’EA après l’action
}
}

void CloseAllPositions() {
for(int i = PositionsTotal() – 1; i >= 0; i–) {
ulong ticket = PositionGetTicket(i);
trade.PositionClose(ticket);
}
}
“`

## Explications Techniques

1. **`AccountInfoDouble(ACCOUNT_EQUITY)`** : Nous utilisons l’Équité (profit flottant inclus) et non le Solde. C’est crucial car une perte latente non coupée peut vous faire échouer à un challenge Prop Firm.
2. **La Boucle de Fermeture** : Remarquez que nous parcourons les positions de la fin vers le début (`PositionsTotal() – 1`). C’est une règle d’or en MQL : si vous fermez la position 0, la position 1 devient la position 0, et votre boucle sautera un trade.
3. **`ExpertRemove()`** : Une fois la sécurité activée, il est préférable de décharger le robot pour éviter qu’il n’essaie de refermer des ordres en boucle si vous essayez de rouvrir manuellement un trade par frustration.

## Aller plus loin

Ce code est une base. Une version professionnelle (comme notre **[Equity Protector Premium]**) inclut :
* La suppression des ordres en attente (Pending Orders).
* L’envoi de notifications Push sur votre téléphone.
* La réinitialisation automatique à minuit (heure du broker).
* La protection contre le “Revenge Trading” en bloquant le terminal.

**Vous ne voulez pas gérer les bugs de code ?**
[Téléchargez notre version compilée et testée de l’Equity Protector ici.]

—

**Besoin d’un développement sur-mesure ?**
* [Demander un devis pour un EA MQL5]
* [Consulter nos scripts gratuits sur GitHub]
## FAQ — Equity Protector et sécurité Drawdown

**Faut-il fermer toutes les positions ou seulement réduire l’exposition ?**
Sur un compte Prop Firm, la règle du Drawdown Maximum est généralement calculée
en temps réel sur l’équité globale. Une fermeture partielle ne suffit pas si une
seule position concentre la majorité du risque : la sécurité doit fermer
l’ensemble du book dès que le seuil est franchi, sans exception.

**Le contrôle doit-il tourner sur OnTick ou sur OnTimer ?**
`OnTick()` est plus réactif mais consomme plus de ressources sur un VPS partagé.
Pour une vérification de drawdown qui ne nécessite pas une précision à la
milliseconde, `OnTimer()` avec un intervalle d’une seconde reste largement
suffisant et réduit la charge CPU de l’Expert Advisor.

**Que se passe-t-il si le broker a une latence importante sur `PositionClose` ?**
C’est pour cette raison que la boucle de fermeture doit inclure une vérification
du retour de `trade.PositionClose()` et, en cas d’échec, une nouvelle tentative
immédiate plutôt qu’une attente passive — un ordre qui reste ouvert pendant un
pic de volatilité peut suffire à faire échouer un challenge.

Recevez nos meilleurs conseils

1 email par semaine, désinscription en 1 clic. Pas de spam, jamais.

Site realise par Agence FluxDigital