BreakEvenTrailingMarket
- Utilitaires
- Version: 1.0
BreakEven Trailing est un utilitaire pour MetaTrader 5 qui gère le stop loss des positions que vous détenez déjà. Il déplace le stop loss au point mort et le fait suivre le prix, afin de protéger un gain latent sans que vous ayez à surveiller le graphique.
L'EA n'ouvre pas de positions et ne les ferme pas par ordre au marché. Il modifie uniquement le stop loss des positions existantes. La sortie a lieu lorsque le prix atteint le stop loss placé par l'EA.
CE QU'IL FAIT
- Déplace le stop loss au prix d'ouverture, ou au prix d'ouverture augmenté d'un décalage choisi, lorsque la position atteint un gain défini en pips.
- Fait suivre le stop loss à une distance fixe derrière le prix actuel lorsque la position atteint un gain défini en pips.
- Le point mort et le suivi peuvent être activés ou désactivés séparément et utilisés ensemble.
- Fonctionne avec les positions BUY et SELL.
- Ne déplace jamais un stop loss existant vers un niveau moins favorable. Le stop loss ne bouge que dans le sens qui protège davantage de gain.
- Conserve le take profit existant lorsqu'il modifie le stop loss.
- Affiche sur le graphique les réglages actuels, le type de compte et l'état de fonctionnement.
QUELLES POSITIONS SONT GÉRÉES
L'EA gère toutes les positions du symbole du graphique sur lequel il est attaché.
- Les numéros magiques ne sont pas vérifiés. Les positions ouvertes manuellement, par un autre EA ou par copie de trades sont toutes gérées.
- Les positions des autres symboles ne sont jamais modifiées.
- Les ordres en attente ne sont jamais modifiés.
- Seul le stop loss est modifié. Le volume, le take profit et le sens de la position restent inchangés.
Comme l'EA ne filtre pas par numéro magique, n'exécutez pas simultanément deux programmes qui modifient le stop loss du même symbole : ils s'écraseraient mutuellement. Attachez l'EA à un seul graphique par symbole.
COMPTES DE COUVERTURE ET DE COMPENSATION
Sur un compte de couverture (hedging), chaque position est gérée séparément selon son ticket. Deux positions du même symbole peuvent avoir des niveaux de point mort différents, car chacune possède son propre prix d'ouverture.
Sur un compte de compensation (netting), la plateforme conserve une seule position agrégée par symbole. Plusieurs exécutions sont fusionnées en une position avec un prix d'ouverture moyen, et c'est ce prix moyen qui sert de référence au point mort. Sur un compte netting, des points morts distincts par exécution ne sont pas possibles, et une nouvelle exécution modifie le prix d'ouverture moyen de toute la position. L'EA relit la position agrégée à chaque tick et travaille donc toujours à partir du prix moyen le plus récent.
Le type de compte détecté est affiché sur le panneau du graphique : Hedging ou Netting.
COMMENT LE STOP LOSS EST CHOISI
Lorsque le point mort et le suivi sont tous deux activés, les deux conditions peuvent se produire en même temps. Dans ce cas l'EA n'envoie pas deux demandes de modification. À chaque tick, il effectue les étapes suivantes :
1. Calcul du candidat point mort : prix d'ouverture plus ou moins le décalage dans le sens du gain.
2. Calcul du candidat de suivi : prix actuel moins ou plus la distance de suivi.
3. Arrondi de chaque candidat au pas de cotation du symbole, toujours du côté qui ne rapproche pas le stop loss du prix actuel plus que demandé.
4. Vérification séparée de chaque candidat par rapport au stops level et au freeze level du symbole.
5. Comparaison des candidats valides et envoi du seul qui protège le plus de gain : le stop loss le plus haut pour une position BUY, le plus bas pour une position SELL.
Si un candidat ne peut pas être placé en raison d'une restriction du courtier, l'autre est utilisé lorsqu'il est valide. Un candidat n'est jamais remplacé par un niveau moins favorable pour forcer la modification.
RESTRICTIONS DU COURTIER
De nombreux courtiers n'acceptent pas un stop loss trop proche du prix actuel, et certains bloquent la modification d'une position tant que le prix se trouve dans une zone de gel. L'EA vérifie le stops level et le freeze level avant d'envoyer la demande, puis lit le code de retour du serveur de trading après l'envoi.
Lorsqu'un stop loss ne peut pas être placé, l'EA attend et réessaie au tick suivant. Il ne déplace pas le stop loss vers un niveau moins favorable et ne désactive pas la fonction. La raison est affichée sur le panneau, ce qui permet de voir si l'EA attend le marché ou si le serveur a refusé la demande.
Notez que certains courtiers annoncent un stops level égal à zéro tout en appliquant une restriction dynamique côté serveur. Dans ce cas, le résultat final est déterminé par le code de retour du serveur, que l'EA affiche sur le panneau et dans le journal.
PARAMÈTRES D'ENTRÉE
Point mort
- Enable break-even (par défaut true). Active ou désactive la fonction de point mort.
- Profit to trigger break-even, in pips (par défaut 10.0). Gain latent que la position doit atteindre avant le déplacement du stop loss.
- Offset beyond open price, in pips (par défaut 0.0). Distance depuis le prix d'ouverture dans le sens du gain. À utiliser pour couvrir le spread, la commission et le swap.
Stop suiveur
- Enable trailing stop (par défaut true). Active ou désactive la fonction de suivi.
- Profit to start trailing, in pips (par défaut 15.0). Gain latent nécessaire pour démarrer le suivi.
- Distance from price to stop, in pips (par défaut 10.0). Distance maintenue entre le prix actuel et le stop loss pendant le suivi.
Panneau du graphique
- Show settings and status on chart (par défaut true).
- Panel font size (par défaut 12). Les valeurs sont limitées à la plage 8 à 24.
Les valeurs sont validées au démarrage de l'EA. Si une valeur ne peut pas fonctionner, l'EA le signale et ne démarre pas. Si une combinaison est autorisée mais inhabituelle, l'EA démarre et écrit un avertissement dans le journal. Deux cas produisent un avertissement : un décalage supérieur au seuil de point mort, ce qui signifie que le stop loss ne pourra être placé qu'après une progression supplémentaire du prix, et un seuil de démarrage du suivi inférieur à la distance de suivi, ce qui signifie que le premier stop suiveur peut être moins favorable que le prix d'ouverture.
PANNEAU DU GRAPHIQUE
Le panneau affiche la version, le symbole, le type de compte, l'état des deux fonctions avec leurs réglages, le nombre de positions BUY et SELL gérées, le nombre de modifications effectuées sur le tick en cours et l'état actuel.
Valeurs d'état :
- ACTIVE : l'EA surveille les positions.
- WAITING: NO POSITION : aucune position sur le symbole actuel.
- WAITING: NO QUOTE : pas encore de bid et d'ask valides.
- WAITING: STOP LEVEL : le stop loss candidat est plus proche du prix que ne l'autorise le courtier.
- BLOCKED: FREEZE LEVEL : le prix se trouve dans la zone où le courtier interdit la modification.
- WAITING: MARKET CLOSED, WAITING: PRICE OFF, WAITING: PRICE CHANGED, WAITING: TOO MANY REQUESTS : conditions temporaires de marché ou de serveur.
- ALL FUNCTIONS OFF : les deux fonctions sont désactivées.
- AUTO TRADING OFF, EA TRADING DISABLED, ACCOUNT TRADE DISABLED, EXPERT TRADE DISABLED, SERVER AUTO TRADING OFF, DISCONNECTED : le trading n'est pas autorisé dans le terminal, pour cet EA ou sur ce compte, ou le terminal n'est pas connecté.
- ERROR: INVALID STOPS, ERROR: TRADE DISABLED, ERROR: SYMBOL SETTINGS, ERROR: MODIFY FAILED : la demande a été refusée. Le code de retour est écrit dans le journal.
Les erreurs répétées sur le même ticket ne sont journalisées qu'à la première occurrence, lors d'un changement de code de retour, puis une fois par minute, afin que le journal reste lisible. Lorsqu'une position se rétablit après une erreur, une ligne de rétablissement est écrite.
DÉFINITION DU PIP ET SYMBOLES PRIS EN CHARGE
Toutes les distances sont exprimées en pips, pas en points.
- Symboles cotés avec 3 ou 5 décimales : un pip vaut dix points.
- Symboles cotés avec 2 ou 4 décimales : un pip vaut un point.
Cette définition suit la cotation standard du marché des changes. Les métaux, les indices et les cryptomonnaies sortent du périmètre pris en charge par la version 1.00, car la définition du pip pour ces instruments n'est pas homogène entre les courtiers. Sur ces symboles, le calcul fonctionnerait tout de même, mais la valeur d'un pip peut ne pas correspondre à ce que vous attendez : vérifiez les distances obtenues sur un compte de démonstration avant utilisation.
CE QUE SIGNIFIE ICI LE POINT MORT
Le point mort dans cet EA correspond au prix d'ouverture de la position enregistré par la plateforme. Il n'inclut ni la commission, ni le swap, ni le slippage, ni l'écart entre bid et ask au moment de la sortie. Une position fermée exactement au prix d'ouverture ne garantit donc pas un résultat exactement nul.
Si vous souhaitez que le stop loss couvre vos propres coûts de transaction, réglez le décalage au-delà du prix d'ouverture sur une valeur correspondant à ces coûts sur votre compte.
UTILISATION
1. Attachez l'EA au graphique du symbole à gérer. L'unité de temps est libre : l'EA travaille à chaque tick et n'en dépend pas.
2. Activez le trading algorithmique dans le terminal.
3. Réglez les seuils et les distances en pips selon votre style de trading et l'amplitude habituelle du symbole.
4. Vérifiez que le panneau affiche ACTIVE lorsqu'une position est ouverte et WAITING: NO POSITION lorsqu'il n'y en a pas.
5. Ouvrez un graphique par symbole. N'attachez pas l'EA deux fois au même symbole.
L'EA peut rester en permanence sur le graphique. Il ne fait rien tant qu'aucune position n'existe sur le symbole.
CONFIGURATION REQUISE
- MetaTrader 5. Testé sur la build 5836 du terminal.
- Trading algorithmique activé dans le terminal et pour l'EA.
- Un compte autorisant la modification du stop loss des positions ouvertes.
- Aucun DLL, aucun WebRequest, aucun fichier externe et aucune connexion internet ne sont utilisés.
TESTS
La version 1.00 a été testée sur un compte de démonstration d'un courtier de détail.
- Tests de calcul : 46 vérifications automatiques réussies. Elles couvrent BUY et SELL, le point mort, le suivi, les deux fonctions ensemble, le tick précédant le déclenchement et le déclenchement exact, un candidat violant le stops level puis les deux candidats, la protection d'un stop loss existant, le freeze level appliqué au stop loss et au take profit, les symboles à 2, 3, 4 et 5 décimales, ainsi que l'arrondi au pas de cotation dans le bon sens.
- Test d'intégration avec l'API de trading sur un compte de couverture : point mort exécuté pour BUY et pour SELL avec le code de retour 10009 (demande exécutée), take profit existant conservé, aucune demande en échec. Environ 360 000 ticks ont été traités.
QUESTIONS FRÉQUENTES
L'EA ouvre-t-il ou ferme-t-il des positions ?
Non. Il modifie uniquement le stop loss de positions déjà existantes. La position est fermée par le courtier lorsque le prix atteint ce stop loss.
Fonctionne-t-il avec les trades d'un autre EA ou d'un signal ?
Oui. Les numéros magiques ne sont pas vérifiés, donc toute position du symbole est gérée. Pour cette raison, ne l'utilisez pas en même temps qu'un autre programme qui modifie le stop loss du même symbole.
Que se passe-t-il si le terminal est fermé ?
L'EA ne peut pas fonctionner terminal fermé. Les niveaux de stop loss déjà placés restent sur le serveur et demeurent valides, car ce sont des ordres côté serveur.
Puis-je utiliser le point mort sans le suivi ?
Oui. Chaque fonction possède son propre interrupteur. Si les deux sont désactivées, l'EA reste inactif et affiche ALL FUNCTIONS OFF.
Pourquoi le stop loss ne bouge-t-il pas alors que l'objectif de gain est atteint ?
La cause la plus fréquente est une restriction du courtier. Consultez le panneau : WAITING: STOP LEVEL signifie que le stop loss demandé est plus proche du prix que ne l'autorise le courtier, et que l'EA attend une distance valide au lieu de placer un stop moins favorable.
Fonctionne-t-il sur un compte netting ?
Oui. Sur un compte netting, il existe une position agrégée par symbole et le prix d'ouverture moyen sert de référence au point mort.
VERSION
1.00 - Première version.
