Telegram to MT4/MT5 Copier: Frequently Asked Questions (FAQ) + Signal Examples & Quick Setup
How to use this article:
1) Skim the question list first.
2) Jump to the matching numbered answer below (Ctrl+F for “Q3”, “A3”, etc.).
1) Core copier logic (most important part)
The copier does not “guess” your signal. It parses it using keywords and rules from Inputs.
The 4 core blocks you must configure:
- Trade direction (BUY/SELL, LONG/SHORT, etc.)
- Entry price (Entry/Enter/Price/At, etc.)
- Stop Loss (SL/Stop Loss/stoploss, etc.)
- Take Profit (TP/Take Profit/target, etc.)
Recommendation: to avoid confusion, remove default keywords and keep only the ones your channel actually uses. Do the same for SL and TP.
Basic signal example:
BUY XAUUSD
Enter 4960
SL 4925
TP1 4970
TP2 4985
Minimum keyword setup:
- Direction: buy / sell (and your channel variants)
- Entry: enter or entry (keep it consistent)
- SL: sl / stop loss
- TP: tp / take profit
Note: Everything else (lot, risk, days, filters, trailing, breakeven, etc.) is money-management and does not define how the text is detected.
2) Question list
- Q1. Can “BUY NOW / SELL NOW” trigger instant market execution?
- Q2. Why does it open instantly if the signal contains an entry price (Enter 4960)?
- Q3. How do I copy multiple TP levels (TP1/TP2/TP3/TP4) correctly?
- Q4. Will it open multiple orders (one per TP)?
- Q5. What does “Number of TPs to copy = 0” mean?
- Q6. Does it support partial close / staggered exits based on TP levels?
- Q7. What do patterns like SL[X], TP[X], SL[X] -> mean?
- Q8. Do spaces after commas in keyword lists matter?
- Q9. Can I use one .set file across brokers with different symbol suffixes?
- Q10. What does “Invalid stops” mean?
- Q11. How should I attach logs so the issue can be reproduced?
- Q12. Why does it place pending orders instead of market orders (or vice versa)?
3) Answers
A1 (Q1). “BUY NOW / SELL NOW” = market.
Yes. Add “buy now”, “sell now”, “now” to your market/direction keywords (as intended in Inputs).
But do not put “now” into entry-price keywords (where the EA expects a number), otherwise it may confuse parsing.
A2 (Q2). Why market entry when Enter 4960 exists?
Many signals are contradictory: BUY NOW (market) plus Enter 4960 (pending price). In that case the EA follows its priority rules (often market).
If you want a pending order at 4960, remove “NOW/market” words from the signal format or configure Inputs so only Enter/Entry defines entry price.
A3 (Q3). Multiple TPs.
Each TP level must be clearly labeled with a TP keyword (TP/Take Profit/TP1/TP2...). Example: TP1 4970, TP2 4985, TP3 4997, TP4 5047.
If you provide multiple numbers without TP keywords, the EA may set a single TP or duplicate levels.
A4 (Q4). Multiple orders per TP.
If your configuration supports/enables “multi-order per TP”, then yes: it can open multiple trades and assign TP1/TP2/TP3… separately.
If that mode is disabled, it will open a single trade (and TP handling depends on your settings).
A5 (Q5). “Number of TPs to copy = 0”.
Typically this means “use default logic / copy all detected TPs” (implementation-dependent).
If your TPs are being set to the same price, set an explicit TP count (e.g., 4) and ensure every TP is labeled (see A3).
A6 (Q6). Partial close / staggered exits.
This depends on your chosen approach: (1) multiple trades (one TP each), (2) partial close commands, or (3) trade management mode (e.g., PerTPHit if available).
A7 (Q7). SL[X], TP[X], SL[X] -> etc.
These are parsing templates to support different message styles (same line, arrows, colons, etc.). If your signals are simple “SL 4925 / TP1 4970”, you usually only need basic keywords: sl, tp, stop loss, take profit.
A8 (Q8). Spaces after commas.
Usually not critical, but for consistency use one style (comma-separated keywords) exactly as described in the parameter help text.
A9 (Q9). Broker symbol suffixes.
Yes: XAUUSD vs XAUUSD. vs XAUUSD-SDT etc. Use Symbol Settings / suffix mapping so the same .set works across accounts.
A10 (Q10). “Invalid stops”.
This is a broker/server restriction: SL/TP too close to price, wrong side (e.g. SL above entry for BUY), StopLevel/FreezeLevel limits, spread issues. It is not a copier bug.
A11 (Q11). Attaching logs.
Attach logs as files (not screenshots): Experts + Journal for the exact time of the issue, the exact signal text, and your .set file.
A12 (Q12). Pending vs market behavior.
If the signal provides an entry price (Enter/Entry), the EA will normally place a pending order. If it includes NOW/market, it will open at market. Keep your signal format and your Inputs consistent and non-contradictory.
Final tip: Create a test Telegram channel and send 5–10 typical messages from your provider. This is the fastest way to lock down the correct 3–4 keywords with stable parsing.
Telegram → MT4/MT5 Copier: Signal Examples & Quick Setup (Examples Library)
How to use this article:
1) Find the example that matches your channel format.
2) Copy the keywords from the “Quick setup” section.
3) Create a test Telegram channel and send 3–5 messages in that format.
The 4 core parsing blocks
- Direction — BUY/SELL (or LONG/SHORT)
- Entry — entry price marker (Enter/Entry/@/at)
- Stop Loss — SL/Stop Loss
- Take Profit — TP/TP1/TP2…
Best practice: remove unnecessary default keywords and keep only the ones your channel actually uses. This avoids false detections.
Example 1 — Simple Market signal (no entry price)
XAUUSD BUY NOW SL 4925 TP 4970
Expected: open market order instantly, set SL and TP.
Quick setup:
- BuyKeywords: buy,buy now
- SellKeywords: sell,sell now
- StopLossKeywords: sl,stop loss
- TakeProfitKeywords: tp,take profit
Example 2 — Pending entry using Enter/Entry
BUY XAUUSD Enter 4960 SL 4925 TP 4970
Expected: place pending order at 4960 (if price is not there).
Quick setup:
- EntryPointKeywords: enter,entry,at,@
- Important: do not use “BUY NOW” in this format, otherwise it conflicts market vs pending.
Example 3 — Common mistake: “BUY NOW” + “Enter 4960” conflict
XAUUSD buy now Enter 4960 SL 4925 TP1 4970 TP2 4985
What happens: the EA may execute market due to “NOW”.
Fix: choose one style:
- Market style: remove “Enter 4960” (or don’t parse enter as entry)
- Pending style: remove “buy now / now” keywords
Example 4 — Multiple TPs (TP1/TP2/TP3/TP4)
BUY XAUUSD Enter 4960 SL 4925 TP1 4970 TP2 4985 TP3 4997 TP4 5047
Expected: EA detects 4 TP levels (behavior depends on TP slot mode).
Quick setup:
- TakeProfitKeywords: tp,tp@,t/p,tp[X] @
- Number of TPs to copy: 4 (if you use TP slots)
Example 5 — TPs in one line
BUY XAUUSD Enter 4960 SL 4925 TP1 4970, TP2 4985, TP3 4997, TP4 5047
Quick setup:
- AllTPInOneLine: true
- TakeProfitKeywords: tp,tp[X]
Example 6 — Entry range / zone
BUY XAUUSD Entry 4960-4955 SL 4925 TP1 4970 TP2 4985
Expected: EA uses First/Average/Second price depending on your range mode, or accepts only when price is inside the zone.
Quick setup:
- EntryRangeMode: First / Average / Second
- EntriesInZoneOnly: true (if you want “only inside zone” behavior)
Example 7 — Symbol with spaces (XAU USD)
XAU USD BUY NOW SL 4925 TP 4970
Issue: “XAU USD” is not “XAUUSD”.
Fix: add to Custom symbol matches:
XAU USD=XAUUSD
Example 8 — Broker symbol suffix (e.g., XAUUSD-VIP)
Signal: XAUUSD BUY
Broker symbol: XAUUSD-VIP
Fix: set BrokerSuffix = -VIP or map it:
XAUUSD=XAUUSD-VIP
Example 9 — “SL TO ENTRY” (breakeven) command from Telegram
SL TO ENTRY
Expected: move SL to entry (breakeven) if command is recognized.
Quick setup:
- EnableOrderProcessingCommands: true
- BreakevenKeywords: sl to entry,breakeven,move to breakeven
Example 10 — Partial close commands (CLOSE HALF / CLOSE PARTIAL)
CLOSE HALF
CLOSE PARTIAL
Expected: partial close (percent depends on settings).
Quick setup:
- CloseHalfKeywords: close half
- ClosePartialKeywords: close partial,partial close
- PartialClosePercent: e.g. 50 or 70
Example 11 — Cancel pending / cancel order
cancel order
cancel all pending
Quick setup:
- CancelOrderKeywords: cancel order,order canceled
- CancelAllPendingKeywords: cancel all pending
Example 12 — Updating SL/TP (reply vs no reply)
Option A (reply): reply to the original signal:
Update Stoploss 4930
Option B (no reply): possible only if the symbol is included and there is no ambiguity.
Quick setup:
- ModifyOrderKeywords: modify order,modify sl,modify tp,move sl,move tp
- Accept Keyword Modifications Without Quoting: enable only if you understand ambiguity risks
Final tip: 90% of “it doesn’t copy correctly” issues are solved by keeping only the keywords your channel actually uses and removing everything else from Entry/SL/TP keyword lists.


