Техническое задание
Titre de la commande : Automatisation de copie de trades depuis Telegram vers Tradovate avec conversion des prix CFD en Futures
Description du projet :
Je souhaite développer un programme qui copie automatiquement les signaux de trading reçus sur Telegram et exécute les ordres correspondants sur la plateforme Tradovate. Les messages Telegram fournissent des niveaux de Position d’Entrée (PE), Take Profit (TP) et Stop Loss (SL) basés sur les prix CFD, mais Tradovate utilise les prix Futures. Le programme devra inclure un système de conversion des prix CFD en prix Futures avant d’exécuter les ordres.
Le programme doit se connecter à un canal ou groupe Telegram spécifique pour lire les messages contenant des signaux de trading, surveiller les messages en temps réel ou à intervalles réguliers pour détecter les nouveaux signaux, et extraire les informations PE, TP, et SL des messages. Il doit analyser chaque message pour extraire ces informations, en tenant compte des différents formats possibles, et vérifier que les informations extraites sont complètes et valides avant de passer un ordre. Les messages non pertinents doivent être ignorés et les erreurs d’analyse enregistrées dans un journal.
Une conversion automatique des niveaux PE, TP, et SL basés sur les prix CFD en prix Futures compatibles avec Tradovate est nécessaire. Le programme doit inclure la possibilité d’ajuster le taux de conversion pour refléter les variations entre les prix CFD et les prix Futures. Une vérification des prix convertis est requise avant l’envoi des ordres à Tradovate.
Le programme doit se connecter à l’API de Tradovate avec des clés d’API sécurisées pour passer des ordres de trading. Il doit gérer les clés d’API de manière sécurisée pour garantir un accès continu et sécurisé. Lorsqu’un message valide est reçu et les prix convertis, le programme doit passer un ordre sur Tradovate en fonction des niveaux PE, TP, et SL, en appliquant avec précision les niveaux de Stop Loss et Take Profit convertis. Une double vérification des ordres doit être mise en place pour éviter les duplications ou erreurs d’exécution.
Le programme doit surveiller les positions ouvertes sur Tradovate pour vérifier que les niveaux TP et SL sont respectés et ajuster les ordres en cas de modification des niveaux TP ou SL dans de nouveaux messages Telegram. Un journal des ordres passés et des résultats est requis pour un suivi détaillé des performances.
Pour la gestion des erreurs et notifications, le programme doit gérer les erreurs courantes (par exemple, connexion interrompue à l’API, ordres échoués) et alerter l’utilisateur en cas de problème. Une notification doit être envoyée en cas de problème critique ou d’erreur d’exécution, et un journal des erreurs doit être tenu pour faciliter la résolution de problèmes.
Les informations sensibles comme les clés API doivent être stockées de manière sécurisée pour éviter tout accès non autorisé. Le programme doit être optimisé pour minimiser la latence entre la réception des signaux et l’exécution des ordres, et fonctionner de manière stable pour assurer une exécution continue sans interruption.
Des notifications doivent être mises en place pour informer l’utilisateur de l’état des ordres (succès, échec, modification). Une interface simple permettant de visualiser les positions actuelles, l’historique des ordres, et de modifier les paramètres de conversion serait un plus.
Pour le développement, j’aimerais utiliser Python ou tout autre langage compatible avec les API Telegram et Tradovate. Des bibliothèques telles que Telethon ou python-telegram-bot pour accéder aux messages Telegram et Requests pour l’API REST de Tradovate seraient utiles. Suivre la documentation officielle de Telegram et Tradovate est essentiel pour garantir les meilleures pratiques.