MT4/MT5 Send To Telegram — Complete Step-by-Step User Guide + Download FREE DEMO (Test on Live Chart)

MT4/MT5 Send To Telegram — Complete Step-by-Step User Guide + Download FREE DEMO (Test on Live Chart)

8 July 2025, 13:33
The Hung Ngo
0
1 185

🔗 Official Product Links

Public channel: CLICK HERE

✅ FREE DEMO Download (Attached at the Bottom)

I attached DEMO / trial builds for both MT4 and MT5 using the MQL5 Blog Attachments feature. MQL5 will automatically display these files in the attachment block at the very end of this post.

Demo limitations (important):

  • Runs on DEMO accounts only. If attached to a live/real account, the EA will refuse to run.
  • All Telegram messages are forced to start with [DEMO] (text messages and photo captions).
  • The [DEMO] label is locked and cannot be removed by editing templates.
  • Strategy Tester note: Telegram WebRequest does not work in Strategy Tester. Please test the demo on a real demo account chart in a normal terminal window (PC/VPS).

1 | What the EA Does

MT5 Send To Telegram EA and MT4 Send To Telegram EA are read-only monitoring tools that send trading activity from MetaTrader directly to Telegram. The same setup logic applies to both versions unless a platform-specific note is mentioned.

  • The EA does not open, close, or manage trades. It only monitors your account and sends notifications / supported read-only replies.
  • It watches for events such as new positions, pending orders, SL/TP changes, closed trades, screenshots, and scheduled reports, then sends structured Telegram messages in real time.
  • New in v2.50: in YOUR_OWN_BOT mode, the EA can answer Telegram requests on demand: /account, /positions, /pending, /risk, /today, /week, /month, /year, /status, and /help.
  • Optional quick keyboard: show a one-tap menu in Telegram for the most common monitoring actions.
  • Multi ChatTarget support: send notifications to multiple Telegram chats/groups/channels using one input field (comma- or new-line-separated).
  • Telegram Topics support: route messages into a specific forum topic using -100xxxxxxxxxx:TopicID.
  • Threaded trade messages: SL/TP updates and closing alerts can reply to the original open-trade message.
  • Delay engine: group rapid modifications into one cleaner message instead of many small updates.
  • Optional screenshots: send chart images, including optional Entry / SL / TP overlays.
  • Smarter screenshot engine: improved chart loading, safer retry behavior, and more reliable image capture for screenshot-based alerts.
  • Account Safety Alerts (optional): margin, drawdown / daily loss, spread, connection, and trading-status monitoring.
  • Scheduled reports: daily / weekly / monthly / annual summaries, with ReportDelaySeconds to stagger delivery across multiple charts.

Ideal for manual traders, EA users, signal providers, channel admins, and prop-firm traders who want reliable MT4/MT5 → Telegram visibility.


2 | System Requirements

  • Platform: a recent stable MetaTrader 5 or MetaTrader 4 terminal.
  • Network: continuous internet access on the MT4/MT5 machine (PC, VPS, etc.).
  • Telegram: a Telegram account on mobile or desktop.
  • Permission: WebRequest to https://api.telegram.org must be allowed in MetaTrader.
  • For Telegram Requests / Commands: use YOUR_OWN_BOT mode.

3 | Installation & Quick-Start Checklist

Step Action
1 MT5/MT4: Tools → Options → Expert Advisors → tick Allow WebRequest for listed URL and add https://api.telegram.org.
2 Copy MT5SendToTelegram.ex5 into MQL5/Experts (for MT5).
Copy MT4SendToTelegram.ex4 into MQL4/Experts (for MT4).
Restart the corresponding terminal(s).
3 Attach the EA to any chart. Use one chart only per terminal; timeframe does not matter.
4 Choose your connection method (DEFAULT bot or YOUR_OWN_BOT), then set ChatTarget. See section 4 for details.
5 Set MagicNumber:
  • 0 = monitor all trades on the account.
  • Any other integer = monitor only orders with that MagicNumber.
