TICKERALL!
← All posts
August 23, 20266 min read

Trade from TradingView Alerts on MetaTrader 5 (No EA, No VPS)

Turn TradingView alerts into real MetaTrader 5 trades with a webhook — no EA, no VPS, no terminal. Market/limit orders, SL/TP, close and modify.

MetaTrader 5TradingViewWebhookTrading

You've built a strategy in TradingView. The alerts fire exactly when you want them to. And then you hit the wall that every TradingView user hits: TradingView signals, but it doesn't trade. Getting those alerts to actually place orders on your broker has traditionally meant an Expert Advisor listening on a Windows box, a VPS to keep it alive, and some fragile bridge in between — a lot of moving parts for what is, conceptually, "when this alert fires, place this order."

It doesn't have to be that. TradingView already knows how to POST a webhook when an alert fires. A hosted MetaTrader API can receive that webhook and place the order on your broker. That's the whole architecture — no EA, no VPS, no terminal.

TradingView alert fires webhook TickerAll Your broker
An alert fires, TradingView POSTs the webhook, TickerAll places the order on your broker.

The whole thing is a webhook URL

Every broker account you connect to TickerAll gets its own webhook URL — a URL with a secret token baked into the path. You grab it from your TickerAll dashboard, and anything that can POST JSON to it can place trades on that account. TradingView POSTs a small JSON command; TickerAll reads it and executes on your broker.

The token in the URL is the sole credential. There's no separate API key to attach, no header to set — TradingView's webhook feature just sends a body to a URL, and that's all this needs. Which is exactly why the URL is sensitive: anyone who has it can trade your account. Treat it like a password.

Your first alert

Three steps, start to finish.

1. Get the webhook URL. In your TickerAll dashboard, open the account you want to trade and copy its webhook URL. It looks like a normal HTTPS URL with a long random token as the last path segment.

2. Create the alert in TradingView. Open any chart, create an Alert, and under Notifications enable Webhook URL. Paste your TickerAll webhook URL there.

3. Paste the command. In the alert's Message box, put the JSON command you want executed when the alert fires. The simplest possible one:

{"action":"buy","symbol":"BTCUSD","volume":0.01}

Save the alert. When it fires, TradingView POSTs that JSON to your webhook, and TickerAll places a 0.01-lot market buy of BTCUSD on your broker.

Heads up: webhook alerts require a paid TradingView plan. TradingView only exposes the "Webhook URL" notification on its Pro tiers and up — the free plan can't POST webhooks. That's a TradingView limitation, not a TickerAll one.

The command format

The alert message is a single JSON object. Here's every action:

Action JSON
Market buy {"action":"buy","symbol":"BTCUSD","volume":0.01}
Buy with SL/TP {"action":"buy","symbol":"BTCUSD","volume":0.01,"sl":58000,"tp":72000}
Market sell {"action":"sell","symbol":"BTCUSD","volume":0.01}
Limit / stop entry {"action":"buy","type":"limit","symbol":"BTCUSD","volume":0.01,"price":60000}
Close {"action":"close","symbol":"BTCUSD"}
Modify SL/TP {"action":"modify","ticket":123456,"sl":59000,"tp":73000}

The fenced versions, so you can copy them straight into an alert:

{"action":"buy","symbol":"BTCUSD","volume":0.01}
{"action":"buy","symbol":"BTCUSD","volume":0.01,"sl":58000,"tp":72000}
{"action":"sell","symbol":"BTCUSD","volume":0.01}

A few notes on the fields:

  • type is "market" (the default if you omit it), "limit", or "stop". For limit and stop you must include a price:

    {"action":"buy","type":"limit","symbol":"BTCUSD","volume":0.01,"price":60000}
    
  • sl and tp are your stop-loss and take-profit, as absolute prices. They're optional on any entry.

  • comment is an optional free-text tag that rides along with the order — handy for labelling which strategy fired it.

The full field list is exactly: action, symbol, volume, type, price, sl, tp, ticket, comment. No others.

Symbols usually just work. A TradingView ticker like BTCUSD auto-resolves to your broker's actual symbol — BTCUSDm, say — so you can send the TradingView ticker as-is. If your broker names something unusually, you can set a per-integration alias to map it. Most of the time you don't touch this.

Dynamic alerts with placeholders

Typing a fixed JSON body is fine for a single hand-drawn alert. But if you attach one alert to a strategy, you want the same alert to work whether the strategy goes long or short. TradingView lets you template values into the message using its placeholders, which it substitutes at fire time.

Wire the strategy's own action and size into the command:

{"action":"{{strategy.order.action}}","symbol":"{{ticker}}","volume":{{strategy.order.contracts}}}

When the strategy sends a long entry, {{strategy.order.action}} becomes buy and {{ticker}} becomes the chart's symbol; on a short it becomes sell. One alert, both directions, always valid JSON. {{strategy.order.contracts}} fills in the position size the strategy is trading. (Keep the placeholders that produce numbers — like contractsoutside quotes, and the ones that produce strings inside quotes, so the result is well-formed JSON.)

Close & modify

Exits and adjustments are just more commands. Close an open position by symbol:

{"action":"close","symbol":"BTCUSD"}

…or target a specific position by its ticket:

{"action":"close","ticket":123456}

And move a stop or target on a live position:

{"action":"modify","ticket":123456,"sl":59000,"tp":73000}

A common pattern is one alert on your entry condition sending a buy/sell, and a second alert on your exit condition sending a close for the same symbol — TradingView fires each independently, TickerAll executes each as it arrives.

Test on a demo account first. A fired alert places a real order on whatever account the webhook URL points at — there's no dry-run in the loop. Point your first alerts at a demo account and watch the full chain end to end before you ever aim it at real money. And keep the webhook URL secret: the token in the path is the only credential, so anyone who has it can trade your account.

Keep it hot for unattended strategies

If your strategy fires alerts around the clock, you want a live broker session waiting whenever one lands. On a Pro (always-hot) account, TickerAll keeps the connection up 24/7, so an alert never has to wait for a session to warm up — there's always one ready to execute on the instant the webhook arrives. For a set-and-forget strategy running overnight or across sessions, that's the difference between "the order went in" and "the alert fired into a cold connection." Worth turning on before you walk away.

Not just TradingView

Nothing here is TradingView-specific on the TickerAll side — the same webhook URL accepts the same JSON command from any source: a Python script, a Zapier zap, your own backend, a cron job. TradingView is just one convenient thing that happens to POST webhooks. If you'd rather drive it from code — say, a chat bot that places trades on command — the Discord MT5 trading bot walkthrough builds exactly that against the same API.

Wrap-up

The gap between "TradingView signalled" and "the order is on my broker" used to be a Windows box, an EA, and a VPS. Now it's a webhook URL and a line of JSON. Paste the URL into an alert, put the command in the message, and TradingView does the POST for you — no terminal in the path, nothing to keep running.

If you'd rather start from raw REST before wiring up alerts, walk through placing your first MT5 trade over the API first — same commands, same account, called directly. When you're ready for the full reference, the endpoints and fields are all in the TickerAll docs.

Was this useful?

Comments

Leave a comment

Comments are public.
Trade from TradingView Alerts on MetaTrader 5 (No EA, No VPS) · Ticker All!