DOCUMENTATION · STARTER PLAN · v2.4

SignalForge Docs.

Everything you need to connect TradingView to MetaTrader 5 and start automating your trades. This guide covers the Starter Plan — the fastest way to get started for just $4.99/mo.

SETUP TIME · ~5 min LAST UPDATED · May 2026 FOR · Starter plan

Requirements

Before you start, make sure you have the following:

ItemRequiredNotes
MetaTrader 5YesFree download from your broker
MT5 broker accountYesDemo or live · any broker works
TradingView accountYesPaid plan for webhook alerts ($12.95/mo+)
SignalForge subscriptionYesStarter — $4.99/mo
VPSOptionalRequired only for 24/7 trading
Coding knowledgeNoCopy-paste only

1Create your account1 min

Go to signalforge-ai.com and choose the Starter Plan ($4.99/mo). Click the subscribe button and complete the Stripe checkout.

You'll receive an email with:

  • Your personal webhook token
  • The download link for the Expert Advisor file
  • The webhook URL to use in TradingView
Welcome email

Check your inbox (and spam folder). The email arrives within 30 seconds of checkout. If it doesn't, email [email protected] — I read every message myself.

Manage your plan from the dashboard

Once subscribed, you can upgrade, downgrade or cancel anytime from dashboard.signalforge-ai.com — billing, payment method and plan changes are all handled there.

2Your webhook token30s

Your webhook token looks something like this:

1a2b3c4d5e6f7890abcdef1234567890

This token is what links your TradingView alerts to your MetaTrader 5 EA. Keep it private — anyone with this token can send signals to your account.

Your full webhook URL combines the SignalForge server with your token:

https://api.signalforge-ai.com/wh/YOUR_TOKEN
!
Security

Never share your webhook URL or token publicly. If you suspect it's leaked, regenerate it from your dashboard. The old token will stop working immediately.

3Install the Expert Advisor90s

3.1 Download the EA

Download the SignalForgeEA_Starter.ex5 file from the link in your welcome email.

3.2 Open the Experts folder

In MetaTrader 5, go to File → Open Data Folder. Navigate to MQL5 → Experts. This is where MT5 stores Expert Advisors.

3.3 Copy the EA file

Copy SignalForgeEA_Starter.ex5 into the Experts folder.

3.4 Attach to a chart

Back in MetaTrader 5:

  1. Open any chart (any symbol — the EA can trade any pair)
  2. Open the Navigator panel (Ctrl+N) and find SignalForgeEA_Starter under Expert Advisors
  3. Drag it onto the chart — a properties window opens
  4. Configure the inputs (see Step 4.4 below) and click OK

4Configure MetaTrader 560s

4.1 Allow algo trading

Go to Tools → Options → Expert Advisors tab. Enable:

  • Allow algorithmic trading
  • Allow WebRequest for listed URL

4.2 Add the WebRequest URL

In the same dialog, click Add (or double-click the empty field) and paste:

https://api.signalforge-ai.com

4.3 Enable AutoTrading

In the MT5 toolbar, click the AutoTrading button so it turns green. If it's red, the EA shows "AUTOTRADING OFF" and won't execute trades.

4.4 Enter your token

When attaching the EA to the chart, a properties window appears. Go to the Inputs tab and paste your webhook token into the WebhookToken field. Click OK.

i
Tip

If the EA shows a sad face icon (☹) on the chart corner, AutoTrading isn't enabled. Click the toolbar button to fix it.

5Create a TradingView alert90s

5.1 Open the alert dialog

In TradingView, open any chart. Click the Alert button (clock icon) or press Alt+A.

5.2 Set the condition

Choose your indicator or strategy condition. For a quick test, you can use a simple crossing condition (e.g., EMA 9 crossing EMA 21).

5.3 Enable webhook

In the Notifications tab, check "Webhook URL" and paste your full webhook URL:

https://api.signalforge-ai.com/wh/YOUR_TOKEN

5.4 Write the alert message

In the Message field, paste the JSON payload. For a simple BUY:

{
  "action": "buy",
  "symbol": "EURUSD",
  "lot": 0.01,
  "sl": 50,
  "tp": 100
}

5.5 Save the alert

Click Create. The alert is now active. When it triggers, TradingView sends the JSON to your webhook URL, the server queues it, and the EA picks it up within 1-2 seconds.

6Test your first signal30s

The fastest way to test is to create a manual alert that fires immediately:

  1. In TradingView, open any chart (e.g., EURUSD)
  2. Create an alert with condition "Once per bar" and any always-true condition (e.g., "Close greater than 0")
  3. Paste the BUY JSON above with a tiny lot size (0.01)
  4. Click Create — the alert fires immediately
  5. Switch to MetaTrader 5 — within 1–2 seconds you should see a 0.01 lot BUY position open on EURUSD
Success

If you see the trade open in MT5, your bridge is working. The EA panel will also show the signal count incrementing.

Telegram alerts

SignalForge can send a Telegram message every time the EA acts — trade opened, closed, breakeven, Shield action, news pause and more. This is outbound only: it notifies you about your own trades. Your signals still come from TradingView — Telegram is not a signal source.

