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.
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) | Login | Serveur broker | Plateforme | Terminal sur le VPS |
|---|---|---|---|---|
| COMPTE 10K 1 etape (manuel) | 531191497 | FTMO-Server3 | MT5 | C:\MT5_MANUEL_10K_1step_531191497\ |
| 10K HERMES EA | 540215823 | FTMO-Server4 | MT5 | C:\MT5_Hermes\ |
| DEDALE 10K EA (Audacity) | 147977 | AudaCityGlobal-Live | MT5 | C:\MT5_Dedale\ |
| JUL EA (démo) | 1514095974 | FTMO-Demo | MT5 | C:\MT5_JUL\ |
| FTMO 50K mt4 (manuel) | 430073166 | FTMO-Server3 | MT4 | C:\Program Files (x86)\MetaTrader 4\ |
- Les MT5 tournent en mode portable (
terminal64.exe /portable). Jamais 2 instances du même dossier (conflit IPC). - Sur Hermes, Dédale et JUL, l'EA exporteur est posé sur un graphique séparé de l'EA de trading — aucune interférence.
- Comptes manuels connectés avec le mot de passe investisseur (lecture seule). Aucun mot de passe stocké dans un fichier.
Terminal JUL — suivi de l'EA JUL_Trend
- EA de trading
JUL_Trend(v36.00) sur XAUUSD H4 ; exporteur du journal sur un graphique EURUSD H1 (EURUSD doit rester dans le Market Watch : c'est le filtre dollar de l'EA). - Dépôt de l'EA : clone git dans
C:\JUL\(github.com/tradingluca31-boop/JUL). Mise à jour :C:\JUL\maj-terminal.ps1(pull + copie + compilation). - Seul
JUL_Trend.mq5est installé dans le terminal. L'ancienJUL.mq5(v2.00) reste dansC:\JUL\legacy\: s'il arrive dansMQL5\Experts, MT5 le compile tout seul et il devient attachable par erreur. - Compte démo connecté avec le mot de passe maître (l'EA doit pouvoir trader) → ne jamais y passer d'ordre à la main.
Endpoints des EA
| Terminal | Input Endpoint de l'EA | URL à autoriser (Outils → Options → Expert Advisors → WebRequest) |
|---|---|---|
| Les 4 MT5 | http://127.0.0.1:8787/sync.php | http://127.0.0.1:8787 |
| MT4 | https://38-48-123-242.sslip.io/sync.php | https://38-48-123-242.sslip.io |
server.js accepte POST comme PUT.3. Côté serveur (VPS)
| Composant | Rôle | Emplacement |
|---|---|---|
server.js (Node, port 8787) | Sert le site + endpoint sync.php + fusion track record | C:\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ées | 1 fichier JSON par clé + historique de versions (50) + backup 03:00 (30 j) | C:\Journal-Trading\sync-server\data\ |
Clés de données
1b1f63882911441ba8034937c9895331920180.json→ le journal manuel (ne pas toucher)trk-acc-<login>.json→ le push brut de chaque comptetrack-record-1b1f6388.json→ la fusion lue par la page (régénérée à chaque push, ne pas éditer)
Tâches planifiées Windows
| Tâche | Déclencheur | Rôle |
|---|---|---|
JournalTrading | Au démarrage | Lance node server.js |
JournalTradingHTTPS | Au démarrage | Lance Caddy (HTTPS) |
JournalTradingBackup | 03:00 | Backup quotidien des données |
JournalTradingBackupGit | Planifié | Backup GitHub des données du journal |
TradingTerminaux | À l'ouverture de session | Relance les 5 terminaux via start-terminals.ps1 (idempotent — ne lance que ce qui ne tourne pas) |
4. Après un reboot du VPS — checklist
- Se connecter une fois en RDP (session
trader) → la tâcheTradingTerminauxrelance les 5 terminaux automatiquement (log :C:\Journal-Trading\start-terminals.log). Le serveur et Caddy démarrent seuls, sans session. - Attendre ~1 minute que les terminaux se reconnectent aux brokers.
- Ouvrir track-record.html → badge « Live · il y a Xs » + les 5 comptes dans le filtre.
- 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ôme | Cause probable | Solution |
|---|---|---|
| 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 manque | Terminal 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 WebRequest | Outils → Options → Expert Advisors → autoriser WebRequest + ajouter l'URL (tableau §2) |
MT4 : ENVOI KO (err 5200) | MT4 n'accepte que les ports 80/443 | Endpoint = https://38-48-123-242.sslip.io/sync.php |
| Fraîcheur > 1 min | Terminal déconnecté du broker | Vérifier la connexion (barres en bas à droite du terminal) |
| MT4 : anciens trades absents | Historique tronqué à 3 mois | Onglet Historique du compte → clic droit → « Tout l'historique » |
| EA MT5 plante / erreur IPC | 2 instances du même dossier portable | Fermer les doublons — une seule instance par dossier |
| Étiquette « Manuel » sur un compte EA | Input AccType par défaut | Double-clic sur l'EA sur le graphique → AccType = EA |
6. Ajouter / retirer un compte
Nouveau compte MT5
- Terminal dédié : copier
C:\MT5_ParisversC:\MT5_<NOM>en excluantBases, Tester, logs, temp, Profiles, MQL5etconfig\accounts.dat(pour ne pas hériter des graphiques/EA/login d'un autre terminal). - Copier
collector\mt5\JournalExporter.mq5 + .ex5dans<terminal>\MQL5\Experts\. - Lancer
terminal64.exe /portable, se connecter (mot de passe investisseur si compte sans EA). - Outils → Options → Expert Advisors → WebRequest +
http://127.0.0.1:8787. - Glisser JournalExporter sur un graphique libre :
AccName,AccType,InitialBalance, règles. Algo trading autorisé →HTTP 200s'affiche. - 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é
- EA lecture seule — aucun code d'envoi d'ordre.
- Comptes manuels en mot de passe investisseur ; aucun mot de passe stocké sur disque ou dans le repo.
- La clé
track-record-1b1f6388(dans le HTML) isole les données mais n'est pas un secret fort. Pour la changer :DEFAULT_TRACK_KEYdanstrack-record.html+TRACK_MERGED_KEYdansserver.js.