Execution Quality Logger
- Utilitaires
-
Ganzorig Munkhbayar
Test - Version: 1.0
- Activations: 5
Un utilitaire qui mesure comment votre courtier exécute vos ordres. Attachez-le à n'importe quel graphique : il surveille chaque transaction du compte de trading - ordres de tous les Expert Advisors, trades manuels depuis le terminal de bureau, web ou mobile, exécutions de stop loss et de take profit - et enregistre, pour chaque exécution, ce qui a été demandé et ce qui a été obtenu. Il n'ouvre, ne modifie ni ne clôture jamais une position sur un compte réel.
Ce qu'il enregistre pour chaque exécution
- Prix demandé - le prix de l'ordre (pour un ordre en attente son niveau ; pour une exécution de stop loss / take profit, le niveau de stop ou d'objectif que portait la position).
- Cotation au moment de l'ordre - beaucoup de serveurs (« exécution au marché ») ne conservent pas le prix demandé d'un ordre au marché. La référence est alors la cotation du marché (ask pour un achat, bid pour une vente) en vigueur lorsque le serveur a enregistré l'ordre, tirée de l'historique des ticks du terminal ; chaque exécution indique la référence utilisée (« vs requested » ou « vs quote »).
- Prix d'exécution et glissement par rapport à la référence, en points et en devise du compte, signé : + favorable, - défavorable.
- Latence d'exécution en millisecondes : du moment où le serveur a enregistré l'ordre jusqu'à la transaction.
- Spread en points au moment où l'exécution a été signalée au terminal.
- Symbole, sens, volume, entrée ou sortie, motif (expert, manuel, mobile, web, stop loss, take profit, stop out), type d'ordre, numéro magique, tickets de transaction / d'ordre / de position, commentaire.
Où le voir
- Panneau sur le graphique, une ligne par symbole : exécutions, exécutions avec prix demandé connu, glissement moyen / médian / pire, part des exécutions défavorables, glissement net en devise du compte, latence moyenne, spread moyen à l'exécution.
- Fichier CSV, une ligne par exécution : MQL5\Files\ExecQualityLogger\fills_<account>.csv (à ouvrir avec n'importe quel tableur).
- Journal : une ligne par exécution (facultatif) et une ligne de synthèse par jour serveur avec des exécutions.
- Alertes (facultatif) : une fenêtre et / ou une notification push lorsque le glissement défavorable ou la latence d'une exécution atteint votre limite - au plus une de chaque type par minute ; chaque alerte est aussi écrite dans le Journal.
- Au démarrage, il lit les History_Days derniers jours de l'historique du compte dans le panneau et le CSV, pour qu'un nouveau graphique commence avec des données.
Ce qu'il ne peut pas faire - à lire
- Pas de prix demandé. Beaucoup de serveurs (« exécution au marché ») ne conservent pas le prix demandé par un ordre ; l'utilitaire affiche alors requested n/a - jamais un 0 inventé - et mesure par rapport à la cotation au moment de l'ordre, clairement indiqué (désactivable avec Quote_When_No_Request). La cotation est le dernier tick que possède le terminal à ce moment ou avant ; il ne peut pas voir une cotation que le serveur n'a jamais envoyée. Une clôture par position opposée (close-by) n'a aucune référence (n/a).
- La latence est mesurée avec les horodatages du serveur lui-même. Elle n'inclut ni le temps réseau entre votre terminal et le serveur (voir le ping dans la barre d'état du terminal), ni le temps que votre Expert Advisor a mis à décider. Pour un ordre en attente, la latence est n/a (son heure de pose est le moment où il a été placé).
- Le spread est la cotation que détenait le terminal lorsque l'exécution a été signalée - il est n/a pour les exécutions lues dans l'historique (faites pendant que le terminal ou l'utilitaire ne fonctionnait pas).
- Le glissement d'un ordre en attente est mesuré par rapport à son niveau : un ordre limite ne s'exécute qu'à son niveau ou mieux, un ordre stop à son niveau ou moins bien.
- Le fichier CSV grandit à chaque exécution ; déplacez ou supprimez vous-même les anciens fichiers.
- Un seul par compte dans un terminal ; un second graphique avec lui attend et prend le relais si le premier est fermé.
- Testeur de stratégie : seul dans le testeur, il n'a rien à mesurer, donc là (et seulement là) il ouvre chaque jour une position de volume minimal avec stop loss, la clôture après 6 heures et enregistre ces exécutions (Tester_Demo). Le testeur exécute à des prix idéaux : ses chiffres ne disent rien d'aucun courtier.
- Il mesure ; il ne change pas la façon dont vos ordres sont exécutés et ne peut rendre aucune stratégie rentable.
Paramètres d'entrée
- Magic_Filter (-1) - n'enregistrer que les exécutions avec ce numéro magique ; -1 = toutes (tous les EA et le manuel).
- Symbol_Filter (vide) - n'enregistrer que ces symboles, p. ex. EURUSD;XAUUSD ; vide = tous les symboles.
- History_Days (7) - au démarrage, lire ce nombre de jours d'historique ; 0 = désactivé. (Les exécutions de l'historique n'ont ni spread ni référence de cotation.)
- Quote_When_No_Request (true) - lorsque le courtier ne conserve pas le prix demandé, mesurer par rapport à la cotation à l'arrivée de l'ordre sur le serveur ; false = n/a.
- Show_Panel (true), Panel_X (10), Panel_Y (30), Panel_Font_Size (8) - le panneau.
- Write_CSV (true) - une ligne CSV par exécution.
- Print_Each_Fill (true) - une ligne de Journal par exécution.
- Daily_Summary (true) - une ligne de Journal par jour serveur avec des exécutions.
- Alert_Adverse_Points (0 = désactivé) - alerte lorsque le glissement défavorable d'une exécution atteint ce nombre de points.
- Alert_Latency_Ms (0 = désactivé) - alerte lorsque la latence d'une exécution atteint ce nombre de millisecondes.
- Alert_Popup (true), Alert_Push (false) - comment les alertes sont affichées. Les notifications push nécessitent le MetaQuotes ID dans Outils - Options - Notifications, et l'ordinateur qui fait tourner le terminal doit être en ligne.
- Tester_Demo (true) - testeur de stratégie uniquement : le trade de démonstration décrit ci-dessus.
Pas de DLL, pas de requêtes web. Tous les textes sont en anglais.