It is set up entirely from the dashboard; you don't change anything in the EA. Just keep the EA connected so it has trades to report.

i
Where to set it up

Open dashboard → Protection → Telegram. A built-in Quick Start panel walks you through it. Telegram alerts are included on the plans that list them — see the plan comparison.

Set up in 4 steps

  1. Create a bot with @BotFather and copy its bot token.
  2. Get your Chat ID: send your new bot any message, then open @userinfobot — it replies with a number like 8157815762. Shortcut: send your bot /start and click Auto-link in the dashboard to detect it automatically.
  3. Connect: paste the bot token and Chat ID into the Connection section and click Send test message — you should receive it in your chat.
  4. Pick events: under Per-event notifications, toggle the ones you want and customize each message template.

Broadcast to a public channel

Want to publish your trades to your own channel instead of a private chat? Turn on Channel mode: it hides your account number and adds pip distances, R:R ratio and your channel signature. Set the Chat ID to your channel — channel IDs start with -100 (e.g. -1001234567890).

!
No message arriving?

Check that you messaged your bot first (a bot can't write to you until you do), that AutoTrading is on so the EA is connected, and that the Chat ID matches the destination. The dashboard shows an inline error if the last send failed.

{ }Webhook syntax reference

All webhook messages use JSON format. Here is the full list of supported fields:

FieldTypeRequiredDescription
actionstringYesbuy · sell · close · closeall
sidestringOptionalbuy · sell · used with action: "close" to close only longs or shorts
symbolstringYes*e.g. EURUSD, BTCUSD, XAUUSD
lotnumberOptionalLot size · defaults to DefaultLots input
slnumberOptionalStop loss in pips
tpnumberOptionalTake profit in pips
commentstringOptionalOrder comment (visible in MT5)
magicnumberOptionalMagic number for the order
accountnumberOptionalTarget specific MT5 account number

* symbol is not required for closeall.

Close commands

To close positions, use these actions:

// close all positions on EURUSD
{"action": "close", "symbol": "EURUSD"}

// close only BUY (long) positions on EURUSD
{"action": "close", "symbol": "EURUSD", "side": "buy"}

// close only SELL (short) positions on EURUSD
{"action": "close", "symbol": "EURUSD", "side": "sell"}

// close ALL open positions on the account
{"action": "closeall"}

Full example with SL/TP

{
  "action": "buy",
  "symbol": "EURUSD",
  "lot": 0.05,
  "sl": 50,
  "tp": 100,
  "comment": "EMA cross H1",
  "magic": 2026001
}

Migrating from another bridge? Your alerts just work

You do not need to rewrite your TradingView alerts to switch to SignalForge. The webhook reads the most common formats out of the box and maps them to the fields above — paste your existing alert and it runs:

Coming fromPaste this exact alert
PineConnector (CSV)60123456789,buy,EURUSD,vol_lots=0.1,sl_pips=50,tp_pips=100
TradersPost (JSON){"ticker":"EURUSD","action":"buy","stopLoss":{"amount":"10"},"takeProfit":{"amount":"20"}}
AlgoWay (JSON){"platform_name":"metatrader5","ticker":"EURUSD","order_action":"buy","order_contracts":0.10}
SignalStack / generic{"symbol":"EURUSD","action":"buy","quantity":1}

Field aliases are mapped automatically: tickersymbol, order_action / signal / sideaction, stop_loss / sl_pips / sl_pricesl, take_profit / tp_pips / tp_pricetp, and exit / flatclose.

Minimalist alerts: just “buy” or “sell”

Set a Default symbol in your dashboard (Setup) and an alert containing only buy or sell — with no symbol at all — opens a trade on that symbol. Or use the {{ticker}} placeholder so TradingView fills the chart symbol for you:

buy {{ticker}}
!
What is and isn’t covered

Compatibility covers market entries and closes. Pending orders, reversals and directional partial closes are not supported yet. Risk-based sizing from other platforms (vol_dollar, vol_pct_*, and quantity / contracts outside MT5) is intentionally ignored to protect your account — set lot explicitly or let the EA size by risk.

EA panel guide

When the EA is running, a dark panel appears on the top-left corner of the chart. Here is what each section shows:

Header

Displays SIGNALFORGE and the plan name (STARTER). A minimize/maximize button ([-] / [+]) lets you collapse the panel.

Balance & equity

Shows your current account balance and equity in real time.

Open position

When a trade is active, shows: direction (BUY/SELL), lot size, entry price, SL, TP, and current P/L in real time.

Today's performance

Tracks daily stats that reset at midnight: total trades, wins, losses, win rate (%), and daily P/L. These stats survive EA restarts — they are saved to a local file.

Footer

Shows: connection status, your token (masked), uptime, and signal count.

EA input settings

Press F7 on the chart (or right-click EA → Properties) to open the inputs panel. Key settings for Starter:

InputDefaultWhat it does
WebhookTokenYour personal token from the welcome email
DefaultLots0.01Lot size when not specified in webhook
DefaultSL0Default SL in pips (0 = none)
DefaultTP0Default TP in pips (0 = none)
MagicNumber2026Used to identify orders from this EA
MaxSlippage10Max slippage allowed in pips
SlippageRejecttrueReject orders if spread exceeds max
ShowPaneltrueShow the on-chart EA panel

{ }Pine Script setup

If you use Pine Script strategies (not just indicators), here is how to set up the webhook correctly.

Pine v4

//@version=4
strategy("My SF Strategy", overlay=true)

longCondition = crossover(sma(close,9), sma(close,21))
shortCondition = crossunder(sma(close,9), sma(close,21))

if (longCondition)
    strategy.entry("Long", strategy.long,
      alert_message='{"action":"buy","symbol":"EURUSD","lot":0.01,"sl":50,"tp":100}')

if (shortCondition)
    strategy.entry("Short", strategy.short,
      alert_message='{"action":"sell","symbol":"EURUSD","lot":0.01,"sl":50,"tp":100}')

Pine v6

//@version=6
strategy("My SF Strategy", overlay=true)

longCondition = ta.crossover(ta.sma(close,9), ta.sma(close,21))
shortCondition = ta.crossunder(ta.sma(close,9), ta.sma(close,21))

if longCondition
    strategy.entry("Long", strategy.long,
      alert_message='{"action":"buy","symbol":"EURUSD","lot":0.01,"sl":50,"tp":100}')

if shortCondition
    strategy.entry("Short", strategy.short,
      alert_message='{"action":"sell","symbol":"EURUSD","lot":0.01,"sl":50,"tp":100}')
!
Alert config

When creating the alert, set the Message field to {{strategy.order.alert_message}} so TradingView passes through the JSON from your strategy.

Dynamic symbol

To make the symbol dynamic (works on any chart):

// using string concatenation
msg = '{"action":"buy","symbol":"' + syminfo.ticker + '","lot":0.01}'

strategy.entry("Long", strategy.long, alert_message=msg)

!Troubleshooting

EA shows "AUTOTRADING OFF"

Click the AutoTrading button in the MT5 toolbar to enable it (must be green). The EA won't execute trades while AutoTrading is disabled, but it stays attached to the chart.

No trades appear after alert fires

  1. Check the WebRequest URL — Tools → Options → Expert Advisors. Make sure https://api.signalforge-ai.com is in the allowed URLs list.
  2. Check the token — Open the EA inputs (F7) and verify the WebhookToken matches the one from your welcome email.
  3. Check the Experts tab in MT5 — error messages appear here. Look for keywords like "WebRequest" or "401".
  4. Check the JSON — copy your alert message and validate it at jsonlint.com.

Error 4752 or 4756 in Experts tab

These are WebRequest permission errors. The URL is not whitelisted. Go to Tools → Options → Expert Advisors and add the server URL.

Trade opens but with wrong lot size

Check if your webhook JSON includes the lot field. If not, the EA uses the DefaultLots input value. Also check your broker's minimum/maximum lot size.

Symbol "not found" error

The symbol name in your webhook must match your broker exactly. Common mismatches: XAUUSD vs GOLD, US30 vs US30.cash vs DJ30. Check your Market Watch for the exact name.

Connection drops after a while

Check your internet connection and make sure MT5 is not going to sleep. If running on a VPS, ensure the VPS stays active. The EA auto-reconnects if the server is temporarily unavailable.

?Frequently asked questions

Not necessarily. If you want signals to execute 24/7, you need MT5 running at all times — which means either keeping your PC on or using a VPS. For daytime-only trading, your PC is fine.
Yes. Attach the EA to any single chart. It will execute trades on whatever symbol the webhook specifies. You do not need multiple EAs.
Yes. Many prop firms (FTMO, FundedNext, The Funded Trader) allow automated trading via Expert Advisors. The Starter plan works perfectly for this. For additional protection, the Trader plan ($14.99/mo) includes Prop Firm Shield with automatic drawdown protection.
Signals are queued on the server for up to 60 seconds. If the EA reconnects within that window, it will pick up the pending signal. If not, the signal expires.
Yes. If you omit the account field, the signal is broadcast to all EAs connected with that token. To target a specific account, include "account": 12345 with the account number.
Both Starter and Trader plans include a 14-day free trial with no credit card required. Cancel anytime during the trial and you won't be charged. If you continue past the trial, $4.99/mo or $14.99/mo depending on plan.
Typical end-to-end latency (TradingView alert fires → trade opens in MT5) is 375–875ms. This includes TradingView sending the webhook, server processing, and EA execution.

$Plan comparison

Need more than the Starter? Here's what each plan adds:

FeatureStarter
$4.99
Trader
$14.99
Pro
$29.99
TradingView → MT5YesYesYes
Unlimited signalsYesYesYes
Trailing stop & BEYesYesYes
Broker accounts13
Prop Firm ShieldNoYesYes
News filterNoYesYes
Telegram notificationsNoYesYes
AI signal filterNoNoQ3 2026
Cloud VPSNoNoQ3 2026

Setup complete? Start trading.

If you got stuck anywhere in this guide, email me — I reply the same day on weekdays, usually within 4 hours.