Process Features Pricing FAQ Blog Docs Start
EN| ES| 中文

SignalForge AI 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.

💡
New to SignalForge AI? Follow the 6 steps below and you will be executing your first automated trade in under 5 minutes. No coding required.
🎬
Prefer a video tutorial? Watch our full setup walkthrough: How to Connect TradingView to MT5 in 5 Minutes

Requirements

Before you start, make sure you have the following:

💡
TradingView Free Plan? Free TradingView accounts cannot send webhooks. You need at least the Essential plan ($12.95/mo). If you are on a free trial of a paid plan, webhooks are included.

1 Create Your Account

Go to signalforge-ai.com and choose the Starter Plan ($4.99/mo). Click the subscribe button — you will be redirected to Stripe to complete your payment.

After payment, you will receive an email with:

Keep your token private Your webhook token is like a password. Anyone who has it can send signals to your MT5. Never share it publicly.

2 Your Webhook Token

Your webhook token looks something like this:

a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6

This token is used in two places:

  1. In the EA — paste it into the WebhookToken input field so the EA knows which account to poll.
  2. In TradingView — it is part of your webhook URL.

Your full webhook URL is:

https://exquisite-truth-production.up.railway.app/wh/YOUR_TOKEN

Replace YOUR_TOKEN with your actual token. This is the URL you paste into TradingView's alert webhook field.

3 Install the Expert Advisor

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 the Navigator panel (Ctrl+N).
  2. Right-click on Expert AdvisorsRefresh.
  3. Find SignalForgeEA_Starter, right-click → Attach to Chart.
  4. Choose any chart (e.g., EURUSD). The EA handles all symbols from a single chart.
💡
One EA, all symbols You only need to attach the EA to one chart. It will execute trades on any symbol specified in your webhook alert, regardless of which chart it is attached to.

4 Configure MetaTrader 5

4.1 Allow Algo Trading

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

4.2 Add the WebRequest URL

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

https://exquisite-truth-production.up.railway.app
🚨
This step is critical Without the WebRequest URL, the EA cannot connect to the server. This is the most common setup mistake. Make sure the URL is added exactly as shown — no trailing slash.

4.3 Enable AutoTrading

In the MT5 toolbar, click the AutoTrading button so it turns green. If it is red, the EA will show “AUTOTRADING OFF” on the panel.

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.

The EA panel should appear on the chart showing CONNECTED.

5 Create a TradingView Alert

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://exquisite-truth-production.up.railway.app/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
}

For a SELL:

{
  "action": "sell",
  "symbol": "XAUUSD",
  "lot": 0.05,
  "sl": 300,
  "tp": 600
}
💡
Using a Pine Script strategy? If your alert is triggered by a strategy.entry() call, put the JSON in the alert_message parameter and set the alert message field to {{strategy.order.alert_message}}. See the Pine Script section below.

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.

6 Test Your First Signal

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

  1. Open TradingView, any chart.
  2. Create an alert with condition: “Once” (fires immediately).
  3. Webhook URL: your full webhook URL.
  4. Message:
{
  "action": "buy",
  "symbol": "EURUSD",
  "lot": 0.01
}
  1. Click Create. Within 1-2 seconds, a 0.01 lot BUY on EURUSD should appear in your MT5.
It worked! If you see the trade in MT5, congratulations! Your bridge is fully operational. You can now create real alerts based on your strategies and indicators.
No trade appeared? Check the Troubleshooting section below. The most common issues are: WebRequest URL not added, AutoTrading disabled, or incorrect symbol name.

Webhook Syntax Reference

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

Field Type Required Description
action string Yes buy, sell, closebuy, closesell, closeall
symbol string Yes* MT5 symbol name, e.g. EURUSD, XAUUSD, US30.cash. Must match your broker exactly.
lot number No Lot size. Default: uses EA's DefaultLots input.
sl number No Stop Loss in points. 50 = 5 pips on a 5-digit pair.
tp number No Take Profit in points.
sl_price number No Stop Loss as absolute price level (e.g. 1.08200).
tp_price number No Take Profit as absolute price level.
comment string No Trade comment visible in MT5 trade history.
account string No Target specific MT5 account login. If omitted, signal goes to all connected EAs.

* symbol is not required for closeall.

Close Commands

