Signal Bridge — Best MetaTrader-to-Telegram EA — Manual

Signal Bridge — Best MetaTrader-to-Telegram EA — Manual

28 May 2026, 19:49
Inakis Srl
0
5

SIGNAL BRIDGE — USER MANUAL v6.09


Product links:

MT4: https://www.mql5.com/en/market/product/131683

MT5: https://www.mql5.com/en/market/product/139969

The MT4 and MT5 versions share the same logic, the same on‑chart panel and the same inputs. Everything in this manual applies to both platforms unless explicitly noted.

Summary

0 — Important information

1 — Telegram setup (bot + channel)

2 — Install Signal Bridge in MT4 / MT5 3 — First initialization

4 — The on-chart panel (overview)

5 — Tab reference: Main · Filters · Messages · Custom Msgs · Charts · Reports

6 — Report types explained

7 — Bidirectional UI ↔ Inputs sync (.set file)

8 — Performance tips

9 — Advanced inputs (classic Properties → Inputs dialog only)

10 — Telegram error handling

11 — Links and support


Menu1 

layout


charts

0 — IMPORTANT INFORMATION

Signal Bridge sends Telegram messages and, optionally, full chart screenshots for every trade event. The screenshot pipeline is the resource‑heavy part: due to MetaTrader limitations, the EA opens a temporary chart, applies a template, draws the trade objects (SL/TP rectangles, entry‑to‑close line) and captures the image. Depending on the host machine this can take from 2 to 15 seconds per chart.

On under‑powered VPS the terminal may stall during this process. To avoid it:

  • Use a VPS with at least 8 GB RAM and a quad‑core CPU, not over‑sold by the provider; or
  • Disable chart screenshots from the Charts tab and work with text‑only messages; or
  • Set every Send Chart for … option to Send immediately after (text first, image follows seconds later). This does not save CPU but guarantees the user receives the textual signal without waiting.


1 — TELEGRAM SETUP

1.1 — Create the target channel
Create a new channel (or group) in Telegram. This is where the EA will publish messages.

1.2 — Create the bot
Open Telegram and start a chat with @BotFather:

  1. Menu → /newbot
  2. Choose a name (e.g. mychannel) and a username ending in _bot (e.g. mychannel_bot)
  3. Copy the API token shown at the end (e.g. 1234567890:BBHeeTQYDprhrh1Cph2UBB7JKz6erSLWRqw ). You will paste it into the EA's Filters tab → Token.

BotFather token creation

1.3 — Add the bot to your channel as Administrator
Open the channel → ManageAdministratorsAdd Administrator → search the bot username → grant Post Messages permission → Save.

1.4 — Get the channel ID
Open https://web.telegram.org/, select the channel, and look at the URL. The trailing digits are your Chat ID. Example: in web.telegram.org/k/#-2429693223 the channel ID is 2429693223. Paste it into the EA's Filters tab → Chat ID (with or without the leading minus / "-100" prefix — the EA accepts both).

Find channel ID in web.telegram.org


2 — INSTALL SIGNAL BRIDGE IN MT4 / MT5

2.1 — Log in to the Market
In MetaTrader: Tools → Options → Community, enter your mql5.com credentials.

Tools Options Community

2.2 — Download Signal Bridge
Terminal → Market tab → search Signal Bridge (or go to Purchased if you already bought it) → Download.

Market - find Signal Bridge

Market - Download button

2.3 — Open a chart
We recommend BTCUSD because it runs 24/7 — this guarantees the EA receives ticks at weekends and can still send scheduled reports.

Open BTCUSD chart

2.4 — Allow WebRequest to Telegram
Tools → Options → Expert Advisors → tick Allow WebRequest for listed URL → double‑click an empty row, type https://api.telegram.org , press Enter, OK.

Allow WebRequest api.telegram.org

2.5 — Activate AutoTrading
Click the AutoTrading button in the toolbar (it must show green / play icon).

