Signal Parsing Cheat Sheet
10 real Telegram and Discord signal formats — and exactly how AI extracts every field from each one. Bookmark this. You'll come back to it.
Why signal parsing is hard
Every Telegram channel writes signals differently. Some use crisp JSON, some bury entries in three lines of emojis, some post screenshots, some write in Arabic right-to-left, some give you a price range, others a stop in pips not pip-counts. Hard-coded regex parsers break on the first edge case.
TradeJournal Pro's parser is built on Claude — the same model that understands code, contracts, and natural language. It reads context, infers direction from price relationships (e.g. if SL is above entry, it must be a SELL), normalises broker symbols, and assigns a confidence score so low-confidence signals never auto-execute. Below are 10 real-world examples.
English 🇺🇸
Source: Gold Signals VIP
Raw signal
🎯 XAUUSD BUY NOW!!! Enter between 2340-2345 SL below 2330 TP1=2355, TP2=2365 TP3 2380 🚀🚀
AI-extracted fields
Why it works: Range entry (2340-2345) → midpoint chosen automatically. SL prefix 'below' is direction-aware. Emoji noise stripped.
Arabic (RTL) 🇸🇦
Source: إشارات الذهب
Raw signal
بيع الذهب دخول: 2340 وقف خسارة: 2355 هدف 1: 2325 هدف 2: 2310
AI-extracted fields
Why it works: Right-to-left parsing, Arabic keywords (بيع = sell, دخول = entry, هدف = target). Direction validated by SL > entry.
Image/OCR 📸
Source: Pro FX Alerts
Raw signal
[Screenshot of broker terminal] GBP/JPY SELL 196.45 | SL 195.80 TP1 197.20 TP2 198.00 Risk: 1%
AI-extracted fields
Why it works: Direction mismatch (SELL but TPs are higher) auto-flagged → AI assumes a 'reverse' channel and re-confirms with the operator.
Russian 🇷🇺
Source: Forex Сигналы
Raw signal
EURUSD Покупка от 1.0825 Стоп: 1.0795 Цели: 1.0850 / 1.0875 / 1.0910
AI-extracted fields
Why it works: Cyrillic keywords: Покупка = Buy, Стоп = Stop, Цели = Targets. Multiple TPs separated by ' / '.
Emoji-heavy 🎯
Source: Crypto Wave
Raw signal
⚡⚡ BTC LONG ⚡⚡ 🟢 ENTRY: 67200 🔴 SL: 66400 🎯 TP1: 67800 🎯 TP2: 68500 🎯 TP3: 69500
AI-extracted fields
Why it works: 'LONG' interpreted as BUY. Colored circle emojis ignored. Crypto pair normalised (BTC → BTC/USD).
Turkish 🇹🇷
Source: Altın Sinyalleri
Raw signal
ALTIN SAT Giriş 2342 Zararı durdur 2358 Kar al 1: 2326 Kar al 2: 2310
AI-extracted fields
Why it works: ALTIN = Gold, SAT = Sell, Giriş = Entry. Verified by SL > entry (sell setup).
Range entry 📏
Source: FX Masters
Raw signal
USDJPY Buy zone: 154.80 - 155.20 Invalidation: 154.40 Targets: 1) 155.80 2) 156.50
AI-extracted fields
Why it works: 'Buy zone' parsed as range, midpoint used. 'Invalidation' synonym for SL. Numbered list TPs.
Pips-based SL 🧮
Source: Pip Hunter
Raw signal
GBPUSD SELL Entry: 1.2680 SL: 25 pips TP: 50 pips, 75 pips, 100 pips
AI-extracted fields
Why it works: Pips converted to absolute prices using GBPUSD's 4-decimal pip = 0.0001. Direction-aware: SL above for SELL, TPs below.
Conditional 🔀
Source: Smart Signals
Raw signal
EURUSD: Wait for break above 1.0850 Then BUY with SL at 1.0820 Targets 1.0890, 1.0920
AI-extracted fields
Why it works: Pending order detected ('wait for break'). Becomes a STOP order at 1.0850 — only fires if price actually breaks.
TradingView JSON 📊
Source: TV Webhook
Raw signal
{
"ticker": "NASDAQ:NQ1!",
"action": "buy",
"price": "18540.5",
"sl": "18495.0",
"tp": "18620.0"
}AI-extracted fields
Why it works: TradingView ticker NQ1! mapped to broker symbol NAS100 via instrument catalogue. JSON structured → highest confidence.
Common parsing pitfalls
Direction mismatch — Signal says BUY but the TPs are below the entry. Almost certainly a 'reverse' channel — flip the direction at the channel-config level rather than per-signal.
Pips vs absolute SL — If the channel mostly posts pip-based stops (e.g. 'SL: 25 pips'), enable 'SL in pips' in the channel settings so 25 becomes 0.0025 on EURUSD, not literal 25.0000.
Range entries — When entry is a range (2340-2345), the parser uses the midpoint. If you'd rather use the favourable edge, set a per-channel 'entry adjust pips' offset.
Multiple symbol names — A channel might say 'GOLD', 'XAU', 'XAUUSD', or 'AU' — all map to XAU/USD. The instrument catalogue handles aliases automatically.
Forwarded messages — Re-shared signals from other channels often arrive with extra header noise. Enable 'Skip forwarded' if you only want native posts from the channel you've subscribed to.
Old signals replayed — Some channels repost yesterday's setup as a 'recap'. The parser tags messages older than 5 minutes as 'stale' and you can skip them automatically.
Try the parser yourself
Connect a Telegram channel in 60 seconds. Watch real signals get parsed and executed live. No credit card needed.
TradeJournal Pro · tradejournalpro.net · © 2026