Journal de trading — documentation

Track Record : comment ça fonctionne


Dernière mise à jour : 26 juillet 2026 · Ce document existe aussi sur GitHub : DOCUMENTATION-TRACK-RECORD.md (repo Journal-trading-2-).

1. Vue d'ensemble

Le site a deux parties : le journal manuel (index.html — notes quotidiennes, sessions, setups) et le Track Record (track-record.html — tous les trades réels MT4/MT5 importés automatiquement + positions ouvertes en direct).

Principe : chaque terminal de trading pousse lui-même ses données vers le site. Un petit EA lecture seule (il ne passe jamais d'ordre) tourne sur un graphique de chaque terminal et envoie un JSON toutes les 20 secondes :

Terminal MT5 Hermes   ──PUT──►  sync.php?key=trk-acc-540215823  ─┐
Terminal MT5 Dédale   ──PUT──►  sync.php?key=trk-acc-147977     ─┤  server.js FUSIONNE tout
Terminal MT5 Manuel   ──PUT──►  sync.php?key=trk-acc-531191497  ─┼─►  track-record-1b1f6388.json
Terminal MT5 JUL      ──PUT──►  sync.php?key=trk-acc-1514095974 ─┤        │
Terminal MT4 50K      ──POST─►  sync.php?key=trk-acc-430073166  ─┘        │
                                                                          ▼
                     Navigateur ──── GET toutes les 20 s ────►  track-record.html (badge « Live »)

Pas de base de données, pas de collecteur central : si un terminal est ouvert, son compte est à jour sur le site.

⚠️ Ancienne approche abandonnée. Le collecteur Python (collector/collector.py) ne doit jamais être utilisé : la librairie Python MetaTrader5 s'attache au mauvais terminal quand plusieurs tournent, et a déjà dédoublé la connexion d'un compte live.

2. Les 5 comptes et leurs terminaux

Compte (nom sur le site)LoginServeur brokerPlateformeTerminal sur le VPS
COMPTE 10K 1 etape (manuel)531191497FTMO-Server3MT5C:\MT5_MANUEL_10K_1step_531191497\
10K HERMES EA540215823FTMO-Server4MT5C:\MT5_Hermes\
DEDALE 10K EA (Audacity)147977AudaCityGlobal-LiveMT5C:\MT5_Dedale\
JUL EA (démo)1514095974FTMO-DemoMT5C:\MT5_JUL\
FTMO 50K mt4 (manuel)430073166FTMO-Server3MT4C:\Program Files (x86)\MetaTrader 4\

Terminal JUL — suivi de l'EA JUL_Trend

Endpoints des EA

TerminalInput Endpoint de l'EAURL à autoriser (Outils → Options → Expert Advisors → WebRequest)
Les 4 MT5http://127.0.0.1:8787/sync.phphttp://127.0.0.1:8787
MT4https://38-48-123-242.sslip.io/sync.phphttps://38-48-123-242.sslip.io
Pourquoi le MT4 est différent : le WebRequest de MT4 n'accepte que les ports 80 et 443 (erreur 5200 sinon) et ne connaît pas la méthode PUT. Il envoie donc en POST vers l'adresse publique HTTPS, que Caddy renvoie vers le serveur local. server.js accepte POST comme PUT.

3. Côté serveur (VPS)

ComposantRôleEmplacement
server.js (Node, port 8787)Sert le site + endpoint sync.php + fusion track recordC:\Journal-Trading\server.js
Caddy (80/443)HTTPS public 38-48-123-242.sslip.io → proxy 127.0.0.1:8787 (certificat auto)C:\Journal-Trading\Caddyfile
Données1 fichier JSON par clé + historique de versions (50) + backup 03:00 (30 j)C:\Journal-Trading\sync-server\data\

Clés de données

Tâches planifiées Windows

TâcheDéclencheurRôle
JournalTradingAu démarrageLance node server.js
JournalTradingHTTPSAu démarrageLance Caddy (HTTPS)
JournalTradingBackup03:00Backup quotidien des données
JournalTradingBackupGitPlanifiéBackup GitHub des données du journal
TradingTerminauxÀ l'ouverture de sessionRelance les 5 terminaux via start-terminals.ps1 (idempotent — ne lance que ce qui ne tourne pas)

4. Après un reboot du VPS — checklist

  1. Se connecter une fois en RDP (session trader) → la tâche TradingTerminaux relance les 5 terminaux automatiquement (log : C:\Journal-Trading\start-terminals.log). Le serveur et Caddy démarrent seuls, sans session.
  2. Attendre ~1 minute que les terminaux se reconnectent aux brokers.
  3. Ouvrir track-record.html → badge « Live · il y a Xs » + les 5 comptes dans le filtre.
  4. Un compte manque ? → voir Dépannage.
# Vérification côté serveur :
curl http://127.0.0.1:8787/sync.php?key=track-record-1b1f6388
# → "accounts" doit lister les 5 comptes, generatedAt récent (epoch ms)

5. Dépannage

SymptômeCause probableSolution
Badge « Démo »Aucun push reçu (terminaux fermés ou serveur down)Vérifier les terminaux + la tâche JournalTrading ; relancer TradingTerminaux
Un compte manqueTerminal fermé ou EA arrêtéOuvrir le terminal ; smiley 🙂 sur l'EA + bouton Algo/Auto Trading vert
ENVOI KO (err 4014/4060)URL absente de la whitelist WebRequestOutils → Options → Expert Advisors → autoriser WebRequest + ajouter l'URL (tableau §2)
MT4 : ENVOI KO (err 5200)MT4 n'accepte que les ports 80/443Endpoint = https://38-48-123-242.sslip.io/sync.php
Fraîcheur > 1 minTerminal déconnecté du brokerVérifier la connexion (barres en bas à droite du terminal)
MT4 : anciens trades absentsHistorique tronqué à 3 moisOnglet Historique du compte → clic droit → « Tout l'historique »
EA MT5 plante / erreur IPC2 instances du même dossier portableFermer les doublons — une seule instance par dossier
Étiquette « Manuel » sur un compte EAInput AccType par défautDouble-clic sur l'EA sur le graphique → AccType = EA

6. Ajouter / retirer un compte

Nouveau compte MT5

  1. Terminal dédié : copier C:\MT5_Paris vers C:\MT5_<NOM> en excluant Bases, Tester, logs, temp, Profiles, MQL5 et config\accounts.dat (pour ne pas hériter des graphiques/EA/login d'un autre terminal).
  2. Copier collector\mt5\JournalExporter.mq5 + .ex5 dans <terminal>\MQL5\Experts\.
  3. Lancer terminal64.exe /portable, se connecter (mot de passe investisseur si compte sans EA).
  4. Outils → Options → Expert Advisors → WebRequest + http://127.0.0.1:8787.
  5. Glisser JournalExporter sur un graphique libre : AccName, AccType, InitialBalance, règles. Algo trading autorisé → HTTP 200 s'affiche.
  6. Ajouter le terminal dans start-terminals.ps1 (liste $terminals).

Nouveau compte MT4

Identique avec collector\mt4\JournalExporterPush.mq4 dans MQL4\Experts\, whitelist + Endpoint = URL publique HTTPS, et Historique du compte → « Tout l'historique ».

Retirer un compte

Fermer son terminal (ou retirer l'EA) et supprimer sync-server\data\trk-acc-<login>.json — sinon ses dernières données restent dans la fusion.

Rien à configurer côté serveur dans les deux sens : toute clé trk-acc-* présente est fusionnée automatiquement.

7. Sécurité