Activate AutoTrading

2.6 — Load the EA
Open the NavigatorMarket section → double‑click or drag Signal Bridge onto the chart.

Drag Signal Bridge onto chart

2.7 — In the EA properties dialog, tab Common: enable Allow DLL imports and Allow live trading, then OK.

Common tab - Allow DLL and Live Trading


3 — FIRST INITIALIZATION

  1. On first load the EA generates four default chart templates in Terminal\MQL4\Files (or \MQL5\Files for MT5) and saves a panel‑state file SignalBridge_panel.set .
  2. If trades are already open when you load the EA, a popup explains that, by default, those pre‑existing trades will not generate Telegram messages. You can change this in Filters → Message Filter → At EA startup (see §5.2).
  3. The on‑chart panel appears in the top‑left of the chart. All settings are configured directly on this panel — you no longer need to open the MT4/MT5 input dialog for daily use, although every input is still available there (right‑click chart → Expert Advisors → PropertiesInputs).


4 — THE ON‑CHART PANEL (OVERVIEW)

Signal Bridge v6.09 ships with a tabbed control panel rendered directly on the chart. It replaces the old grid of native MT4 inputs and lets you change any setting at runtime, with no recompile and no EA reload.

Signal Bridge v6.09 - Main tab

Every field you see in any Telegram message is fully customisable from the panel — or, for the advanced parameters, from the classic Properties dialog.

Customize everything from inputs

The panel has six tabs:

Tab Purpose
Main Trigger a report on demand, see a live dashboard of the most important settings, and access maintenance actions (Regenerate Templates, Reset EA).
Filters Telegram credentials, which orders qualify for broadcasting (StopLoss requirement, pre‑existing trades, magic/symbol filters), and risk‑calculation base.
Messages Choose the message layout style and pick which fields appear in each Telegram message (pips, PnL, RR, lots, comment, duration…). Footer / channel branding.
Custom Msgs Override the default close‑message text for each scenario (TP, TSL, SL, BE, manual, partial). Configure the «running trade update» that fires when a trade crosses a profit threshold.
Charts Screenshot theme, template, timeframe, zoom, size, and when an image must be attached (with the signal / immediately after / never).
Reports Global report config (what to show in any report) plus the daily and weekly schedules.

Bidirectional sync. Every change you make on the panel is persisted within ~1 second to MQL4\Files\SignalBridge_panel.set (or the MT5 equivalent). When the EA reloads it compares each stored value with the current input value: if the input was edited via the Properties dialog, the input wins; otherwise the panel value is restored. See §7 for details and how to migrate a configuration to another terminal.


5 — TAB REFERENCE

5.1 — Main

Main tab

The Main tab is split in three blocks.

SEND REPORTS NOW — manual, one‑click report sending. Pick a Type, decide whether to include currently open trades, then click Daily, Weekly or Custom.

Control Description
Type Which aggregation to use: By Trade (one row per ticket), By Pair (sum per symbol), By Day (sum per calendar day), Win/Lose (counts of winning, losing and breakeven trades), By Magic (sum per magic number).
Open Trades? Whether to append currently open positions at the bottom of the report.
Send Daily Sends a report for the current calendar day.
Send Weekly Sends a report for the current calendar week.
Send Custom Sends a report for the date range defined in Start / End below, with the optional Title.
For [Custom] use: Start / End Date range for the custom report, format YYYY.MM.DD.
Title Free‑text title prepended to the custom report (e.g. "January Report").

Tip: before sending a long report load the full account history (Terminal → Account History tab → right‑click → All History), otherwise older trades will be missing.

MAIN SETTINGS — read‑only dashboard. Shows at a glance the current value of nine key settings so you can verify the EA is configured the way you expect. Each row reflects a setting that lives on another tab; to change a value, open the corresponding tab.

