Spécifications
Order Title: Automated Trade Copying from Telegram to Tradovate with CFD to Futures Price Conversion
Project Description:
I am looking to develop a program that automatically copies trading signals received on Telegram and executes the corresponding orders on the Tradovate platform. The Telegram messages provide Entry Position (PE), Take Profit (TP), and Stop Loss (SL) levels based on CFD prices, but Tradovate operates with Futures prices. The program will need to include a system to convert CFD prices to Futures prices before executing the orders.
The program should connect to a specific Telegram channel or group to read messages containing trading signals, monitor messages in real-time or at regular intervals to detect new signals, and extract the PE, TP, and SL information from the messages. It must analyze each message to retrieve this information, account for various possible message formats, and verify that the extracted information is complete and valid before placing an order. Non-relevant messages should be ignored, and any parsing errors should be recorded in a log.
An automatic conversion of PE, TP, and SL levels from CFD prices to Futures-compatible prices is required. The program should include the option to adjust the conversion rate to reflect variations between CFD and Futures prices. A verification of the converted prices is necessary before sending the orders to Tradovate.
The program should connect to the Tradovate API using secure API keys to place trading orders and manage these keys securely to ensure continuous and secure access. When a valid message is received and prices are converted, the program must place an order on Tradovate according to the PE, TP, and SL levels, accurately applying the converted Stop Loss and Take Profit levels. A double-check should be implemented to avoid duplicates or execution errors.
The program should monitor open positions on Tradovate to verify that TP and SL levels are respected and adjust orders if the TP or SL levels are modified in new Telegram messages. A log of past orders and results is needed for detailed performance tracking.
For error handling and notifications, the program should handle common issues (e.g., interrupted API connection, failed orders) and alert the user if any issues arise. A notification should be sent for any critical issues or execution errors, and an error log should be maintained for easier troubleshooting.
Sensitive information like API keys must be securely stored to prevent unauthorized access. The program should be optimized to minimize latency between receiving signals and executing orders and should operate stably to ensure continuous execution without interruption.
Notifications should be set up to inform the user of the status of orders (success, failure, modification). A simple interface that allows the user to view current positions, order history, and adjust conversion parameters would be a plus.
For development, I would prefer Python or another language compatible with both Telegram and Tradovate APIs. Libraries such as Telethon or python-telegram-bot to access Telegram messages and Requests for the Tradovate REST API would be helpful. Following the official documentation for Telegram and Tradovate is essential to ensure best practices.