6 In the Inputs tab:
  • Enable the alert types you need (open, close, SL/TP, pending, reports, screenshots, safety alerts).
  • Optionally enable Screenshot Settings and the Entry / SL / TP overlay feature.
  • Optionally enable Account Safety Alerts.
  • Optionally tune the delay engine to reduce noise.
  • Optionally set ReportDelaySeconds if you run multiple charts/terminals and want scheduled reports to be staggered.
  • If you want interactive requests, use TokenChoice = YOUR_OWN_BOT, enable EnableTelegramRequests, and optionally enable EnableTelegramRequestKeyboard.
7 Press OK. If configured correctly, a Telegram activation message should appear.
8 If Telegram Requests are enabled, open your bot chat in Telegram and send /menu or /help.

4 | Connecting MT4/MT5 ⇄ Telegram

Targeting is one-field: ChatTarget. You can paste any of these:

  • Numeric Chat ID (recommended): 188xxxxxxxx (user) or -100xxxxxxxxxx (group/channel)
  • Public chat username: @channelusername or t.me/channelusername
  • Personal username (for private DM): YourUsername (with or without @)
  • Telegram Topics (forum): -100xxxxxxxxxx:TopicID
  • Multi targets: separate several targets by comma or new line
Key rules (important Telegram behavior):
• If you already have the correct numeric Chat ID, that is usually the most reliable option.
• For channels: add the bot as Administrator so it can post.
• For public channels / supergroups using @username / t.me: convenient, but if you see “chat not found”, re-check the username and bot permissions.
• For private 1-to-1 users: the user must press Start / send /start to the bot at least once.

4.1 Default Bot Mode — fastest for personal use

  1. Open Telegram and message @ShiXiongScalpingTrader_bot (press Start or send /start).
  2. In EA inputs, set ChatTarget = YourUsername (with or without @; t.me/YourUsername also works).
  3. Leave TokenChoice = DEFAULT and press OK.

The EA automatically resolves your Chat ID via the default bot. This mode is best for fast outbound notifications. Telegram Requests / Commands are not available in DEFAULT mode.

4.2 Your Own Bot Mode — channels, groups, and advanced use

  1. Create a bot with @BotFather and copy the TOKEN. If you plan to use Telegram Requests / Commands, using one dedicated bot for this EA is strongly recommended.
  2. Add the bot to your target chat:
    • Channel: add the bot as Administrator.
    • Group/Supergroup: add the bot and make sure it can send messages.
    • Private DM: the user must open the bot chat and press Start (or send /start) at least once.
  3. In EA Inputs:
    • TokenChoice = YOUR_OWN_BOT
    • YourToken = 123456:ABC-DEF
    • ChatTarget = numeric Chat ID, @username, t.me/username, or -100xxxx:TopicID for topics
  4. Optional: set EnableChatIDVerification = true for a one-time handshake test.

This mode is required for channels / groups and for Telegram Requests / Commands.

4.3 Telegram Requests / Commands (v2.50)

This optional module lets you ask the EA for live read-only information directly from Telegram while your terminal / VPS is running.

  • Required mode: TokenChoice = YOUR_OWN_BOT
  • Main inputs: EnableTelegramRequests, TelegramRequestsPollSeconds, TelegramRequestsDropPendingOnInit, and optional EnableTelegramRequestKeyboard
  • Read-only design: the feature only replies with information. It does not open, close, cancel, or modify trades.
  • Protected scope: commands are accepted only from the configured ChatTarget / topic.
  • Reply routing: replies are sent back to the same chat/topic that issued the request.
  • Important: if this bot already has an active webhook used by another service, Telegram Requests will stay disabled until you use a dedicated bot or remove that webhook from the other integration.

Supported commands:

  • Navigation: /start, /menu, /help, /hide
  • Trading state: /account, /positions, /pending, /risk, /status
  • Current period counters: /today, /week, /month, /year

Quick keyboard (optional): Account, Positions, Pending, Risk, Today, Week, Month, Year, Status, Help, Hide.

Note: /today, /week, /month, and /year use the EA’s live counters for the current period (the same data source used by scheduled reports).

  1. Use YOUR_OWN_BOT.
  2. Open the bot chat in Telegram and press Start (or send /start).
  3. Set ChatTarget to that same user / group / topic.
  4. Enable EnableTelegramRequests = true.
  5. Optional: enable EnableTelegramRequestKeyboard = true.
  6. Send /menu or /help.

