Rejoignez notre page de fans
Affiche les limites invisibles du contrat qui entraînent le rejet silencieux des ordres : niveau d'arrêt, niveau de gel, lot min./pas/max., taille et valeur du tick, type de spread, mode d'exécution, swaps, ainsi que la marge requise pour le lot minimum par rapport à votre marge disponible.
Outil d'inspection des sessions de trading natif du courtier, en lecture seule, affichant l'état actuel, la transition suivante, avec une portée multi-symboles et une fonctionnalité d'exportation au format CSV.
Script MT5 en lecture seule affichant le volume, le cours, les ordres stop, les blocages, le spread et les contraintes d'exécution du courtier.
Tests d'acceptation synthétiques déterministes pour la logique d'entrée des EA MT5, sans accès au marché, au compte ou aux ordres.
Un script d'audit en lecture seule destiné aux comptes exécutant plusieurs EA (ou des transactions manuelles en parallèle). Il regroupe l'historique des transactions clôturées par « magic number » et affiche une ligne par « magic » : transactions clôturées (aller-retour), P/L net incluant les swaps et les commissions des DEUX côtés de la transaction, taux de réussite, facteur de profit, gain/perte moyen, positions actuellement ouvertes et en attente, dates d'activité et symboles – le tout trié par résultat net, avec une exportation au format CSV pour les tableurs.
TimeCurrent() is not a clock. It is the stamp of the LAST TICK. Two consequences break robots in production: 1. It freezes. With no tick it does not move: illiquid instrument, end of session, unstable connection - and any rule based on it stops with it. 2. It steps backwards: on a symbol switch, a reconnection or a tick from another instrument, the value can go back. The case that cost me a whole protection: I compared the date of a daily decision with TimeCurrent() to reject an expired one. The server clock stepped back to the previous day, the comparison matched, and four EAs accepted YESTERDAY's decision as valid. The gate that should have failed closed failed open - without a single error in the log. Rule: TimeLocal() for timestamps, dates, day changes, expiry - all that must always move forward; TimeCurrent() for session hours and market data. The script measures the divergence in your environment and reports both symptoms live. Run it with the market closed.
Measures, hour by hour, how far a symbol travels and how much of that the spread takes away. Built for gold, works on any symbol, compares several side by side.
Opens a virtual bracketed trade on every M1 bar, walks it forward on the real tick history, and reports for a sweep of stop distances how often 1-minute OHLC modelling would score the trade the wrong way round.
Exports one CSV line per closed trade with the numbers a statement does not carry: the best unrealised profit the trade showed (MFE), the worst unrealised loss it survived (MAE), how much of the MFE was actually kept, how many bars it spanned, and how long it was held. Same measurement as the Trade Excursion indicator, written to a file instead of drawn, because the questions worth asking of this data are ones a chart cannot answer: does the capture ratio depend on the hour of entry? Are the trades I close early the ones I hold longest? Do losers on Mondays reach a different MAE than on Fridays? Those are one pivot table away once the CSV exists. Output is semicolon separated with a header row, in MQL5\Files; opens in any spreadsheet. Measurement limit: excursions come from bar highs and lows on the chosen timeframe; the path inside a bar is unknown. The bars column reports the resolution each trade got, and the summary counts single-bar trades separately instead of averaging them in.
A datetime in MQL5 is seconds since 1970 - but server time (TimeCurrent, bar times, deal times) is the broker's wall clock stored AS IF it were UTC. Export it to CSV, read it in Python or a spreadsheet with a "seconds since 1970 UTC" parser, and every timestamp shifts by the server's UTC offset. On a UTC-3 broker that is three hours: the daily bar dated 00:00 reads as 21:00 of the previous day, and "yesterday's session" silently becomes "today's, half formed". That happened to a morning report of mine before this script existed. The script prints TimeTradeServer, TimeCurrent, TimeGMT and TimeLocal, the three offsets between them, the tick lag, and this chart's last bar time in server time and in real UTC - then states the rule: export server timestamps as wall-clock text, or export the epoch together with the offset, and never let the consumer apply its own timezone.
A simple MQL5 script that calculates the correct lot size for a trade based on your account risk percentage and stop loss distance in pips, so every trade risks a consistent, controlled amount of your balance.
Sizes your next trade based on the correlated risk you already have open across other positions — not just the trade in isolation.
Checks your trade history against common prop-firm challenge rules — profit target, max daily loss, max drawdown, consistency rule, and minimum trading days — with a clear PASS/FAIL report.
Customize your MetaTrader 5 AI Assistant with selectable language, personality, menu and behavior using a simple prompt file.
Reports, month by month, whether your symbol really has ticks or only bars - so you know which part of your backtest ran on generated ticks before you trust the curve. The Strategy Tester gives you one History Quality figure after the test has finished, and it never says which months were the problem. This script asks first.
Analyses en lecture seule pour les comptes exécutant plusieurs Expert Advisors. Cet outil regroupe les transactions clôturées par « magic number » et évalue les économies réelles générées par l'exécution conjointe de ces systèmes : comparaison entre le drawdown en mode autonome et le drawdown combiné, matrice de corrélation par paires représentée sous forme de carte thermique sur le graphique, et réorganisation par simulation de Monte Carlo des rendements du portefeuille sur la période considérée.
The script prices one night of holding: for every open position and every Market Watch symbol it prints the swap per night in your account currency, the annualized cost in percent for both directions, the broker's rate-independent markup (|swap long| + |swap short| never depends on interest rates - it is pure broker margin), and the triple-swap day. Honest "n/a" where a swap mode cannot be converted reliably.
A read only MT5 script that reports broker symbol specifications, volume limits, price settings, execution modes, trading permissions, margin requirements and estimated profit values.
Le script récupère le spread réel de votre courtier à partir du champ « spread » des barres M1 et affiche la médiane, les 90e et 99e centiles en unités de prix, en points et en fractions d’ATR, et exporte dans un fichier CSV le spread moyen et maximal pour chaque heure de la journée. Il est utile pour tester des stratégies en fonction des coûts réels de votre compte, et non par rapport à un spread « type » estimé de mémoire.
Measures whether a drawing indicator repaints, instead of asserting that it does not. The invariant: once a bar has closed and been processed, no object drawn on it may ever change - not move, not recolour, not change its text, and not disappear. The script seeds a custom symbol with real history, attaches your indicator through a template, records every object, appends bars, forces a full recalculation, and compares object by object. Changes and disappearances are counted separately, because only a change means the claim is false. A run that compared nothing is reported as INCONCLUSIVE, never as a pass. Output is a CSV you can publish next to the number.
Lit l'historique des transactions clôturées (un fichier CSV ou un fichier généré automatiquement à partir de l'historique des transactions du compte courant par le script associé RuinExport.mq5) et fournit quatre indicateurs de risque indépendants : l'escalade des volumes après une perte, le chevauchement d'expositions dans le même sens qui se traduit par un prix moyen moins favorable, l'asymétrie des gains et des pertes, ainsi qu'une estimation classique du risque de ruine pour un risque par transaction donné. Ces quatre indicateurs sont combinés en une note unique allant de A à F, accompagnée de recommandations en langage clair. Si aucun fichier CSV n’est détecté, le script génère automatiquement un journal de démonstration reproductible, permettant ainsi de visualiser le rapport dès la première exécution.
Neural Loss-Pattern Auditor trains a small feed-forward neural network, written from scratch in native MQL5, on closed-deal history to test whether behavioral and market-context features predict which trades are more likely to lose. It reports an accuracy uplift over a naive baseline, a probability-calibration table, a permutation feature-importance ranking, and a configurable A-F composite grade with recommendations. On first run it uses a built-in synthetic demo, so the output is visible immediately with no setup; switch one input to InpUseDemoData=false to analyze real account history instead. Pure MQL5: no external libraries, no Python, and no AI service of any kind.
Most reports give you one drawdown number - the worst one. This read-only script measures all three that matter on your own closed history: depth, duration and frequency. It prints the maximum drawdown with its peak, trough and recovery dates, the longest underwater period in days, whether you are at a new peak or how far below it and for how long, and a table of the deepest episodes with the days each took to recover. An episode is not a losing streak: it closes only when a NEW high is made, so a dip that never reclaims the old peak stays the same episode - which is what makes the duration column meaningful. Entry commissions are included and a partial close counts as one round turn, so the curve carries full cost. Optional percentage figures and CSV export. Deposits and withdrawals are excluded: this is the drawdown of your trading, not of your balance line.
Measures whether an entry signal actually beats transaction costs, before you spend weeks building an EA around it. Reports net result after cost, an honest t-statistic on non-overlapping samples, and a random control. Places no orders.
Read-only MT5 script that estimates stop-distance cash loss in account currency, reserves explicit cash costs and floors volume to the broker grid. It never sends or modifies an order.
A native MQL5 tool that reconstructs closed positions from deal-level history, flags the ones closed through more than one exit, and reprices each one at its own first, last, and best exit rates to measure whether scaling out actually added value. Reports a Value-Add Ratio, a Scale Out Win Rate, an Efficiency figure, and a single-trade dependence check, combined into an A+ to F score with recommendations. Runs out of the box against a built-in demonstration data set; a companion script exports the real input file from your own account history. Pure MQL5, no external libraries.
Checks a hypothetical MT5 market or pending order against current symbol, volume, tick-size, stop-distance and filling rules without sending a trade.
Prints a privacy-conscious snapshot of the current MT5 broker, account, symbol and terminal environment to the Experts log for diagnostics and support.
Un script entièrement en MQL5 qui évalue la résistance de l'avantage d'une stratégie face aux coûts d'exécution. Il lit un fichier CSV contenant les dates, les bénéfices et les volumes des transactions clôturées, et modélise le coût de chaque transaction comme étant composé d'une partie fixe et d'une partie par lot. Il affiche le coût d’équilibre par transaction, la marge de sécurité (le multiple d’un coût réaliste supposé à partir duquel le bénéfice net atteint zéro), le bénéfice net et le facteur de profit réévalués au coût supposé, la proportion de transactions gagnantes que le coût transforme en transactions perdantes, ainsi qu’une note composite de robustesse face aux coûts (de A+ à F) accompagnée de recommandations. En l’absence de fichier, il génère un échantillon reproductible et l’analyse, de sorte que le résultat soit visible dès la première exécution. Pas de bibliothèques externes, pas de Python, pas d’IA.
Calcule la taille de position appropriée pour une opération prévue en fonction de votre niveau de risque (pourcentage du capital ou montant fixe) et de l'écart de stop-loss (en points ou en niveau de prix). Tient compte des spécifications du contrat du titre (taille et valeur du tick, volume min./max./pas) et estime la marge requise.
Exporte vos positions clôturées sur une période configurable vers un fichier CSV afin de pouvoir analyser le journal des transactions dans Excel ou Google Sheets : heure et cours d'entrée et de sortie (pondérés en fonction du volume pour les exécutions partielles), volume, résultat en points, commission, swap, bénéfice net et durée de la transaction.
Un script MQL5 natif qui analyse la structure des baisses de capital d'un compte, et pas seulement le chiffre unique de la « baisse maximale ». Il lit une courbe de capital quotidienne (fichier CSV « Date,DailyPnL »), reconstitue la courbe « sous l'eau » et la divise en épisodes de baisse individuels avec leur ampleur, leur durée et leur temps de récupération. Il calcule ensuite l’indice d’ulcère, l’indice de douleur, le facteur de récupération et la durée passée en situation de perte, puis combine ces éléments en un score de résilience unique (de A+ à F) accompagné de recommandations, affichées dans l’onglet « Experts ». Aucune bibliothèque externe n’est requise ; si aucun fichier n’est trouvé, il génère une courbe d’exemple, ce qui lui permet de fonctionner dès son installation.
Un script MQL5 natif qui mesure le degré de concentration des bénéfices d’une stratégie — c’est-à-dire s’il s’agit d’un avantage généralisé ou s’il repose sur quelques transactions chanceuses. Il lit un fichier CSV contenant les données par transaction (Date, Bénéfice) et indique la part du bénéfice net provenant des transactions les plus importantes, le coefficient de Gini des transactions gagnantes, un profil de concentration, un test de survie qui élimine les quelques meilleures transactions et recalcule le bénéfice net et le facteur de profit, ainsi que le plus gros gain journalier par rapport à une limite de régularité configurable, le tout combiné en un score de concentration et de régularité (de A+ à F) accompagné de recommandations. Si aucun fichier n’est trouvé, il génère un ensemble d’échantillons, ce qui permet de l’utiliser immédiatement. Pas de bibliothèques externes, pas de Python, pas d’IA. L’assistant ExportTrades.mq5 génère le fichier à partir de votre historique de transactions.
Script MT5 open source qui enregistre dans le journal et, en option, dans un fichier CSV, les paramètres du symbole XAUUSD/GOLD, le spread, la valeur du tick, la taille du contrat, le pas de volume, les niveaux de stop/gel, le swap et le contexte du compte.
Script de diagnostic qui compare les valeurs SYMBOL_TRADE_TICK_VALUE, SYMBOL_TRADE_TICK_VALUE_LOSS et SYMBOL_TRADE_TICK_VALUE_PROFIT pour chaque symbole figurant dans Market Watch. Il classe chaque symbole dans l'une des quatre catégories suivantes (ALL_EQUAL, TV_MATCHES_PROFIT, TV_MATCHES_LOSS, ALL_DIFFER) et fournit un résumé agrégé ainsi qu'une suggestion d'interprétation. Utile pour déterminer la propriété de valeur de tick à privilégier lors de la mise en œuvre d’un dimensionnement des lots basé sur le risque dans les EA. Exporte un rapport complet par symbole au format CSV dans MQL5/Files.
Script permettant de définir un Stop Loss sur chaque position ouverte en fonction d'un seuil de perte défini dans la devise du compte (par exemple, 50 $ par position). Fonctionne avec n'importe quelle devise de dépôt et n'importe quelle paire de devises. Vérifie les niveaux de stop et de gel définis par le courtier. La conversion des devises est gérée automatiquement.
Les pipelines d’étiquetage à triple barrière utilisent souvent une constante arbitraire (0,5–1,0 %) ou une hypothèse de spread héritée comme seuil min_ret. Un seuil fixé en dessous du coût réel de transaction aller-retour conduit le pipeline à étiqueter du bruit lié aux coûts comme un signal négociable. L’ensemble de données étiqueté surestime alors systématiquement l’« edge », et tout modèle entraîné sur ces étiquettes présente un surajustement à un artefact du schéma d’étiquetage plutôt qu’à la structure réelle du marché. TransactionCostCollector.mq5 est un script autonome qui résout l’étape de collecte des données liée à ce problème.
Utility script that exports your MetaTrader 5 trading history to a CSV file. It automatically calculates Maximum Favorable Excursion (MFE), Maximum Adverse Excursion (MAE), and Forward Returns (Time-Based Excursions) in whole points for deep quantitative analysis in Excel. It will allow you to understand whether you close your trades too early and can help optimize overall trading execution.
The script shows the usage of L1 Trend Filter methods in MQL5 for float and double vectors on random walk simulated data.