| Time | Panel | Dir | PL | ||
|---|---|---|---|---|---|
| No trades today | |||||
"swing_enabled": true in config.json and restart.Real-time market prices via IB Gateway. Requires pip install ib_insync
Auto-subscribed on connect for live ticker
Cost per contract per direction. Round trip = 2x per contract.
Monitors incoming IB trade confirmation emails for coherence verification
Record market data to CSV files (1 line/second). Creates a new file each day.
Auto mode ignores the manual HH:MM fields. Changes apply after a monitor restart (Apply/Reset).
Chaque mise à jour reçue d'IB, avec les millièmes de seconde, dans un fichier séparé au format minimal, compressé après la séance. Le fichier seconde par seconde ci-dessus n'est pas touché. Fenêtre : celle de l'enregistreur, prolongée jusqu'à la clôture + 6 min (instant de l'archive du soir).
Le fichier texte que le robot écrit à la fin de chaque journée (une ligne par jour : min, min→max, max, clôture). Alimente la source « Robot » de History et Stats, rétroactivement sur toutes les années du fichier.
Registre des exécutions du compte IB lu par sondage sur la session déjà connectée (client 200, lecture seule — rien ne change pour le C#). Filtre : futures + symbole ; le mois du contrat et le multiplicateur viennent du fill. Affichage dans l'onglet « Robot 2 ».
Ton robot C# écrit une ligne dans MinMaxMtm<panel>.txt à la clôture de chaque trade. Le moniteur la lit en lecture seule pour ranger chaque exécution IB dans sa stratégie ; prix, heures et commissions restent ceux d'IB. Panels : impair = short, pair = long ; 1-2 = S1, 3-4 = S2. Avant la date de départ, tout compte dans S1.
Les complications ne se rafraîchissent que pendant la plage ; en dehors (nuit, week-end), la montre ne fait aucune lecture et garde la dernière valeur. La plage se règle à l'heure du Trade Monitor pour l'écart normal de 7 h avec New York ; la montre la suit elle-même à l'heure de New York, sans rien demander au serveur : juste en voyage, et décalée toute seule d'une heure pendant les semaines à 6 h. Cadence calée sur l'horloge (1 min = seconde 00 ; 30 s = 00 et 30 ; 15 s = 00, 15, 30, 45). La montre reçoit ce réglage à sa prochaine lecture (ouvrir l'appli suffit).
Pendant la plage seulement, avec la cadence 5 min ou 1 min. Quand l'écran s'allume par le déclencheur coché, les complications se mettent à jour chaque seconde tant qu'il reste actif, + 5 s après son extinction. L'écran toujours allumé ne déclenche jamais rien. « Geste » décoché : le capteur n'est même pas écouté (sport). Tape désactivée dans la montre : seule la couronne reste (douche). Les deux décochés : seulement la cadence. Témoin dans le titre : un point qui clignote = données qui arrivent ; « … » = en attente de connexion.
Le moniteur passe tout seul au contrat suivant à la réouverture des futures, 3 séances avant l'expiration (mardi 01:00 pour une expiration le vendredi, lundi 01:00 si elle tombe un jeudi ; minuit pendant les semaines à 6 h), hors séance, jamais avec une position ouverte. La banderole de rappel pour ton robot apparaît la veille (le jeudi si la bascule tombe un lundi) et reste jusqu'à tes réponses.
L'enregistreur (fichier seconde par seconde et tick par tick) tourne à part : le Shutdown du tableau de bord ne l'arrête plus. Au redémarrage, les deux moteurs théoriques relisent toute la journée depuis ses fichiers et repartent comme si rien n'avait été éteint. Arrête-le seulement pour mettre à jour l'enregistreur lui-même (de préférence hors séance).
Relit la journée dans les fichiers Trade du C# et la compare à ce que croit le moniteur : panneaux ouverts ou au repos, entrées, trades fermés. Rien n'est changé avant ta confirmation ; ensuite : aucun e-mail, aucun autre jour touché, aucun trade effacé (un trade en trop est seulement signalé).
Clear daily state and restart. Trade history in database is preserved.
Réplique certifiée du moteur backtest — étoiles par panneau, trades théoriques, journal de cohérence. Sans effet sur le suivi réel.
Les deux moteurs (seconde par seconde et tick par tick) tournent toujours.Arrête tout le Trade Monitor sauf l'enregistreur, qui continue d'écrire. Relancer : START_ALL.bat. Arrêter aussi l'enregistreur : bouton « Arrêter l'enregistreur » ci-dessus, ou STOP_ENREGISTREUR.bat.