5 | All Input Groups Explained

Group (in Inputs) Purpose
Telegram Connection Choose the connection method: default bot or your own custom bot. Use one target field: ChatTarget.
  • Numeric Chat ID (-100... / positive ID) — most reliable.
  • Public username (@channelusername or t.me/...) — convenient for public chats.
  • Personal username — auto-resolve for private DM (the user must press Start once).
  • Telegram Topics: -100xxxxxxxxxx:TopicID
  • Multiple targets: separate by commas or new lines.
Telegram Requests (v2.50) Enable optional read-only commands from Telegram in YOUR_OWN_BOT mode.
  • EnableTelegramRequests — turn the request engine on/off
  • TelegramRequestsPollSeconds — polling interval
  • TelegramRequestsDropPendingOnInit — skip old queued updates on startup
  • EnableTelegramRequestKeyboard — show the optional quick keyboard
  • Commands are accepted only from the configured ChatTarget / topic and replies are sent back there.
Message & Delay Settings Toggle which automatic alerts are sent:
  • New market positions / executed orders
  • Pending orders placed / modified / cancelled
  • SL/TP changes on open positions
  • Positions closed
Use delay settings to group multiple fast changes into one cleaner message.
Screenshot Settings Control when a chart screenshot is attached to alerts.
  • On position open
  • On order execution / match
  • On SL/TP change
  • On position close
Screenshots are sent as one Telegram message (photo + caption). Depending on your settings/version, you may also have:
  • Auto-open traded symbol chart
  • Auto-close chart after capture
  • Screenshot delay
  • Screenshot timeframe selection
  • Entry / SL / TP overlay (optional) for cleaner trade documentation
  • Smarter chart loading and safer retry behavior for more stable screenshot capture
Account Safety Alerts (PropFirm) Optional monitoring for margin level, drawdown / daily loss, spread spikes, and connection / trading status. Includes cooldown logic to reduce spam.
Report Settings Enable Daily / Weekly / Monthly / Annual summaries. Use ReportDelaySeconds to stagger scheduled reports across multiple charts and reduce Telegram rate-limit collisions.
MagicNumber 0 = monitor all trades on the account. Any other integer = monitor only that strategy / EA.
Custom Message Templates Edit the text used for automatic alerts and reports. Supports HTML formatting and placeholders.

6 | Editing Message Templates (Advanced)

The EA comes with ready-to-use templates, but you can customize the wording of automatic alerts and scheduled reports. Templates are in the Inputs tab under CUSTOM MESSAGE TEMPLATES.

6.1 Placeholder Reference

  • {symbol} – instrument, e.g. EURUSD
  • {type} – Buy / Sell / Buy Limit / Sell Stop…
  • {price} – open or entry price
  • {volume} – lots
  • {tp}, {sl}
  • {profit}, {commission}, {swap}
  • {comment}
  • {result} – PROFIT / LOSS label
  • {holdingTime}
  • {reportTime}, {gmtOffset}
  • {winRate}, {maxDrawdown}, {riskRewardRatio}

Line breaks = |n
Bold = <b>text</b> • Italic = <i>text</i>

If a screenshot is enabled for that event, the same template text is used as the image caption.

6.2 Example – Custom “Order Closed” Template

<b>❌ {type} {symbol} closed {closeReason}</b>|n Result: <b>{result}</b> | P/L: {profit}|n Volume {volume} | Commission {commission} | Swap {swap}|n Held {holdingTime}

Save the template and press OK — the next closed trade will use your custom wording.


7 | Typical Configurations

7.1 Manual / Signal Followers

  • MagicNumber = 0 to monitor the whole account.
  • Enable the main alerts (open / close / SL/TP / pending).
  • Turn screenshots ON for open / close, and OFF for minor edits if you want less noise.
  • Optionally enable Entry / SL / TP overlay for cleaner documentation.
  • Daily and Weekly reports ON for quick review.

7.2 Multi-EA Accounts

  • Each trading EA should use its own MagicNumber.
  • Attach one Telegram EA per terminal, not one per chart.
  • Use MagicNumber to isolate one strategy, or 0 to monitor all.
  • Use the delay engine to group frequent SL/TP changes into fewer messages.
  • Use ReportDelaySeconds if several charts / terminals send reports at the same time.

