Ephemeris Trade Calendar
- Utilitaires
-
Syarief Azman Bin Rosli
Bonjour et bienvenue sur mon profil officiel MQL5 !
Je suis Syarief Azman Bin Rosli, développeur de systèmes de trading algorithmique et ingénieur quantitatif avec plus de dix ans d'expérience spécialisée dans la création de solutions de trading automatisées pour MetaTrader 5 et MetaTrader 4. - Version: 1.0
- Activations: 5
Ephemeris Trade Calendar - l'historique du compte en calendrier mensuel des gains (MT4)
Ephemeris Trade Calendar transforme l'historique MetaTrader 4 en calendrier mensuel des gains sur le graphique. Chaque trade clôturé tombe sur son jour : les cellules sont colorées selon le résultat, affichent gagnants et perdants et s'additionnent en totaux hebdomadaires. Un volet inférieur alterne entre statistiques, carte d'avantage (P/L par jour et heure d'entrée plus courbe des trades clôturés) et journal du jour, et une jauge TODAY suit votre objectif quotidien et votre limite de perte. Sur les graphiques réels et démo, il lit seulement l'historique : il n'ouvre, ne modifie et ne clôture jamais un trade.
Démarrage rapide
- Attachez-le à n'importe quel graphique (tout symbole, toute unité de temps). Algo Trading n'est pas nécessaire.
- Dans la fenêtre Terminal, ouvrez l'onglet Historique du compte, clic droit et choisissez All History. MT4 ne donne aux programmes que l'historique chargé dans cet onglet ; une période plus courte laisse les anciens mois vides et rend les pourcentages approximatifs.
- Option : réglez Symbol Filter et Magic Filter pour suivre un symbole ou un EA, et Daily Target / Daily Loss Limit pour la jauge TODAY.
- Vérification : le badge affiche TRACKING n TRADES et le mois se remplit. Cliquez sur un jour pour ouvrir son journal.
Le panneau
En-tête
- LED : violet normal, vert objectif atteint, rouge limite de perte atteinte, ambre à moins de 80% de la limite, gris aucun trade clôturé.
- `<>` déplace le panneau vers le coin suivant. `[-]` le réduit en pastille EPHEMERIS avec le P/L du jour (clôturé + latent) ; `[+]` le déploie.
- Sous-ligne : #compte, devise et filtres : ALL SYM, le symbole du graphique ou LIST(n) ; ALL MAGIC, MANUAL ou MAGIC(n) ; NET (swap et commission inclus) ou GROSS.
- Badge : TRACKING n TRADES, NO CLOSED TRADES, CHECK FILTER LIST (filtre par liste avec liste vide), TARGET REACHED, LOSS LIMIT HIT, NEAR LOSS LIMIT. Quelques secondes après une action : EXPORTED n TRADES, m DAYS, EXPORT FAILED (code d'erreur), HISTORY RELOADED, AUTOSCROLL OFF, DAY NOT ON CHART.
Navigation des mois
`<<` mois précédent, `>>` mois suivant (jusqu'au mois en cours), TODAY revient au mois en cours et sélectionne aujourd'hui. Sur le mois en cours, le calendrier suit la date à minuit.
Calendrier
- Colonnes MO à SU (ou SU à SA) plus WEEK.
- Cellule du jour : numéro, valeur dans l'unité courante et gagnants/perdants comme 2W 1L (un trade à net nul ne compte nulle part). Vert = gain net, rouge = perte nette, teinte plus forte = résultat plus grand par rapport au plus gros jour du mois ; gris = traité, net nul ; sombre = aucun trade ; chiffres pâles = mois voisins.
- Bordure cyan = aujourd'hui, bordure ambre = jour sélectionné.
- WEEK : total de la ligne dans l'unité courante et nombre de trades (n tr) ; en mode pourcentage, la somme des pourcentages quotidiens.
- Cliquez sur une cellule pour sélectionner le jour et ouvrir le journal DAY ; un jour pâle d'un mois voisin bascule vers ce mois.
Bandeau du mois
NET (argent), RETURN (net du mois / solde au début du mois), GREEN DAYS (jours gagnants / jours tradés), TRADES, WIN RATE.
Onglets et bascules
- STATS, EDGE et DAY changent le volet inférieur.
- UNIT: MONEY, UNIT: % et UNIT: PTS font défiler les valeurs du calendrier : devise du compte ; pourcentage du solde au début de ce jour ; points (distance de prix / point du symbole, additionnés entre symboles).
- SCOPE: MONTH ou SCOPE: ALL applique STATS et EDGE au mois affiché ou à tout l'historique chargé.
Volet STATS (argent)
Net P/L, Return (net / solde au début de la période), Trades, Win rate, Profit factor (gain brut / perte brute ; -- sans trade perdant), Expectancy (net par trade), Avg win, Avg loss, Payoff ratio (gain moyen / perte moyenne), Largest win, Largest loss, Max drawdown (plus forte baisse du P/L cumulé des trades clôturés depuis un sommet, en argent et en % du solde à ce sommet), Win streak, Loss streak, Best day et Worst day (avec date), Green days (gagnants / tradés, %), Swap + comm. Pied : SCOPE, LOTS et HISTORY FROM (plus ancien enregistrement chargé).
Volet EDGE (argent)
- ENTRY WEEKDAY : une barre par jour de semaine avec le P/L des trades ouverts ce jour-là (vert vers le haut, rouge vers le bas, gris plat = aucun). ENTRY HOUR : 24 barres pour les heures d'entrée 0-23. Les deux suivent Day Shift ; les lectures nomment le meilleur et le pire jour et heure.
- EQUITY CURVE : P/L cumulé des trades clôturés de la période par ordre de clôture (jusqu'à 82 colonnes), turquoise au-dessus de zéro, rouge en dessous, avec les valeurs end et low.
Volet DAY (journal)
En-tête : jour, date, nombre de trades, net, W/L. Colonnes TICKET, SYMBOL, SIDE, LOTS, OPEN >CLOSE (heure décalée ; * = ouvert ou clôturé un autre jour), NET. Sept lignes par page ; `<` et `>` changent de page. GO TO DAY fait défiler le graphique jusqu'à ce jour et coupe le défilement automatique (touche End pour revenir). Un jour vide affiche "No closed trades on this day."
Module TODAY
closed (net clôturé du jour), open (P/L latent des positions ouvertes qui passent les filtres), total. La jauge va de LIMIT (gauche) à TARGET (droite) avec une marque de zéro ; le remplissage est la valeur d'objectif (clôturé + latent, ou clôturé seul). Avec les deux à 0, elle affiche "no target or limit set".
Boutons d'action
- PLOT: ON / PLOT: OFF dessine les trades du mois affiché sur le symbole du graphique : flèche d'ouverture (bleu buy, orange sell), marque de clôture et ligne pointillée couleur gain ou perte, étiquette du net ; survolez pour voir le ticket. Les 400 plus récents sont dessinés ; la ligne d'état affiche alors PLOT n/m.
- EXPORT CSV écrit les fichiers ci-dessous. REFRESH relit l'historique immédiatement. SYNC hh:mm:ss = dernière mise à jour.
Comportement automatique
- L'historique est vérifié toutes les History Check Interval secondes et à chaque tick ; le recalcul n'a lieu que si le nombre d'enregistrements, le compte ou le jour change.
- Seuls les trades buy et sell comptent. Les ordres en attente supprimés et les écritures de solde et de crédit sont ignorés (les opérations de solde servent aux pourcentages, jamais au P/L). Une clôture partielle apparaît comme des trades séparés car MT4 enregistre chaque partie clôturée sous son propre ticket.
- Les jours suivent Assign Trades to Days by et Day Shift from Server Time ; le module TODAY applique la même règle. Les pourcentages utilisent le solde reconstruit à rebours depuis le solde actuel.
- Les alertes d'objectif et de limite se déclenchent une fois par jour chacune (de nouveau après un nouvel attachement). Elles informent seulement : rien n'est clôturé.
- Mois, volet, unité, période, tracé, coin et état réduit sont conservés lors d'un changement d'unité de temps ou de symbole et réinitialisés au rattachement ou en cas de modification des entrées.
- Testeur de stratégie : sur un graphique l'utilitaire ne trade jamais. Dans le testeur, où tourne la démo du Market, Sample Trades in the Strategy Tester ouvre un trade d'exemple de 0.10 lot (ou le minimum du courtier) à 08, 11, 14 et 17 h serveur (sens selon la SMA 20 en H1, stop loss 1.2 ATR, take profit 1.6 ATR, marge vérifiée) et le clôture à 21 h, magic 20261105, pour que le calendrier ait un historique à montrer. Les boutons fonctionnent dans le testeur visuel ; les cellules de jour n'y sont pas cliquables.
Alertes
"daily target reached" quand la valeur d'objectif atteint l'objectif ; "daily loss limit reached" quand elle descend à moins la limite. Popup Alert on Target or Limit affiche une fenêtre ; Push Notification on Target or Limit envoie un push (renseignez votre MetaQuotes ID dans Outils > Options > Notifications).
Fichiers et variables globales
- EXPORT CSV écrit MQL4\Files\Ephemeris\<account>_trades.csv (ticket, symbol, type, lots, heure et prix d'ouverture/clôture, profit, swap, commission, net, points, magic, day) et <account>_days.csv (day, trades, wins, losses, net, gross profit, gross loss, lots, points, pct_of_balance). Chaque export les écrase (Fichier > Ouvrir le dossier des données).
- Avec Publish Global Variables : EPH_<account>_TODAY_NET (net clôturé du jour), EPH_<account>_TODAY_TOTAL (clôturé + latent), EPH_<account>_GOAL_STATE (1 objectif atteint, -1 limite atteinte, 0 aucun). Mises à jour chaque seconde, supprimées au retrait de l'utilitaire.
string a = IntegerToString(AccountNumber());
double goal = GlobalVariableGet("EPH_" + a + "_GOAL_STATE");
if(goal < 0) return; // limite de perte atteinte aujourd'hui : pas de nouvelle entrée - Les objets du graphique utilisent les préfixes EPH_C_ (panneau) et EPH_T_ (trades dessinés) ; tous sont supprimés à la sortie. Aucune DLL.
Entrées
- Symbol Filter (All symbols) : All symbols / Chart symbol only / Symbol list.
- Symbol List : séparée par des virgules, sans tenir compte de la casse ; chaque entrée couvre tout symbole qui commence par elle (EURUSD couvre EURUSDm).
- Magic Filter (All trades) : All trades / Manual trades only (magic 0) / Magic number list.
- Magic Number List : nombres séparés par des virgules.
- Include Swap and Commission (true) : false = gain brut seul (GROSS).
- Assign Trades to Days by (Close time) : Close time / Open time.
- Day Shift from Server Time (0, de -12 à 12 heures) : décale les limites des jours, les heures d'entrée et les heures du journal.
- Week Starts on (Monday) : Monday / Sunday.
- Cell Value at Start (Money) : Money / Percent of balance / Points.
- Stats Scope at Start (Viewed month) : Viewed month / All loaded history.
- Lower Deck at Start (Stats) : Stats / Edge map / Day ledger.
- Daily Target (0 = off), Daily Loss Limit (0 = off) : valeurs positives.
- Target and Limit Unit (Money) : Money / Percent of day-start balance.
- Include Floating P/L in the Daily Goal (true).
- Popup Alert on Target or Limit (true), Push Notification on Target or Limit (false).
- Publish Global Variables (false). Plot Trades on Chart at Start (true).
- Profit Color, Loss Color : cellules, étiquettes et tracés.
- Panel Corner (Top left) : Top left / Top right / Bottom right / Bottom left. Panel X Offset (12), Panel Y Offset (24) : pixels depuis ce coin.
- Panel Scale (1.0, 0.6-2.0). Start Collapsed (false).
- History Check Interval (2, 1-60 secondes).
- Sample Trades in the Strategy Tester (true) : testeur seulement, voir plus haut.
Réglages types
- Journal du compte entier : valeurs par défaut, Historique du compte sur All History.
- Un EA : Magic Filter = Magic number list, Magic Number List = son magic, PLOT: ON sur son graphique.
- Protection quotidienne : Daily Target 1.0, Daily Loss Limit 2.0, Target and Limit Unit = Percent of day-start balance, Push Notification on Target or Limit et Publish Global Variables = true pour que vos EA lisent GOAL_STATE.
- Jours en heure locale : Day Shift from Server Time = votre décalage UTC moins celui du serveur (serveur UTC+2, vous UTC+8 : 6).
Remarques
- Seul l'historique chargé dans Historique du compte est visible. Les points s'additionnent entre symboles de tailles de point différentes. STATS et EDGE sont toujours en argent.
- Les statistiques décrivent uniquement des résultats passés ; elles ne prédisent pas l'avenir, et le trading comporte un risque de perte.