Row Mirrors Example value
Mode Filters → Message Filter → Events All events / Open & Close only / Off (reports only)
Risk Base Filters → Risk → Calc Risk on Account Balance
Break‑Even Filters → Risk → BE tolerance (pips) +/-3 pips
Message Style Messages → Layout → Style Signal Bridge Classic
Update msg at Custom Msgs → Running Trade Update → Threshold 1.0%
Custom Msg on close Custom Msgs → Close Messages → Active Active ON
Chart Style Charts → Chart Theme → Theme Blue
Daily Report Sched Reports → Daily Schedule → Active OFF
Weekly Report Sched Reports → Weekly Schedule → Active OFF

MAINTENANCE

Button Description
Regenerate Templates Re‑creates the four built‑in chart templates in Files\ (Blue, Grey, Black, White). Use it if a template file got deleted or corrupted.
Reset EA Wipes the persisted panel state and restarts the EA from a clean slate. Useful when troubleshooting; do not use it routinely — you will lose every customisation that was not saved to a .set preset.


5.2 — Filters

Filters tab

TELEGRAM — your bot credentials.

Input Description
Token The bot API token from @BotFather. Paste it exactly as provided.
Chat ID The numeric channel/chat ID. Can be entered with or without the leading - or -100 prefix.

MESSAGE FILTER — defines which events generate Telegram traffic. Split into three logical sub‑blocks.

Input Description
What to send
Events All events (open, close, partial, SL/TP modification, pending, cancel, activation, updates) · Open & Close only (skip the noise — no SL/TP edits, no updates) · Off (reports only) (the EA stays silent on trades and only sends scheduled reports).
Which orders qualify
Require StopLoss If ON, trades opened without a Stop Loss are ignored. Useful for signal providers who want to filter out manual scalps.
Late‑SL grace (sec) How long the EA waits before deciding a trade has «no SL». Default 15 seconds — gives copiers time to attach a stop after the market order.
Pending → send at fill If ON, pending orders do not generate a NEW message. Instead the EA waits for the pending to be filled and then publishes a market BUY/SELL. Recommended for copier‑driven channels where pending fills may diverge between provider and copier.
At EA startup
Skip pre‑existing trades If ON, trades already open when the EA starts are completely ignored (no NEW, no UPDATE, no CLOSE). If OFF, the EA picks them up — subject to the next setting.
Include if opened within (min) Only when the previous switch is OFF. 0 = unlimited (every pre‑existing trade is picked up). N > 0 = only trades opened within the last N minutes from EA startup are picked up.

RISK — how Signal Bridge computes the «risk %» and the «PnL %» you see in messages and reports.

Input Description
Calc Risk on Account Balance (default) · Account Equity · Custom Balance (uses the value below). Pick Custom Balance when you want every percentage to reflect a fixed reference equity (e.g. the prop‑firm challenge starting equity).
Custom Balance Reference equity used when Calc Risk on = Custom Balance.
Account currency Currency symbol printed next to monetary values in messages and reports (e.g. $ , € , USD ).
Exclude Swap/Comm If ON, swap and commission are excluded from PnL figures (cleaner numbers for marketing).
BE tolerance (pips) Pip range around entry within which a trade is considered breakeven. Used by close messages («Trade closed at break‑even»), trade‑by‑trade reports, and win‑rate counting.
BE tolerance (%) Same concept as above but expressed as a percentage of balance. Used for the By Day, By Pair and Win/Lose reports, where summing pips across XAUUSD and EURUSD would be meaningless.

SYMBOL — broker‑specific symbol handling and final filters.