7.3 Prop-Firm Monitoring

  • Enable Account Safety Alerts for margin level and drawdown / daily loss warnings.
  • Focus on position close and SL/TP change alerts.
  • Daily report ON; Weekly / Monthly optional.
  • Optionally use screenshots only on position open and close for a cleaner audit trail.

7.4 Interactive Telegram Monitoring (v2.50)

  • TokenChoice = YOUR_OWN_BOT
  • EnableTelegramRequests = true
  • EnableTelegramRequestKeyboard = true (optional but recommended)
  • TelegramRequestsPollSeconds = 5 is a practical starting point
  • TelegramRequestsDropPendingOnInit = true to skip old queued commands after restart
  • Send /menu in Telegram for one-tap access to the main monitoring actions
  • For the cleanest setup, use one dedicated bot for this EA

8 | Report Timing Logic

  • Daily – 23:59 platform time, except weekends and major FX holidays.
  • Weekly – last trading Friday of the week.
  • Monthly – last trading day of the month.
  • Annual – last trading day of the year.

The built-in calendar logic helps avoid sending reports on non-trading periods so statistics stay more meaningful.

If you run the EA on multiple charts, use ReportDelaySeconds to stagger scheduled reports and lower the chance of Telegram 429 Too Many Requests collisions.


9 | Troubleshooting & FAQ

Issue Solution
No messages received • Confirm WebRequest URL: MT5/MT4 must allow https://api.telegram.org.
• Check the MT4/MT5 Experts tab for HTTP code 401/403/500.
• Verify TokenChoice / YourToken and ChatTarget in Inputs.
• For private DM: the user must press Start / send /start to the bot once.
• VPS firewall? Open outbound port 443 for HTTPS.
• If using multiple ChatTargets, test each one separately first to isolate the target that fails.
Telegram Requests are not responding • Telegram Requests work only in YOUR_OWN_BOT mode.
• Make sure EnableTelegramRequests = true.
• Send the command from the same allowed ChatTarget / topic configured in the EA.
• For private DM, press Start / send /start to the bot once.
• If using Topics, send the command inside the same configured topic.
• Try /menu or /help first and check the Experts tab for request status logs.
Telegram Requests disabled: this bot already has an active webhook configured This bot is already being used by another service that receives updates via webhook. Use a dedicated bot for this EA, or remove that webhook from the other integration. Interactive request polling cannot run from the same bot while another webhook consumer is active.
Telegram API Error 400: “Bad Request: chat not found” Usually means a wrong ChatTarget or missing bot access.
• For private DM: the user must send /start once.
• For channels: the bot must be an Administrator.
• For private groups/channels: use the correct numeric ID (often -100...) and confirm the bot is added.
• Most reliable fix: use the numeric Chat ID directly.
Topic messages not showing • Make sure your group is a Supergroup with Topics enabled.
• Use format: -100xxxxxxxxxx:TopicID.
• If the topic ID is wrong, Telegram may reject the message. Test the group first without a topic.
401 / 403 error Wrong token, wrong bot, or the bot does not have access to the target chat/channel. Re-check permissions and ChatTarget.
400 error “there is no photo in the request” • Ensure screenshots are enabled only when the terminal can capture charts properly (chart loaded, symbol available).
• If you trade many symbols, enable auto-open traded symbol chart if needed.
• The latest screenshot engine improves chart loading and retry behavior for more reliable image capture.
• Temporarily disable screenshots to isolate whether the issue is network vs screenshot capture.
Telegram API Error 429: “Too Many Requests” Telegram is rate-limiting because too many messages were sent at once.
• Use ReportDelaySeconds to stagger scheduled reports.
• Avoid sending too many screenshots/reports simultaneously from the same terminal.
• The EA includes improved retry handling, but staggering is still the best prevention.
Message too long Edit your templates or reduce large report blocks so the message stays shorter.
Demo build cannot send messages The Strategy Tester has no internet access. Test the demo on a demo account live chart in a normal terminal window (or VPS).

