Telegram → MT5
Telegram → MetaTrader 5 is a standalone Python service that reads one Telegram chat with a user MTProto session (Telethon) and copies fixed-lot market trade signals into a locally running MetaTrader 5 terminal.
It is built for a Windows VPS or laptop where MetaTrader 5 is installed and open.
The service defaults to dry-run: parsed signals are logged but no orders are sent unless
LIVE_TRADING_ENABLED=true. Treat the Telegram session file or TELEGRAM_SESSION_STRING like a
password.
What it does
- Polls a configured Telegram chat via a user session
- Parses straightforward fixed-lot market signals (
BUY/SELL, SL, TPs) - Maps symbols via
SYMBOL_MAP_JSONand executes (or dry-runs) against local MT5 - Exposes simple health/status HTTP endpoints
- Persists cursor, handled keys, and JSONL logs under
STATE_DIR/LOGS_DIR
Explore the docs
Windows PowerShell venv, login, verify chat, and run.
Getting StartedPackage modules — Telegram client, parser, MT5 executor, state, and health.
ArchitectureSupported message shapes, symbols, and multi-TP handling.
Signal FormatCursor priming, deduplication, and live-order gates.
SafetyRuntime files under STATE_DIR and LOGS_DIR.
Environment variables from .env.example.
Run the pytest suite.
Tests