Input Description
Hide prefix Prefix to strip from displayed symbol names (e.g. z if your broker uses zEURUSD ).
Hide suffix Suffix to strip (e.g. .pro , m ).
Custom pips Override pip calculation for specific symbols. Format: SYMBOL=digits , comma‑separated.
Examples: XAUUSD=2,BTCUSD=-10 .
Positive value = force that many digits. Negative value = divide the raw point delta by that absolute number (useful for BTC, indices, exotic CFDs).
Market text Free‑text label shown next to the symbol in messages (e.g. "FX", "Crypto") — leave blank to hide.
Magic filter Comma‑separated list of magic numbers to broadcast. Blank = no filter. Example: 12345,67890 .
Symbol filter Comma‑separated list of symbols to broadcast. Blank = all symbols. Example: EURUSD,XAUUSD,BTCUSD .


5.3 — Messages

Messages tab

LAYOUT

Input Description
Style Visual template used to format every Telegram message. Four built‑in layouts: Signal Bridge Classic (default, vertical with emoji icons), Tree View (grouped sections), Clean Minimal (no emoji, compact), Tabled View (monospace table).

4 message layouts: Classic, Tree view, Clean, Tabled

INCLUDE IN MESSAGES — toggle each piece of information on or off. Switches operate independently of each other — turn off anything you don't want to disclose to your audience.

Toggle Description
Emoji Use emoji icons in the message header / event line.
Ticket # Include the MT4/MT5 ticket number.
Pips Show gained/lost pips.
PnL (%) Show PnL as a percentage of the configured risk base (see Calc Risk on in §5.2).
RR Show Risk:Reward on opening messages (requires both SL and TP to be set).
Close reason Show why a trade closed (TP hit, SL hit, manual, TSL, BE…).
Line breaks Insert blank lines between sections to make the message more readable. Turn off for a more compact layout.
Lots Show the lot size. Strongly recommended ON if you use partial closes, because some copier services (e.g. TSC) cannot replicate partials without an absolute lot value.
PnL ($) Show PnL in account currency.
Risk % Show the estimated risk percentage on open messages (computed from SL distance × lot size / balance).
Order comment Include the MT4/MT5 order comment field.
Duration Show how long the trade stayed open (close messages only).

FOOTER

Input Description
Channel name Free text appended at the bottom of each message — usually your channel branding (e.g. "My VIP Channel").
Show 'Signal Bridge' Master switch for the «Signal Bridge - version» signature below the channel name. Highly appreciated by the developer if left ON :)
in New / Activated / Cancelled / Updates / Partial / Closed Per‑event switches: independently decide which event types carry the footer. Default: footer ON for New, Partial and Closed; OFF for routine UPDATE / ACTIVATED / CANCELLED messages to avoid visual noise.

Example of a NEW order message with every field enabled (Classic layout):

EURUSD Buy NEW message example

Signal Bridge tracks the whole life‑cycle of every trade. Beside NEW and CLOSED, every modification produces a dedicated update message:

  • Pending order activation
  • Pending order cancellation
  • Entry / SL / TP modifications
  • SL moved to break‑even
  • SL trailed to lock profit (Trailing Stop)

Order updates examples


5.4 — Custom Msgs

Custom Msgs tab

Override the default text used for each close scenario and configure the «trade in profit» update.

CLOSE MESSAGES — replaces the generic close line with a scenario‑specific phrase. Enable with the master Active switch.

Trigger Description (default text)
TP hit Trade closed at Take Profit. Default: "Booom!! Target price hit! Ready for the next round?"
TSL hit Trade closed by a trailing stop that locked profit. Default: "Awesome! Our trailing stop locked our profit!"
SL hit Trade closed at Stop Loss. Default: "SL hit! Let's bounce back on the next trade!!"
SL @ BE Trade closed at breakeven (within the BE tolerance configured in §5.2). Default: "Trade closed at break‑even, let's seek a better opportunity!"
Manual profit User manually closed the trade in profit. Default: "Awesome! Closed in good profit!"
Manual loss User manually closed the trade in loss. Default: "Closed in loss, Let's bounce back on the next trade!!"

PARTIAL CLOSE

