Dans un client Java, l'erreur 507 ou un message de fin de flux peut indiquer que la connexion socket s'est interrompue. Vérifiez si TWS s'est fermé, a redémarré ou a rejeté un client concurrent. Rétablissez l'état avant de réessayer des actions de trading.
Conseils éducatifs sur le logiciel. Le trading comporte des risques. Lire les avertissements financiers et d'information.
Pas à pas
- 1 Enregistrez d'abord le message complet de l'application. Pour consulter un journal d'API TWS enregistré, ouvrez Help → Troubleshooting → Diagnostics → API Logs. Sélectionnez sa date et choisissez View Logs. Si la liste est vide, activez la journalisation de l'API avant le prochain événement.
- 2 Comparez l'heure de l'erreur de socket avec les redémarrages et arrêts de TWS.
- 3 Ouvrez Help → Data Connections et vérifiez dans la liste API Connections si un autre client utilise le même ID. Comparez avec le journal de l'application ; une liste vide n'explique pas une déconnexion antérieure.
- 4 Si nécessaire, remettez TWS dans un état de connexion complète.
- 5 Reconnectez une fois l'application voulue et attendez l'initialisation du compte.
- 6 Comparez les ordres actifs, les exécutions et les positions avant d'autoriser de nouveaux signaux.
Un exemple pratique
Supposons que TWS redémarre pendant qu'une application Java lit encore son socket. L'application peut voir la fin du flux et signaler 507. Cela ne vous dit pas si la dernière demande de trade a atteint le courtier avant l'interruption. Rétablissez le lien, puis comparez les ordres et les exécutions avec la dernière alerte. Réparer le lien et décider de renvoyer ou non sont deux tâches distinctes.
Référence d'écran




Erreur à éviter
Questions fréquentes
Est-ce identique dans tous les langages de programmation ?
Le code ou l'exception signalé peut différer selon les implémentations de l'API.
Puis-je simplement renvoyer le dernier trade ?
Confirmez d'abord si ce trade a été accepté avant la déconnexion.