Forwarding Telegram Signals to Trade Automatically
Long-press any signal message in a supported channel → Forward → pick @TvHub_Bot. The bot extracts symbol, direction, entry, stop loss, and take profits from the message, matches it against your Trade Settings, and fires the order on the configured exchange.
Signal forwarding is the fastest way to act on third-party signals without writing a single line of code or Pine Script. The bot does the parsing; your Trade Settings do the routing and sizing.
How forwarding works
The flow has four moving parts:
- You forward a message from a signal channel into the TVH bot chat.
- The bot parses the message: symbol, direction (LONG/SHORT), entry (single price or range), stop loss, take profit list.
- The bot matches a Trade Setting: most-specific Symbol + Channel filter wins; the default Trade Setting catches anything that no filtered setting claims.
- The bot fires the order through that Trade Setting's API key, applying its sizing, leverage, position mode, and DCA configuration.
The bot acknowledges the signal in chat with a single-line reply — <SYMBOL> trade detected. Executing signal.. — and then submits the order to the exchange. If parsing or routing fails, the bot returns the error message in the same chat instead (a Not able to parse the trade … string, the "Trade settings for Telegram are not found." message, or the exchange's error response).
Supported signal formats
The parser handles the standard structure used by most public signal channels:
#BTCUSDT LONG
Entry: 42,500 – 41,800
SL: 41,200
TP1: 43,500
TP2: 44,200
TP3: 45,800
It also tolerates several common variants:
- Single-price entry (no range) — DCA is automatically skipped for this signal.
- Symbol formats like
BTC/USDT,BTCUSDT,BTC-USDT— all normalized to the exchange's canonical pair. - Direction synonyms —
LONG/BUY/SHORT/SELL(the parser keeps these even when they're embedded in heavy emoji decoration). - Comma decimals —
0,01is read as0.01for non-US channels. - Multiple TPs —
TP1…TP10are all recognized. - Channel-specific overrides — some channels (e.g., "Trader signals EN") use a custom format the bot has a dedicated parser for.
If you forward a message and the bot replies Not able to parse the trade symbol (or direction, or entry), the channel is using a format we don't yet recognize — see Bot doesn't parse correctly below.
Step-by-step — your first forward
- Subscribe to a supported channel. Pick one from the overview page list and join in Telegram.
- Wait for a signal — most VIP channels post 1–5 signals per day. If you don't want to wait, scroll to a recent pinned sample message.
- Long-press the message (mobile) or right-click (desktop) → Forward.
- Pick
@TvHub_Botfrom your chat list as the destination. - Read the bot's acknowledgement. Within a couple of seconds, the bot prints a single-line confirmation:
BTCUSDT trade detected. Executing signal..
- Confirm execution. The order is submitted to the exchange in the background. The bot sends a trade-log message reporting the successful execution, or — if the exchange rejects it — the error string in the same chat. It does not stream later fills or SL/TP triggers (see Bot Commands → Notifications).
If no Trade Setting matches the signal (no filter hits and no default exists), the bot replies Trade settings for Telegram are not found. You must configure your settings on the website to use the trade bot. and does not execute.
Channel filter setup workflow
Forwarded messages don't expose the source channel name in their visible body — Telegram puts it in the message metadata (ForwardFromChat.Title). The bot reads that field automatically when matching against the Channel Filter on your Trade Settings, but you need to know the exact string to type into the filter field on the website.
The reliable way to find it:
- Open the source channel in Telegram. The channel name shown at the top of the chat — directly under the avatar — is the value Telegram stores in
ForwardFromChat.Title. - Copy that exact name. Match capitalization, spacing, and any special characters (some channels include emoji or trademark symbols in their title — those count).
- Paste it into the Channel Filter on a Trade Setting.
- Forward one message from that channel into the bot to verify routing. If you have a default Trade Setting and the filtered one, watch which API key gets used (e.g., compare the exchange of the resulting trade in your TVH activity log).
If the filter doesn't catch a forward, the title string in the filter doesn't match exactly — re-check casing and trailing whitespace. Filter matching is case-insensitive but otherwise exact.
This setup is one-shot per channel. Once configured, every signal from that channel auto-routes to the right Trade Setting.
What if the bot doesn't parse correctly?
The bot returns one of these errors when it can't extract a field:
| Bot reply | Likely cause |
|---|---|
Not able to parse the trade symbol | New pair format, missing pair, or symbol embedded in a sentence the parser can't isolate. |
Not able to parse the trade direction | Both LONG and SHORT keywords present, or neither. Often happens when the channel uses non-English words for direction. |
Not able to parse the trade entry | No Entry: keyword and no LONG/BUY/SHORT/SELL line near the top. |
Not able to parse the trade stop loss | No recognizable SL: / Stop: line, or the stop value sits in a layout the parser can't isolate. |
If you hit any of these:
- Copy the raw forwarded message (long-press → Copy on the bot's chat).
- Open a support ticket and paste it in.
- Mention which channel it came from.
We add parser support for new formats regularly — it's usually a one-day turnaround.
Forwarding multiple signals at once
Telegram lets you select multiple messages in a channel (tap one, then tap others in selection mode) and forward them in a single batch. The bot processes each message independently:
- Each is parsed in arrival order.
- Each runs its own Symbol/Channel filter match.
- Each executes (or errors) separately — one bad signal in the batch does not block the others.
This is handy when a channel posts an "open positions" digest and you want to backfill several trades at once.
Privacy when forwarding
A few things to know about forwarded message metadata:
- The forwarded message carries the original sender's profile, but only inside your own chats — Telegram does not notify the original channel that you forwarded.
- The bot parses only the visible signal data (symbol, direction, entry, SL, TPs, channel name). It does not store, broadcast, or share the message body.
- If you forward a paid VIP signal that the channel admin has marked non-forwardable, Telegram itself blocks the forward — the message will not arrive in the bot chat at all. Use copy-and-paste in that case (the parser handles raw pasted text identically).
- Your TVH activity log shows the executed trade but not the message contents.
Next
Use the bot to manage open positions → Bot Commands.