Trigger Description (default text)
Partial profit Partial close while trade is in profit. Default: "Awesome! We secured some profit, let's now wait for final TP!"
Partial BE Partial close within BE tolerance. Default: "We closed part of the position at BE, let's now wait for final TP!"
Partial loss Partial close while trade is in loss. Default: "We closed part of the position in Loss, let's now wait for final TP!"

RUNNING TRADE UPDATE — pushes a marketing‑style update message when a still‑open trade reaches a profit threshold. The message fires only once per trade.

Input Description
Active Master switch for the feature.
Mode Send text + chart (full update with a screenshot) · Send text only (no screenshot — cheaper on CPU).
Trigger type % on Balance (PnL as % of the risk base) · Pips (absolute pip count) · RR (trade has reached N times its initial risk — requires SL).
Threshold The numeric value matching the trigger type (e.g. 1.00 with % on Balance = trigger at +1% on balance).
Message Free‑text body of the update. Keep the text consistent with the threshold: if you trigger at 2%, write «has reached 2%» in the text.

Trade in profit update example


5.5 — Charts

Charts tab

Four built‑in colour themes plus full support for your own .tpl templates. Trade objects (SL, TP, close line) are drawn on top of the chart with configurable colours.

Chart themes and custom templates

CHART THEME — visual styling of the screenshot.

Input Description
Theme Blue (blue background, white/blue candles) · Grey (grey background, green/dark‑grey candles) · Black (black background, green/red candles) · White (white background, green/dark‑grey candles) · Custom template — uses the template name from the next field.
Template Base name of your custom .tpl file (located in Terminal\templates\ ). Enter without the .tpl extension. Only used when Theme = Custom template.
Timeframe Timeframe of the screenshot chart (M1, M5, M15, M30, H1, H4, D1, W1, MN). Pick a timeframe that visually shows your average SL/TP distance — e.g. M5 is wrong for a 100‑pip EURUSD trade.
Zoom Zoom 0…5 (or Skip = no zoom step). 5 = maximum zoom (few candles, close‑up), 1 = minimum zoom (many candles, panoramic). 3–4 is the sweet spot for most users.

SEND CHART FOR — per‑event control over when an image is attached. Each row has three options:

  • With Signal msg — the chart is uploaded together with the text message (single Telegram post, slower).
  • After Signal msg — the text is sent immediately; the chart follows as a reply a few seconds later (recommended on slow VPS).
  • Don't send — no chart for this event.
Row Description
Pending Behaviour for pending‑order NEW messages.
Market Behaviour for market BUY/SELL NEW messages.
Partial Behaviour for partial‑close messages.
Full close Behaviour for full‑close messages.
Skip on negative If ON, full‑close screenshots are skipped when the trade closed in loss. Pure marketing toggle — you decide.

CHART SIZE

Input Description
Size mode Fixed Size (W+H) — uses the explicit width and height below · Auto (H only) — width derived from chart aspect ratio.
Chart Width Pixel width of the screenshot (used in Fixed Size mode). Default 1400.
Chart Height Pixel height. Default 800. Telegram compresses very large images — 1080p is a good ceiling.


5.6 — Reports

Reports tab

REPORTS CONFIG — global options applied to every report (manual, daily, weekly, custom).

Input Description
Strategy name Optional label prepended to the report title (e.g. "Scalper EU").
Show PnL ($) Include monetary PnL.
Show Pips Include pip totals.
Show WinRate Show the win‑rate row.
Show Channel Show the channel branding footer in reports.
Magic Include Comma‑separated magics to include. Blank = include all.
Magic Exclude Comma‑separated magics to exclude. Blank = exclude none.
Magic names Optional aliases for magic numbers (format 123=Scalper,456=Swing ) — reports show the alias instead of the raw number.

DAILY SCHEDULE — one row per setting.

