Runaway Guard
- Utilitaires
- Version: 1.0
- Activations: 10
Runaway Guard mesure la vitesse d'arrivée des transactions sur un compte MetaTrader 5, source par source : le résultat financier des positions n'entre dans aucun calcul. Dès qu'un seuil est franchi, l'outil enregistre un fichier CSV contenant les numéros de tickets réels, que vous pouvez recouper avec l'historique du terminal. Le décompte se fait par numéro magique, et non à l'échelle du compte.
Ce que l'outil mesure
Chaque mesure est recalculée en continu sur une fenêtre glissante :
• 20 transactions par 5 minutes ;
• 10 clôtures tenues moins d'une minute, par 15 minutes ;
• 5 reprises par 15 minutes : position rouverte, même symbole, même sens, moins de 30 secondes après une clôture ;
• 0,5 % du solde par 15 minutes : commissions, swaps et montants réalisés à la clôture, additionnés avec leur signe.
Un seuil mis à 0 désactive sa mesure ; cette somme n'est retenue que du côté où le solde diminue. Chaque transaction porte le numéro magique du programme qui l'a générée et les ordres manuels forment la ligne « Manual / no magic ». « All sources » n'affiche que la cadence. Une source exclue est également retirée de ce total : elle reste affichée, mais ne déclenche plus rien.
Ce qui se passe au franchissement
L'action se choisit source par source :
• « Alert », d'origine : un message, rien d'autre ;
• « Cancel pendings » : les ordres en attente de la source sont annulés, les positions ouvertes restent intactes ;
• « Stop the chart » : le graphique de la source est fermé, plus aucun ordre n'en provient ;
• « Close the terminal » : MetaTrader 5 est réellement fermé.
Cette dernière action reste inactive tant que InpAllowTerminalClose n'est pas réglé sur true, et le testeur ne l'appelle jamais.
Ce que vous voyez à l'écran
Les textes de l'outil sont en anglais, non traduits ici, pour que vous retrouviez chaque ligne à l'identique à l'écran :
Runaway Guard Watch Sources
Window 5 min / 15 min State: TRIGGERED
Source Deals RT Reentry Cost Action
All sources 48 -- -- -- Alert
Manual / no magic 4 2 1 -4.00 Alert
Magic 33020001 0 10 9 -250.00 Alert
Magic 40010001 36 18 17 -36.00 Cancel
Magic 70010001 8 4 3 -8.00 Alert
Magic 70010002 12 6 5 -12.00 Excluded
Last incident: 07:47:26 Magic 70010002 reentry
5 in 15 min (limit 2)
-> incident_2026-08-14_074726_magic70010002_2.csv
Close the terminal needs InpAllowTerminalClose = true
« State » indique « WATCHING », « TRIGGERED » ou « DISABLED » ; ce dernier ne signale pas l'arrêt du décompte, mais qu'une action ne peut pas s'exécuter, et il en précise la raison. « RT » compte toutes les clôtures de la fenêtre longue, alors que le seuil ne compte que celles tenues moins d'une minute.
Cinq points de la capture, vérifiables à la main :
• la colonne « Deals » additionnée ligne par ligne donne 4 + 0 + 36 + 8 + 12 = 60, et il suffit d'en retirer les 12 de la ligne marquée « Excluded » pour retrouver les 48 de « All sources » ;
• « Deals » à 0 avec « RT » rempli n'a rien de contradictoire, car « Deals » se lit sur la fenêtre courte et les trois autres sur la fenêtre longue ;
• « All sources » affiche trois tirets, car seule la cadence se mesure à l'échelle du compte ;
• la source « Excluded » figure encore dans le dernier incident : l'exclusion rend la source silencieuse, elle n'efface rien ;
• les seuils ont été abaissés pour la capture ; les valeurs d'origine sont 20, 10 et 5.
Ce que l'outil enregistre
Un fichier CSV par événement, dans MQL5/Files/RunawayGuard/ :
time_broker,time_utc,time_local,trigger,measured,threshold,magic,symbol,deals,round_trips,commission,swap,realized,action,deal_tickets
Trois horloges (courtier, UTC, locale), la mesure franchie et sa valeur, la source, le symbole l'action et les tickets réels. Aucune valeur n'est estimée ni notée d'une appréciation, rien n'est écrasé ni supprimé automatiquement.
Quatre dispositifs limitent les déclenchements inutiles : rien ne se déclenche pendant la première minute après le démarrage, les seuils doublent les deux premières minutes de la séance, tout numéro magique peut être exclu, et une temporisation de 10 minutes suit tout déclenchement.
Ce que l'outil ne fait pas
• aucune action de trading (ouvrir, clôturer, modifier une position) n'existe dans le code source ;
• aucun autre robot ne peut être désactivé, seul son graphique peut l'être ;
• les ordres envoyés depuis un autre terminal sont détectés, mais pas arrêtés ;
• une transaction déjà passée ne peut plus être annulée ;
• rien n'est envoyé vers l'extérieur : ni connexion, ni serveur, ni DLL.
Comment l'essayer
Comme l'outil n'ouvre aucune position, le testeur de stratégies reçoit un échantillon synthétique par le même point d'entrée que les transactions réelles :
TESTER DEMO - synthetic sample, no orders are placed
L'outil fonctionne avec n'importe quel courtier et n'importe quel symbole, puisqu'il se contente de lire le compte. Il a été vérifié sur un compte de couverture ; le compte de compensation est implémenté, mais n'a pas été vérifié. Avant publication, trois décomptes ressortent à zéro : actions de trading, DLL, connexions externes.
Huit paramètres fixent les seuils : InpWindowFastMin (5), InpMaxDealsPerWindow (20), InpWindowSlowMin (15), InpShortHoldSec (une minute), InpMaxChurnPerWindow (10), InpReentrySec (30), InpMaxReentryPerWindow (5), InpMaxCostPercent (0,5). Les autres couvrent l'action par défaut, la fermeture, les exclusions, la temporisation, le démarrage et les fichiers produits. Dix-neuf paramètres en tout, actifs dès l'installation : aucun fichier .set à réclamer.
Runaway Guard compte les transactions arrivées sur le compte et les inscrit dans un fichier ; il ne dit rien de ce qui se produira ensuite.