To close positions, use these actions:

// Close all BUY positions on EURUSD
{"action": "closebuy", "symbol": "EURUSD"}

// Close all SELL positions on XAUUSD
{"action": "closesell", "symbol": "XAUUSD"}

// Close ALL positions on all symbols
{"action": "closeall"}

Full Example with SL/TP

{
  "action": "buy",
  "symbol": "XAUUSD",
  "lot": 0.10,
  "sl": 300,
  "tp": 600,
  "comment": "Gold breakout"
}

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 AI 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:

Input Default Description
WebhookToken (empty) Your unique webhook token. Required.
DefaultLots 0.01 Lot size used when the webhook does not include a lot field.
InpSlippage 30 Maximum allowed slippage in points.
InpMagic 123456 Magic number to identify EA trades. Change if running multiple EAs.
PollInterval 1500 How often the EA checks for new signals (in milliseconds). Lower = faster execution but more requests.
MaxSpread 0 Maximum spread in points. 0 = no filter. Set to e.g. 30 to skip signals when spread is too wide.

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 Strategy", overlay=true)

// Your conditions
longCond = crossover(sma(close, 9), sma(close, 21))
shortCond = crossunder(sma(close, 9), sma(close, 21))

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

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

Pine v6

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

longCond = ta.crossover(ta.sma(close, 9), ta.sma(close, 21))
shortCond = ta.crossunder(ta.sma(close, 9), ta.sma(close, 21))

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

if shortCond
    strategy.entry("Short", strategy.short,
      alert_message='{"action":"sell","symbol":"EURUSD","lot":0.01,"sl":50,"tp":100}')
Critical: Alert message field When creating the TradingView alert, set the Message field to exactly:
{{strategy.order.alert_message}}
This tells TradingView to use the JSON from your alert_message parameter.

Dynamic Symbol

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

alert_message='{"action":"buy","symbol":"' + syminfo.ticker + '","lot":0.01,"sl":50,"tp":100}'
💡
Symbol must match your broker syminfo.ticker returns the TradingView symbol name (e.g. EURUSD). If your broker uses a different name (e.g. EURUSDm or EURUSD.i), you need to hardcode the broker symbol or use a mapping.

Troubleshooting

EA shows “AUTOTRADING OFF”

Click the AutoTrading button in the MT5 toolbar to enable it (must be green). The EA will not execute trades while AutoTrading is disabled, but it stays attached to the chart and will resume automatically when re-enabled.

No trades appear after alert fires

  1. Check the WebRequest URL — Go to Tools → Options → Expert Advisors. Make sure https://exquisite-truth-production.up.railway.app is listed. This is the #1 cause of failed signals.
  2. Check the Experts tab in MT5 (Ctrl+E or View → Toolbox → Experts). Look for error messages.
  3. Verify the symbol name matches your broker exactly. Open the Symbols window (Ctrl+U) in MT5 to see the exact names.
  4. Check AutoTrading is enabled (green button in toolbar).
  5. Verify the token in the EA input matches the one in your webhook URL.

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. Open MT5's Symbol window (Ctrl+U) to find the correct 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

Do I need a VPS?

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. A VPS costs about $5-10/month (Contabo, Hetzner).

Can I use one EA for multiple symbols?

Yes. Attach the EA to any single chart. It will execute trades on whatever symbol the webhook specifies. You do not need multiple EAs.

Can I use this with prop firm challenges?

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 and News Filter specifically designed for prop firm challenges.

What happens if my internet drops?

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.

Can I send signals to multiple MT5 accounts?

Yes. If you omit the account field in your webhook, the signal is broadcast to all EAs connected with that token. To target a specific account, include "account": "12345678" with your MT5 login number.

Is there a free trial?

We offer a 14-day money-back guarantee on all plans. If you are not satisfied, contact us for a full refund.

What is the latency?

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 polling. For most trading strategies, this is imperceptible.

Plan Comparison

Feature Starter Trader Pro
TradingView → MT5 bridge
All symbols supported
Multi-account broadcast
Daily stats panel
Spread filter
Prop Firm Shield
News Filter
Telegram Notifications
Exclusive TradingView Scripts
Trend Filter
AI Signal Filter
Price $4.99/mo $14.99/mo $29.99/mo Coming Soon