Input Description
Active Master switch for the daily auto‑report.
Time HH:MM Server time at which the report is sent each day (e.g. 09:00 ).
Style Aggregation: Detailed by Trade (default), By Pair, By Day, Win/Lose, By Magic.
Skip empty If ON, skip the send when no trades closed in the period.
Show open If ON, include the list of still‑open positions at the bottom of the report.
Skip on loss If ON, skip the send when the period's total PnL is negative. Marketing toggle.

WEEKLY SCHEDULE — same fields plus a day‑of‑week selector.

Input Description
Active Master switch for the weekly auto‑report.
Day Day of the week to send (Sunday…Saturday). Default Saturday.
Time HH:MM Server time. Default 23:10.
Style Aggregation. Default Result by Day.
Skip empty / Show open / Skip on loss Same semantics as the daily block.


6 — REPORT TYPES EXPLAINED

Type Layout Best for
Detailed by Trade One row per ticket: symbol, direction, lots, pips, PnL, close reason. Daily reports for transparent signal channels.
By Pair One row per symbol with aggregated pips and PnL. Multi‑symbol portfolios where you want to see which instrument contributed most.
By Day One row per calendar day with the day's net result. Weekly and monthly reports.
Win/Lose Three counters: winning, losing, breakeven trades, plus win‑rate. Long‑period statistical recaps (monthly / quarterly).
By Magic One row per magic number (or alias from Magic names). Channels that broadcast multiple strategies in parallel and want to show each strategy's contribution separately.

Examples — weekly Win/Lose recap on the left, daily By‑Pair report (with open trades) on the right:

Weekly Win/Lose and Daily By Pair reports

If you hit a 400 Bad Request on long reports, the message has exceeded Telegram's 4096‑character limit — switch to a coarser type (By Day, Win/Lose) or narrow the date range.


7 — BIDIRECTIONAL UI ↔ INPUTS SYNC

From v6.09, the on‑chart panel and the MT4/MT5 input dialog stay in sync automatically.

  • Every UI change is persisted to MQL4\Files\SignalBridge_panel.set (or MQL5\Files\ ) within ~1 second via the EA timer.
  • The file uses the standard MetaTrader .set format and is valid as a regular preset.
  • For each key K , the EA also writes a companion line K.in=<input value at save time> . On reload it compares K.in with the current input value: if they match, the EA applies the saved UI value (the user only touched the panel); if they differ, the input wins (the user edited the Properties dialog and that change must take priority).
  • Booleans are serialised as true / false so the file Loads cleanly via MT4's standard Inputs → Load button.

Migrating a configuration to another terminal: copy SignalBridge_panel.set into MQL4\Presets\ (or MQL5\Presets\ ) of the target terminal, then open the EA Properties → Load → select the file. MT4/MT5 will silently ignore the K.in= companion lines.


8 — PERFORMANCE TIPS

  • VPS sizing: 8 GB RAM, quad‑core CPU, SSD, not over‑sold. The chart pipeline is the bottleneck.
  • Slow host? Set every Send Chart for … to After Signal msg or Don't send. The text signal will always go out in <1 s.
  • Process one message at a time is the safer default. Disable it only on real, dedicated hardware.
  • Keep the EA on a single chart per terminal. Multiple EA instances pointed at the same channel will produce duplicate messages.
  • Use BTCUSD (or any 24/7 instrument) as the host chart so the EA receives ticks at weekends and can still fire scheduled reports.


9 — ADVANCED INPUTS (CLASSIC PROPERTIES → INPUTS DIALOG ONLY)

These inputs are not on the on‑chart panel. They live only in the classic EA properties dialog. To open it: right‑click the chart → Expert Advisors → PropertiesInputs tab. Defaults are tuned for an average VPS — change them only if you have a specific reason.

Message timing

Input Default Description
messageDelay 0 Artificial delay (seconds, 0–60) added before sending every message. Useful when you want to give your manual copiers a head start before the channel is notified.
delayBetweenMessages 5 Minimum seconds between two consecutive Telegram messages. Protects against Telegram's 429 Too Many Requests rate limit. Increase if you broadcast bursty signals (HFT, scalping).
TickSilenceThreshold 5 If no tick is received for N seconds, the EA switches from tick‑driven to timer‑driven processing so it can still publish updates and scheduled reports. Critical on crypto charts during the weekend gap. 0 = feature disabled.

