Telegram Trading Reporter MT5
- Utilità
- Versione: 2.20
- Aggiornato: 8 agosto 2026
- Attivazioni: 10
Telegram Trading Reporter — Automated Performance Reports & Chart Delivery for MetaTrader 5
A pure analysis and reporting Expert Advisor that turns your MetaTrader 5 account history into structured performance reports and delivers them to Telegram automatically, together with visual charts rendered by the terminal itself.
OVERVIEW
The Telegram Trading Reporter is a pure analysis and reporting Expert Advisor for MetaTrader 5. It does not open, close or modify any positions. It analyses your account's trading history, generates structured performance reports and delivers them automatically via Telegram to one or multiple channels. The trade history analysis is performed in read-only mode through the MetaTrader API.
Visual charts are created directly in the MetaTrader terminal and attached to the report as image files, so the numbers and the picture arrive together instead of in separate places.
The EA is designed for continuous 24/7 operation on a VPS and requires no manual intervention after the initial setup. Enter the bot token and the chat ID once, choose the hours at which reports should go out, and the reporting runs on its own from that point on.
FEATURES
Telegram topics support
Reports are sent directly to specific topics, meaning threads, inside Telegram supergroups. This keeps different trading accounts or strategies organised in separate threads instead of one mixed feed. The destination format is chat_id:thread_id, for example -1001234567890:12345. Topic routing works with all message types, covering text, photos and documents, and with every report section. It is fully backward compatible, so old chat IDs without a thread ID continue to work unchanged. Topics support was added in version 2.0.
Automated daily reports at configurable times
Up to three daily reports are sent at freely selectable hours. Each report covers a configurable period from one to thirty days and includes profits, losses, win rate, profit factor and the total volume traded.
Day-by-day performance breakdown
For every day in the reporting period the report lists profit and loss, the number of trades, the win rate and the volume individually. Days without any trades can optionally be hidden from the report. Each day is marked as a profit day, a loss day or a neutral day, so the sequence stays readable at a glance.
Symbol analysis
All instruments traded within the reporting period are identified automatically and ranked by overall performance. Each symbol is listed with its profit, its loss, the number of trades, the best single trade and the worst single trade.
EA performance tracking by magic number
Several Expert Advisors are monitored at the same time. Magic numbers are entered as a comma-separated list and can be given custom display names. Each EA is listed with total performance, win rate, number of trades and volume.
Ranking by return per drawdown [NEW in v2.11]
Most reports rank Expert Advisors by profit, which puts the EA that earns most at the top, not the one that handles risk best. This report measures every EA against its own maximum drawdown and ranks by that figure instead. An EA earning 2.563 with a 636 drawdown outranks one earning 5.744 with a drawdown of 1.856, because it produces four units of return per unit of risk instead of three. The figure appears next to each bar in the chart and in the Telegram message, and RankEAsByRiskAdjusted switches back to profit ranking at any time.
Separate risk window [NEW in v2.12]
Drawdown and ranking can run on their own, longer period while the report itself stays on the short one. A 14 day report combined with a 90 day risk window gives a stable risk figure next to the current daily picture, because a single bad day no longer moves the ranking. The summary figures always follow the report period, the EA figures follow the risk window, and every heading states which period it shows. RiskWindowDays set to 0 puts everything back on a single period.
Visual charts from MetaTrader
Up to four charts are created as overlay objects directly in the MetaTrader chart window and saved as a single PNG file: a daily bar chart showing colour-coded profit and loss per day, a symbol performance chart, an EA comparison chart and an account balance and equity history chart. All charts are combined into one screenshot and sent via Telegram. The send mode is configurable as photo, as document, or as automatic with fallback.
Persistent account balance history
The account balance is recorded every 30 minutes into a CSV file that is reloaded automatically on the next EA start. This produces a continuous balance history spanning several weeks and surviving EA restarts. An automatic backup file protects against data loss from write errors, and a recovery function reconstructs the history from the MetaTrader deal history if the file is ever lost.
Net profit and loss including both commission legs [NEW in v2.14]
Some brokers book the entry commission on the entry deal rather than on the exit. A calculation that only reads exit deals silently loses part or all of it. Every figure in this report is net: profit plus swap plus commission of the exit deal, plus the commission and swap of the matching entry. Each position is charged exactly once, so partial closes never count the entry cost twice. UseNetPnL turns the behaviour off for anyone who prefers gross figures.
Report message format
Reports are sent as formatted HTML messages built from a header with account and period information, the daily performance with profit and loss for each day, a period summary with aggregated statistics, the EA performance breakdown when it is enabled and the symbol performance analysis when it is enabled. Long reports that exceed Telegram's message limit are split automatically into several continuation messages, each marked as Report Continued (1/2) and so on.
Chart file management
Chart images are stored in the MQL5\Files\reports\ directory under the fixed file name trade_report.png, and every report overwrites the same file. The auto send mode first attempts to send the chart as a photo and switches to a document if the image size exceeds Telegram's limits. Supported image dimensions reach 10000x10000 pixels with a maximum file size of 10 MB.
Filters and open positions
All analysis can be restricted to a specific magic number or a specific trading instrument. By default every trade is included regardless of magic number or symbol. Currently open positions can optionally be included in today's statistics, so that the current floating profit and loss is reflected in the daily result.
Multi-channel Telegram delivery
Reports are sent simultaneously to several Telegram chat IDs or topics, entered as a comma-separated list. Combinations of regular chats, channels, groups and supergroup topics are supported within the same list. If an HTML-formatted message fails, the EA switches automatically to plaintext mode so that the report still arrives.
Instant report on demand
The SendReportNow parameter triggers an immediate report at any moment, without waiting for the next scheduled hour, and resets itself automatically once the report has been sent.
PARAMETERS
Only the bot token and at least one chat ID have to be filled in. Every other input ships with a working default.
General settings. MagicNumber limits the analysis to a single magic number and defaults to 0 for all trades. SymbolFilter restricts it to one instrument and is empty by default, which includes all symbols. IncludeOpenTrades adds open positions to the statistics and is enabled. MaxDaysToReport sets the length of the reporting period, with a default of 7 days and a maximum of 30. UseNetPnL calculates every figure net of swap and commission on both legs and is enabled.
Report settings. OnlyReportWithTrades shows only days on which trades occurred and is enabled by default. ReportHour sets the first daily send time as an hour between 0 and 23 and defaults to 0, while ReportHour2 and ReportHour3 add a second and a third report and are disabled with the value -1. IncludeSymbolAnalysis adds the symbol performance section to the report and TopSymbolsToShow limits it to five entries by default. SendReportNow triggers an immediate report and resets itself, and DebugMode writes detailed diagnostic output to the journal.
EA performance settings. TrackEAPerformance switches the per-EA breakdown on. EAMagicNumbers takes the magic numbers of your EAs as a comma-separated list and EANames the matching display names in the same order, both empty by default. TopEAsToShow limits the chart to five EAs and TopEAsInTelegram the message list to seven, both adjustable. ShowEAPerformanceChart creates the visual EA comparison chart. RankEAsByRiskAdjusted ranks by return per drawdown and is enabled, ShowRiskRatioInChart prints that figure next to each bar, and RiskWindowDays gives drawdown and ranking their own period, 0 meaning the same period as the report.
Telegram settings. UseTelegram enables the Telegram notifications. TelegramBotToken takes the bot token from BotFather and is required. TelegramChatIDs takes one or more destinations, either as plain chat IDs or in chat_id:thread_id form, separated by commas. SendTestMessageOnStartup sends a test message when the EA starts and is switched off by default. SendChartAs selects the send mode auto, photo or document.
Visualization settings. CreateTradeChart builds the daily bar chart, ShowAccountBalanceChart the account balance history chart, and SendChartWithReport attaches the resulting image to the report. All three are enabled by default. ChartWidth and ChartHeight define the image size in pixels, with defaults of 900 and 400, and BalanceHistoryDays sets how many days the balance history covers, 30 by default.
INSTALLATION
Copy the compiled ex5 file into the MQL5 Experts folder of your MetaTrader 5 data folder, then restart MetaTrader 5 or press F5 to refresh the Navigator.
In MT5 open Tools, Options, Expert Advisors, enable the option to allow WebRequest for listed URL and add the address api.telegram.org
Create a Telegram bot by starting a conversation with BotFather and using the /newbot command, then copy the bot token. Determine the numeric chat ID of your target channel, group or supergroup topic, and add your bot as an administrator if you post into a channel. For topics, enable Topics in the supergroup settings and note the thread ID of the topic you want to use. The General topic has the ID 1 and custom topics have their own unique IDs.
Drag the EA onto any chart and enter the token in TelegramBotToken. In TelegramChatIDs enter either a plain chat ID such as -1001234567890, a supergroup topic such as -1001234567890:12345, or several destinations separated by commas. Set ReportHour to the daily send time you want, and add ReportHour2 and ReportHour3 for up to two additional reports per day. To track individual EAs, enable TrackEAPerformance and enter their magic numbers in EAMagicNumbers with the matching names in EANames.
Confirm the settings with automated trading allowed in the EA properties. A test message is sent to Telegram immediately if SendTestMessageOnStartup is enabled, and SendReportNow set to true produces a report on demand at any time.
Please note that AutoTrading must be active in MetaTrader 5, either through the toolbar button or with Ctrl+E, and that WebRequests must be allowed for api.telegram.org in the Expert Advisors options. The EA itself does not trade and never opens, closes or modifies positions. The balance history CSV file is stored in the terminal data path and backed up automatically, and if it is lost the history is reconstructed from the MetaTrader deal history. Telegram topics are only supported in supergroups, while regular groups, channels and private chats use the standard format without a thread ID.
COMPATIBILITY
MetaTrader 5 from build 3000 upwards, written in MQL5. All instruments are supported, including Forex, metals such as XAU and XAG, indices, crypto, energy and CFDs, on all timeframes. Demo and live accounts are both supported, on hedging as well as netting accounts. AutoTrading must be enabled in the terminal and in the EA properties, and a VPS is recommended for continuous 24/7 operation. A one-month rental is available alongside the full purchase.
Version 2.20 | fi.con Investment Group | MQL5 Marketplace
