Telegram Trade Settings — Sizing, Filters, Routing
A Trade Setting is a saved profile that tells the bot how to execute a forwarded signal: which exchange API key, what size, what leverage, whether to use DCA, and (optionally) which Symbol or Channel to react to. You can have many Trade Settings — exactly one is the default (no filters); every other one must have at least a Symbol filter or Channel filter. When multiple settings could match a signal, the most-specific filter wins.
The Telegram bot uses Trade Settings the same way TradingView alerts use the TradeCommand JSON — it is the routing and sizing layer between "raw signal" and "executed order".
Where to configure
In TVH: Account → Telegram Trading. Click Add Trade Setting to create one, or edit an existing entry.
You can also reach the same page from the Telegram Bot section of Account → Settings.
Default vs filtered settings
The bot enforces one simple rule:
- Exactly one Trade Setting may have no filters. This is your default — it fires for any signal that no other setting claims.
- Every additional Trade Setting must have at least a Symbol Filter, a Channel Filter, or both.
If you only follow one signal channel and want every signal to size identically, a single default is enough. Add filtered settings only when you want different routing per symbol or per provider.
API Key
Pick which exchange API key the bot will use to fire trades for this setting.
The Telegram bot currently supports four exchange targets:
| Target | Use it for |
|---|---|
| Bybit | Live trading on Bybit (USDT Perpetual + Inverse contracts) |
| Bybit Testnet | Paper trading on Bybit's testnet — same code path, fake money |
| Binance Futures | Live trading on Binance Futures (USDT-M Perpetual) |
| Binance Futures Testnet | Paper trading on Binance's testnet |
TradingView webhooks and the Chrome Extension support a much wider exchange list (OKX, KuCoin, Coinbase, BitMEX, Hyperliquid, etc.). The Telegram bot is intentionally narrowed to the two exchanges where signal forwarding has the highest user volume. See Supported Exchanges for the full matrix.
If the API key you want is not listed in the dropdown, add it on the API Keys page first — see Account & API Keys.
Trade Size — five modes
Pick one of five sizing modes. The bot will compute the actual order quantity at the moment the signal is received.
| Mode | What it means | Example |
|---|---|---|
| Quote (USD) | Fixed dollar amount per trade | 200 → $200 of BTC per entry |
| Base | Fixed amount of the base coin | 0.01 → 0.01 BTC per entry |
| Percent (Available Balance) | % of your free (unallocated) margin | 5 → 5% of free margin per entry |
| Percent (Wallet) | % of total wallet, including locked margin | 5 → 5% of total wallet. Caution: using ≥100% across multiple open positions will cause subsequent trades to fail with "insufficient margin". |
| Risk % | % of capital risked per trade. Requires a Stop Loss in the signal. Position size is computed from entry-to-SL distance. | 1 → if SL hits, lose 1% of capital |
Risk % is mathematically the soundest mode — your maximum loss is constant regardless of how tight or wide the signal's stop loss is. A common professional standard is 0.5%–2% per trade. The same logic and field rules apply as the risk sizing mode in TradeCommand.
Leverage and Position Mode (Futures)
Set leverage from 1× up to the exchange's per-pair cap (typically 50–125× on Bybit/Binance). The bot applies the leverage value before placing the entry order, so make sure your account isn't already in a position on the same symbol with a different leverage — most exchanges block the change.
Position Mode:
- Isolated. Loss is capped at the margin allocated to this position. Liquidation only affects this position.
- Cross. Loss can draw from the entire wallet. Higher capital efficiency, but a bad trade can liquidate other positions.
For signal-driven trading we recommend Isolated — it keeps each forwarded signal's risk contained to its own ledger.
DCA (Order-Mesh)
Enable Use DCA when the signal channel publishes an entry range instead of a single price (e.g. "Entry: 42,000 – 41,500"). The bot splits your sizing across multiple limit orders inside the range so you average into the position.
- DCA Order Count = the number of additional DCA orders (so the total order count is
1 + DcaOrderCount). - Order sizes are split evenly across all orders.
- Example: you want 5 orders total → set DCA Order Count to 4. The bot places 1 entry + 4 limit orders spaced across the entry range.
If you disable DCA, the bot fires a single order at the first entry price in the signal.
Same primitive as the useDca: true flag in the TradeCommand JSON — see that page for the full ordering and timing semantics.
Symbol Filter
A single trading pair (exact match, case-insensitive) this Trade Setting should fire on:
BTCUSDT
The setting will be considered for a forwarded signal only if the parsed symbol matches this value exactly. Use this to apply different leverage or sizing per asset — e.g., 5× leverage on BTC, 2× on ETH.
The Symbol Filter is an exact-match field, not a comma-separated list. To route multiple symbols, create one Trade Setting per symbol (each with the appropriate Symbol Filter). Anything not covered by a filtered setting falls through to your default.
Channel Filter
A single channel name (exact match, case-insensitive). The setting fires only when the forwarded message originated from that channel:
Binance Killers VIP Channel
The channel name comes from Telegram's ForwardFromChat.Title metadata on the forwarded message — it is the channel's displayed header name. To find the exact string to use, open the source channel in Telegram and read the title at the top of the chat; copy that verbatim into the filter.
Use this to route signals from different providers to different API keys — see Routing logic below. As with the Symbol Filter, this is one channel per Trade Setting; create separate Trade Settings if you want to route from multiple channels.
Combining Symbol + Channel filters
If you set both filters on the same Trade Setting, both must match (AND logic):
Symbol: BTCUSDTChannel: FRI VIP
→ this setting only fires when the signal is from FRI VIP and is for BTCUSDT.
Typical use case: "execute BTC signals from FRI on Binance, but BTC signals from Killers on Bybit" — that needs two Trade Settings, each with both filters set.
Broadcast Trade
The Broadcast Signal dropdown lets you publish trades fired by this Trade Setting to TVH's copy-trading system. Pick one of your Signal Sources and every signal the bot executes through this Trade Setting will also fan out to your followers.
This is how signal providers monetize a Telegram forwarding workflow: subscribe to a paid VIP channel yourself, forward signals into TVH, broadcast them on your own signal source, and your followers mirror automatically. See Broadcast a Signal for the broadcasting contract and what followers can override.
Routing logic — when multiple settings match
When a signal arrives, the bot picks the most specific matching Trade Setting, in this priority order:
- Symbol filter + Channel filter both match (most specific) — wins
- Symbol filter matches (channel filter empty)
- Channel filter matches (symbol filter empty)
- Default Trade Setting (no filters) — fallback
If nothing matches and there is no default, 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.
Telegram-forwarded signals do not carry an alertTimestamp the way TradingView alerts do — the bot relies on its own idempotency logic (one trade per message, message IDs deduplicated server-side) to prevent double-execution. The general idempotency primitives are documented in Timing and Idempotency.
Common configurations
Single setting (simplest)
One default Trade Setting, no filters. Every forwarded signal uses the same API key, size, and leverage. Good for users following one channel on one exchange.
Risk-tiered
- Default: 1% risk per trade.
- Filtered setting for BTC: same API key, 2% risk — accept higher risk on the largest cap.
Default → unitsType: risk, unitsPercent: 1
BTC setting → unitsType: risk, unitsPercent: 2, symbolFilter: BTCUSDT
To extend the same idea to ETH, add a second filtered Trade Setting with symbolFilter: ETHUSDT — one Trade Setting per symbol.
Multi-exchange routing
- Setting A: Binance Futures API key, channel filter =
FRI VIP. - Setting B: Bybit API key, channel filter =
Binance Killers. - Setting C (default): Binance Futures API key, 0.5% risk — for everything else.
This lets one Telegram chat drive trades on two different exchanges concurrently.
Provider broadcast
- Default Trade Setting: your own VIP-subscribed API key, 1% risk, Broadcast Signal = your "Crypto Signals" source.
Every forwarded signal you receive is executed on your account and broadcast to your TVH followers.
Next
Forward your first signal → Signal Forwarding.