Chart pipeline timeouts — how long the EA waits at each step of the screenshot pipeline before declaring the step failed and skipping the screenshot. Increase every value on slow VPS.

Input Default Description
timeoutOpenChart 5 Max seconds to open a new temporary chart.
timeoutWaitStable 4 Max seconds to wait for the new chart to stabilise (first tick received, history loaded).
timeoutApplyTemplate 4 Max seconds to apply the chart template (.tpl).
timeoutTradeObjects 4 Max seconds to draw the SL/TP rectangles and the entry‑to‑close trend line.
timeoutScreenshot 4 Max seconds to capture the .png file via ChartScreenShot() .

Behaviour & housekeeping

Input Default Description
ForceCloseChart true Auto‑close the temporary chart after the screenshot, even on error. Set to false on very slow VPS where forced close stalls the terminal.
ScreenshotCleanupInterval 2 Interval (minutes) at which the EA removes old .png files from Files\ . Keeps the disk tidy on long‑running terminals.
ProcessMessagesSerially false If true, the EA processes one message at a time in sequence (safer, lower CPU usage). If false (default for high‑perf VPS), multiple events can be processed in parallel — ideal for HFT strategies sending many signals per second.

Panel & logging

Input Default Description
PanelPosition TOP_RIGHT Anchor of the on‑chart panel: TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT.
ShowMainSettingsonChart true Master switch for the entire on‑chart panel. Set to false if you prefer a clean chart and want to configure everything via the classic Inputs dialog.
CsvWriteIntervalSeconds 15 How often (seconds) the EA flushes its diagnostic CSV log to disk. Lower = more granular logs, higher disk I/O. Used mainly for support troubleshooting.


10 — TELEGRAM ERROR HANDLING

Signal Bridge inspects every response from the Telegram Bot API. To protect the bot from being banned, after two consecutive failures the EA stops sending new messages; you'll need to remove and reload the EA to resume.

Error / Status Meaning How to fix
400 Bad Request: chat not found Invalid Chat ID, or the bot is not a member/admin of the channel.
  • Check the Chat ID format. Plain numeric ( 1234567890 ) is fine; -1001234567890 also works — the EA normalises both.
  • Verify the bot was added to the channel as Administrator with Post Messages permission.
400 Bad Request: reply message not found The EA tried to reply to a message that no longer exists.
  • Signal Bridge replies to the first message of each trade thread. Don't delete the initial NEW message in the channel.
  • After two retries the EA sends the message without replying (no thread linkage).
400 Bad Request (other) Malformed payload, invalid HTML, or message too long.
  • Most common cause: the report exceeded 4096 characters. Switch to a coarser Report Type (By Day, By Pair, Win/Lose) or narrow the date range.
401 Unauthorized Bot token is wrong or revoked.
  • Re‑check the token in Filters → Token. Format: 123456789:AA… .
  • Generate a fresh token via @BotFather if in doubt.
403 Forbidden Bot is blocked or lacks permissions in the channel.
  • Make sure the bot is Administrator with Post Messages enabled.
  • For private chats, the user must have started a conversation with the bot at least once.
429 Too Many Requests Telegram rate‑limit hit.
  • Increase Min delay between messages in the EA inputs.
  • Avoid bursts: prefer the «send chart after signal» mode rather than packing chart + signal into a single multipart upload.
5xx Server Error
(500, 502, 503…)
Temporary Telegram server fault.
  • Wait a few minutes. The EA retries automatically up to two times.
  • Check Telegram's status if the issue persists.


11 — LINKS AND SUPPORT

Thanks for using Signal Bridge — happy trading!