10 | Security & Best Practices

  • Use unique MagicNumbers if multiple EAs trade the same symbol.
  • Never share your custom bot TOKEN publicly or in screenshots.
  • For interactive Telegram Requests, use a dedicated custom bot whenever possible.
  • Only enable Telegram Requests in chats you trust, because commands expose monitoring data about your account.
  • Use numeric Chat IDs when possible — they are the most reliable.
  • Test templates, screenshot options, and request commands on a demo account before going live.
  • If you run the EA on multiple charts, set ReportDelaySeconds to spread scheduled reports and reduce Telegram rate-limit collisions.
  • Update via the MQL5 ► Purchases page — activations remain valid across updates.

🔧 Change Log

📌 v2.50 – Interactive Telegram Requests & Quick Keyboard

  • Added Telegram Requests / Commands in YOUR_OWN_BOT mode.
  • Added optional quick Telegram keyboard for one-tap monitoring actions.
  • Added on-demand queries for account, positions, pending orders, risk, current day/week/month/year counters, and EA status.
  • Replies now return to the same Telegram chat/topic that issued the request.
  • Read-only design: no trade execution, close, cancel, or modify actions were added.
  • Built to preserve the existing alert/report flow without changing normal notification behavior.

📌 v2.40 – Smarter Screenshot Stability, Report Staggering & Safer Telegram Retries

  • Enhanced screenshot stability and performance: smarter chart loading, safer retry behavior, and more reliable image capture.
  • New ReportDelaySeconds input: stagger scheduled Daily / Weekly / Monthly / Annual reports across multiple charts.
  • Improved Telegram 429 retry handling: reduces missed reports caused by rate-limit collisions when many messages are sent at once.

📌 v2.30 – Multi Targets, Topics & PropFirm Safety Alerts (27 Jan 2026)

  • Multi ChatTarget support: send notifications to multiple chats/groups/channels at once (comma / new-line separated).
  • Telegram Topics support: post alerts into forum topics using -100xxxxxxxxxx:TopicID.
  • Account Safety Alerts module (optional): margin level, drawdown/daily loss, spread spikes, and connection/trading status warnings.
  • Enhanced screenshots (optional): draw Entry / SL / TP levels on the chart before capturing (toggle ON/OFF).
  • MT5 fix: deposit/withdraw (balance operations) are ignored and no longer trigger trade notifications.

📌 v2.20 – Telegram Connection Reliability & Cleaner Setup UX (07 Jan 2026)

  • Single ChatTarget input: numeric Chat ID (-100.../188...), @channelusername, t.me/channelusername, or a username (auto-resolve for private DM).
  • Improved public channel/supergroup targeting: fewer cases where public chats fail to resolve on first setup.
  • Cleaner Inputs: smarter input sanitization and less confusion during setup.
  • Clearer logs & verification errors for easier troubleshooting.
  • Telegram rule reminder: private DM requires one-time /start; channels require bot as Administrator.

📌 v2.10 – Reliable Screenshots & Smarter Delays (12 Dec 2025)

  • More reliable screenshots (correct symbol capture when trading multiple symbols).
  • Extra screenshot controls (auto-open/auto-close, delay, timeframe selection).
  • More accurate timing for delayed notifications.
  • More stable trade updates (retries when platform is slow).
  • Better special character/emoji handling in messages & photo captions.

📌 v2.00 – Screenshot Alerts & Threaded Messages (11 Dec 2025)

  • Screenshot settings group added.
  • Screenshot + caption sent as one Telegram message (photo + caption).
  • Threaded replies for SL/TP updates and trade close messages.
  • Improved error handling/logging for photo requests.

📌 v1.90 – Chat ID Verification Fix

  • Fixed Chat ID Verification message for custom bot + Chat ID mode.
  • Minor stability and compatibility improvements.

📌 11 Dec 2025 – MT4 v1.80 Release (parity with MT5 v1.80)

  • MT4 release parity with MT5 features (delay, templates, reporting, token encryption, etc.).
  • From this version onward, MT4 & MT5 share a unified change log.

📞 Support

• Comment under the Market product page
• MQL5 inbox @thehung21
Response time < 24 h on business days.


Trade safe & stay informed — happy trading! 🚀