TrendSpider can send webhook alerts to AlgoWay using JSON messages. AlgoWay then routes your signals to the selected execution platform such as MetaTrader 5, Match-Trader, or TradeLocker.
TrendSpider sends webhooks as HTTP POST requests. For standard alerts, the message body is the text you place in the alert message / note field. If that text is valid JSON, it is sent as JSON.
For Trading Bots, TrendSpider provides separate Entry Webhook and Exit Webhook URLs and bodies.
Standard Alerts (Dynamic / Multi-Factor)
%alert_name% %alert_symbol% %alert_note% %price_action_event% %last_price%
Trading Bots (Entry / Exit Webhook Body)
%bot_name% %bot_symbol% %bot_timeframe% %bot_status% %last_price%
buy / sell).
Use separate alerts for BUY and SELL with separate JSON messages.
| Field | Required | Description |
|---|---|---|
platform_name |
Yes | Target execution platform router value (for example metatrader5, tradelocker, matchtrader). |
ticker |
Yes | Symbol / instrument name. |
order_action |
Yes | buy, sell, or flat. |
order_contracts |
Yes for buy/sell | Position size for entry orders. |
price |
No | Optional tracking price from TrendSpider. |
comment |
No | Optional label (alert/bot name) for logs and debugging. |
| Platform | platform_name |
|---|---|
| MetaTrader 5 | metatrader5 |
| TradeLocker | tradelocker |
| Match-Trader | matchtrader |
| cTrader FIX | ctrader |
| cTrader Open API | ctrader-oapi |
| DXtrade | dxtrade |
| Capital.com | capitalcom |
| Alpaca | alpaca |
| Tradovate | tradovate |
| ProjectX | projectx |
| Binance | binance |
| OKX | okx |
| Bybit | bybit |
| BitMEX | bitmex |
| BitGet | bitget |
| BitMart | bitmart |
| BingX | bingx |
| HyperLiquid | hyperliquid |
| Kraken | kraken |
| KuCoin | kucoin |
BUY Alert JSON
{
"platform_name": "metatrader5",
"ticker": "%alert_symbol%",
"order_contracts": 1,
"order_action": "buy",
"price": "%last_price%",
"comment": "TS:%alert_name%"
}
SELL Alert JSON
{
"platform_name": "metatrader5",
"ticker": "%alert_symbol%",
"order_contracts": 1,
"order_action": "sell",
"price": "%last_price%",
"comment": "TS:%alert_name%"
}
FLAT / Close Alert JSON
{
"platform_name": "metatrader5",
"ticker": "%alert_symbol%",
"order_action": "flat",
"comment": "TS_EXIT:%alert_name%"
}
metatrader5 with your target platform if you use Match-Trader, TradeLocker, or another AlgoWay-supported platform.
Entry Webhook Body
{
"platform_name": "metatrader5",
"ticker": "%bot_symbol%",
"order_contracts": 1,
"order_action": "buy",
"price": "%last_price%",
"comment": "TSBOT:%bot_name%"
}
Exit Webhook Body
{
"platform_name": "metatrader5",
"ticker": "%bot_symbol%",
"order_action": "flat",
"comment": "TSBOT_EXIT:%bot_name%"
}
Fallback (if your bot setup does not provide a symbol variable)
{
"platform_name": "metatrader5",
"ticker": "AAPL",
"order_contracts": 1,
"order_action": "buy",
"price": "%last_price%",
"comment": "TSBOT:%bot_name%"
}
You can add SL/TP and trailing stop fields to the same JSON.
Entry with SL/TP (absolute prices)
{
"platform_name": "metatrader5",
"ticker": "%alert_symbol%",
"order_contracts": 1,
"order_action": "buy",
"price": "%last_price%",
"sl_price": 192.50,
"tp_price": 198.00,
"comment": "TS:%alert_name%"
}
Entry with Trailing Stop
{
"platform_name": "metatrader5",
"ticker": "%alert_symbol%",
"order_contracts": 1,
"order_action": "buy",
"price": "%last_price%",
"trailing_pips": 20,
"comment": "TS:%alert_name%"
}
order_contracts: 1 first.platform_name is exact.order_contracts in the current schema.comment field to tag alerts and see them clearly in AlgoWay logs.