SignalForge v2.0 Complete User Manual - Discord Telegram Signal Copier for MT5
1. Installation
- Download the .ex5 file from MQL5 Market
- It is automatically placed in MQL5\Experts\Market\
- Open MetaTrader 5
- In the Navigator panel ( Ctrl+N ), find SignalForge under "Expert Advisors"
- Drag it onto any chart (timeframe and symbol do not matter)
- In the popup, check "Allow Algo Trading"
- Go to Tools → Options → Expert Advisors
Add these URLs to the WebRequest list:
| URL | Required for |
|---|---|
| https://discord.com | Discord signals |
| https://api.telegram.org | Telegram signals + notifications |
| https://generativelanguage.googleapis.com | Gemini AI (optional) |
| https://api.openai.com | OpenAI (optional) |
| https://api.deepseek.com | DeepSeek (optional) |
| https://api.x.ai | Grok (optional) |
2. Discord Setup
🤖 Bot Token Recommended
For servers you own or where you can invite a bot:
- Go to discord.com/developers/applications
- Create New Application → Bot → Copy Token
- Enable "Message Content Intent" under Bot settings
- Invite the bot to your server with "Read Messages" permission
- In EA settings: paste token in "Bot Token" field
- Right-click the Discord channel → Copy Channel ID
- Paste in "Bot Channel IDs"
👤 User Token
For servers where you cannot add a bot:
- Open Discord in a web browser (not the app)
- Press F12 → Network tab
- Click anywhere in Discord
- Find any request → Headers → look for "Authorization:"
- Copy the value
- In EA settings: paste in "User Token" field
- Add channel IDs in "User Token Channel IDs"
Multiple channels: separate IDs with commas:
123456789,987654321,555666777
3. Telegram Setup
- Open Telegram → search for @BotFather
- Send /newbot → follow instructions → copy the Bot Token
- Add your bot to the signal channel or group
- In EA settings: Enable Telegram → paste Bot Token
Finding Chat IDs
- Forward a message from the channel to @userinfobot
- Or open: https://api.telegram.org/bot[TOKEN]/getUpdates
- Group IDs are negative numbers (e.g. -1001234567890 )
4. File Signals & TradingView
📄 File Signals
Any external tool can send trades by writing to a text file:
- Enable "File-based signals" = true
- Default path: SignalForge\signals.txt (in MT5 Common folder)
- The EA reads the file every 1 second and clears it after processing
Signal Format Examples
Buy XAUUSD 4750 SL:4720 TP:4800 Sell EURUSD 1.0950 SL:1.0980 TP:1.0900 Buy XAUUSD market SL:100 pips TP:200 pips
📺 TradingView Integration
A free Python bridge script is available in the product comments.
- Install Python from python.org
- Run: pip install flask
- Run: python tv_bridge.py
- The script starts a local web server on port 5000
- For TradingView webhooks, use ngrok for a public URL
- In TradingView: Create Alert → Webhook URL → paste ngrok URL + /signal
Alert message example: Buy {{ticker}} {{close}} SL:{{plot_0}} TP:{{plot_1}}
Common Folder Location:
C:\Users\[NAME]\AppData\Roaming\MetaQuotes\Terminal\Common\Files\SignalForge\
5. Local Trade Copier
Copy trades between terminals on the same PC or VPS. Under 1 second latency.
| Direction | Sender EA | Receiver EA |
|---|---|---|
| MT5 → MT5 | SignalForge (Mode: Sender) | SignalForge (Mode: Receiver) |
| MT5 → MT4 | SignalForge (Mode: Sender) | MT4 EA (Mode: Receiver) |
| MT4 → MT5 | MT4 EA (Mode: Sender) | SignalForge (Mode: Receiver) |
| MT4 → MT4 | MT4 EA (Mode: Sender) | MT4 EA (Mode: Receiver) |
Sender Setup
- Copier mode = 1 (Sender)
- Sender ID = any name (e.g. SF1 ) — must match on Receiver
- Optional: filter by magic number or symbol
Receiver Setup
- Copier mode = 2 (Receiver)
- Sender ID = same as Sender
- Lot multiplier: 1.0 = same, 0.5 = half, 2.0 = double
- Copy existing = false (skip trades already open when EA starts)
6. AI Parser
Handles complex, natural language signals that the regex parser cannot understand.
Example signals the AI can parse
"Gold looking great here, entered long around 4720, risking 30 dollars targeting 4800" "I'm buying NAS at market, stop 150 pips, target 300 pips"
How it works
- The regex parser tries first (instant, no API call)
- Only if regex fails, the AI is called
- 60-second cooldown between AI calls
| Provider | Setting | WebRequest URL | Cost |
|---|---|---|---|
| Gemini | gemini | generativelanguage.googleapis.com | Free |
| OpenAI | openai | api.openai.com | ~$0.001/call |
| DeepSeek | deepseek | api.deepseek.com | ~$0.001/call |
| Grok | grok | api.x.ai | ~$0.002/call |
7. Trade Management
All features work on groups: same symbol + same direction = one group.
⚖ Breakeven
| Setting | Description |
|---|---|
| Trigger (pips) | When profit reaches this, SL moves to entry |
| Offset | Pips above entry (0 = exact entry price) |
📈 Trailing Stop
| Setting | Description |
|---|---|
| Start (pips) | Trailing begins when profit exceeds this |
| Distance (pips) | SL stays this far from current price |
| Step (pips) | SL only moves when price moves at least this much |
➕ Add-On (Average Down)
- When price moves against you by X pips, a new trade opens
- Max add-ons per group (2 = max 3 positions total)
- Separate distance for Forex / Gold / Indices / Crypto
- All positions share the same SL
- If one hits SL → ALL positions in the group close
✂ Partial Close
- Close X% of position when profit reaches trigger
- Optionally move SL to breakeven after
- Per-position (not group)
🎯 Multiple Take Profits
Parses TP1/TP2/TP3 from signal text and opens separate positions:
Buy XAUUSD 4750 SL:4720 TP1:4780 TP2:4810 TP3:4850
Splits the lot: 50% at TP1, 30% at TP2, 20% at TP3 (configurable)
8. Prop Firm Guard
| Setting | What it does |
|---|---|
| Max daily loss (USD) | Closes all trades when daily loss exceeds this |
| Max daily DD % | Same but as percentage of balance |
| Daily profit target | Closes all and stops when profit target reached |
| Max total DD (USD) | Hard stop from initial balance |
| Max spread (pips) | Skips signals when spread too high |
"Only manage own trades" setting
| Value | Behavior when DD triggered |
|---|---|
| true (default) | Only closes SignalForge trades |
| false | Closes ALL trades on the account Recommended for prop firms |
Recommended Prop Firm Settings
| Account | Max Daily Loss | Max Total DD |
|---|---|---|
| FTMO $100K | $5,000 | $10,000 |
| FTMO $200K | $10,000 | $20,000 |
| 5%ers $100K | $4,000 | $6,000 |
After triggering: trading is paused until midnight. Dashboard shows "PAUSED" with the reason.
9. News Filter
Uses the built-in MQL5 Economic Calendar — no external data needed.
| Setting | Description |
|---|---|
| Block before (min) | Stop new trades X minutes before news |
| Block after (min) | Stop new trades X minutes after news |
| Impact level | 1=Low, 2=Medium, 3=High only |
| Close before news | Close affected trades X minutes before |
| Smart currency filter | Only block affected pairs |
Smart Currency Filter
When enabled, USD news only blocks USD-related pairs:
| USD News → | Status |
|---|---|
| XAUUSD, EURUSD, US30, NAS100 | BLOCKED |
| GBPJPY, EURGBP, GER40 | OPEN |
News Freeze Mode
During the news window, the EA completely freezes:
- No new trades opened
- No trades closed
- No SL/TP modifications
- No breakeven, trailing, or add-on
Dashboard Countdown Colors
| Color | Meaning |
|---|---|
| Grey | More than 4 hours away |
| Amber | Less than 1 hour |
| Red | Inside freeze window |
10. Dashboard
Real-time information panel with clickable toggle buttons.
Display Fields
- Sources: active signal sources (Discord, TG, File, Sender, Receiver)
- AI Parser: configured AI provider
- Copier: Sender/Receiver status with ID
- Scan: polling interval (click to cycle: 3s → 5s → 10s → 15s → 30s → 60s)
- Trades: open / maximum allowed
- Win/Loss: daily win rate with percentage
- Daily P&L: real-time, updates every tick
- Drawdown: current DD vs limit with colored bar
- News: next 3 high-impact events with countdown
Toggle Buttons
Click to enable/disable instantly — no restart needed:
BE Trail Partial AddOn News MultiTP DD Guard Reverse
Minimize
Click minimize to collapse to a single line: LIVE · 4 Trades · +USD 247.80
11. Symbol Mapping
Auto-Detection
The EA recognizes 50+ symbol names and aliases:
| Signal says | EA detects |
|---|---|
| "Gold", "XAU", "XAUUSD" | XAUUSD |
| "NAS", "NAS100", "NASDAQ", "US100" | NAS100 |
| "Dow", "US30", "DJ30" | US30 |
| "BTC", "Bitcoin" | BTCUSD |
Manual Mapping
If your broker uses non-standard names, use the 14 mapping fields:
Nasdaq (NAS100) → USTEC Gold (XAUUSD) → GOLD.cash Dow Jones (US30) → WallStreet30
Custom Mapping
For symbols not in the list:
NDX=USTEC.cash,GOLDUST=XAU_USD.raw
12. Notifications
| Method | Setup |
|---|---|
| Telegram | Enter Bot Token + Chat ID in Notifications settings |
| MT5 Push | Tools → Options → Notifications → MetaQuotes ID |
| Tools → Options → Email → configure SMTP |
Signal Forwarding
Forward all received signals to your own Telegram channel. Useful for logging and monitoring.
Trade Journal CSV
Auto-saves all trades to a daily CSV file:
Common\Files\SignalForge\Journal_YYYYMMDD.csv
Columns: Date, Time, Action, Symbol, Direction, Price, SL, TP, Lot, Source, Balance, Equity
13. MT4 EA Setup
The free MT4 EA is a trade copier only (Sender + Receiver). It does NOT parse signals — that's the MT5 EA's job.
Getting the MT4 EA
Send a message after purchasing SignalForge on MQL5 Market.
Installation
- Place SignalForge_MT4.mq4 in MQL4\Experts\
- Compile in MetaEditor (F7)
- Drag onto any chart
Symbol Mapping (MT4)
Comma-separated format:
US30=.us30cash,XAUUSD=XAUUSDm,NAS100=.nas100cash
14. Troubleshooting
EA does not start
- Tools → Options → Expert Advisors → "Allow Algo Trading" must be checked
- The EA must show a smiley face on the chart (not a frown)
- "AutoTrading" button in toolbar must be ON (green)
No Discord signals
- discord.com must be in WebRequest allowed URLs
- Token and Channel IDs must be in the correct fields (Bot vs User)
- Bot needs "Read Messages" + "Message Content Intent" enabled
No Telegram signals
- api.telegram.org must be in WebRequest allowed URLs
- Bot must be added to the channel/group
- Check Expert tab for "Telegram connected" message
Trade not placed
- Signal needs SL and TP (or set Default SL/TP in settings)
- Max trades limit may be reached
- Symbol may not exist on your broker (check Symbol Mapping)
- Spread may exceed Max Spread limit
- May be in News Freeze window
Copier not working
- Sender ID must match on both sides
- Both terminals must be on the same PC (shared Common folder)
- Sender = mode 1, Receiver = mode 2
- MT4 EA must show "Licensed" in Expert tab
MT4 "License not found"
- SignalForge MT5 must be running — it creates the license file
- Both MT4 and MT5 must share the same Common folder
15. FAQ
Can I run SignalForge on multiple charts?
You only need one instance per account. It trades all symbols regardless of chart.
Does it work on VPS?
Yes. Install MT5, configure the EA, leave it running.
What happens if internet disconnects?
The EA resumes when connection returns. Open trades are protected by broker-side SL/TP.
How fast does it copy?
| Source | Speed |
|---|---|
| Discord / Telegram | Depends on scan interval (default 10s) |
| Local Copier | Under 1 second |
| File Signals | Under 1 second |
Does DD Protection monitor the whole account?
Yes — all trades, all EAs, manual trades, everything. Set Only manage own trades = false for prop firms.
SignalForge v2.0 — For support, use the MQL5 product comments or send a direct message.


