AlgoWay-MT5 EA v1.90 — Detailed User Guide (MT5)
This guide explains how to use EA v1.90 in MetaTrader 5: which settings exist in Inputs EA, and which fields are allowed in the webhook message (JSON). Internal implementation details are not covered.
Download Here
Contents
- 1) What the EA does and its boundaries
- 2) Required MT5 conditions
- 3) Connecting the EA to the AlgoWay webhook
- 4) Key setting for position behavior
- 5) Trade size and execution
- 6) Symbols: how the EA knows what to trade
- 7) IMPORTANT: two different SL/TP/Trailing models
- 8) PIP type: how distances are interpreted
- 9) Webhook JSON fields
- 10) EA-based SL/TP
- 11) EA-based trailing vs JSON trailing
- 12) Risk mode
- 13) modify action
- 14) Trade limits
- 15) Sessions (UTC) + Daily Trade Window
- 16) Auto-close (Auto-Flat)
- 17) JSON examples
- 18) Common issues
- 19) Scope (strict)
1) What the EA does and its boundaries
The EA (Expert Advisor) is an MT5 executor: it receives commands via AlgoWay and executes trade actions (open/close/modify) on your MT5 account.
The EA is not responsible for:
- strategy/indicator quality and signal logic;
- differences between brokers (spread, commission, slippage, execution rules);
- correctness of your alerts (what exactly they send).
2) Required MT5 conditions
2.1 Allow WebRequest to AlgoWay
In MT5, add the domain to the allowed WebRequest list:
- Tools → Options → Expert Advisors → “Allow WebRequest for listed URL”
- add:
https://algoway.co
If not added, a typical symptom is a WebRequest error (often 4014).
2.2 Enable algorithmic trading
- Enable AutoTrading / Algo Trading in the terminal.
- Ensure the terminal is not blocking algorithmic trading via security settings (otherwise incoming commands will be ignored).
3) Connecting the EA to the AlgoWay webhook
Inputs EA item: Your Algoway Webhook here
What to enter:
- correct option: webhook UUID (ID);
- if a full address like
https://algoway.co/...is entered, this is not desired; use the UUID.
4) Key setting for position behavior
Inputs EA item: Reverse / Hedge / Opposite
This is the main logic switch.
Reverse
- One side per symbol model.
- BUY → opens/keeps BUY.
- SELL → closes the current side and opens SELL.
- FLAT → closes positions for the symbol (within EA logic).
Hedge
- BUY and SELL can exist simultaneously.
- BUY and SELL can be opened in parallel.
- FLAT closes positions for the symbol.
- JSON field
close_sideis additionally supported to close only one side (see 9.4).
Opposite
- Position always follows the latest signal.
- A new signal closes the current position and opens the opposite.
- LONG/SHORT are additionally allowed (treated as BUY/SELL).
5) Trade size and execution
Inputs EA items: Coefficient for work with Lots, Order filling type: AUTO, FOK or IOC
5.1 Coefficient for work with Lots
This is a multiplier applied to the size received in JSON as order_contracts.
- If JSON has
order_contracts: 0.10and coefficient =1.0, the EA will try to open 0.10 lots. - If coefficient =
0.1, the EA will try to open 0.01 lots.
5.2 Order filling type: AUTO, FOK or IOC
- AUTO — the EA uses the default / context-appropriate mode.
- FOK / IOC — enable only if the broker/instrument requires a specific type.
6) Symbols: how the EA knows what to trade
Inputs EA items: ══ Symbols Mapping ══, TView Ticker N / Broker Ticker N
If TradingView uses one ticker but the broker’s MT5 uses another, fill the pairs:
TView Ticker N— as received intickerfrom TradingView.Broker Ticker N— the exact symbol name in the broker’s MT5.
If the symbol is not found, the EA shows “Symbol … not found” and the trade will not open.
7) IMPORTANT: two different SL/TP/Trailing models — do not mix them
Model A — levels come in the webhook message (JSON)
stop_loss,take_profit(distance)sl_price,tp_price(absolute price)trailing_pips(per-trade trailing)
Model B — levels are set inside Inputs EA
==== EA BASED SL and TP ====→Use fixed SL/TP (pips) inside EA,Internal SL distance in pips,Internal TP distance in pips==== EA BASED TRAILING ====→Enable Trailing SL,Trailing Step in pips
8) PIP type: how distances are interpreted
Inputs EA item: PIP type: AUTO/TRADINGVIEW/PERCENT
- AUTO — pip calculation follows broker rules (digits/point).
- TRADINGVIEW — Forex: 1 pip = 10 * Point; others: 1 pip = Point.
- PERCENT —
stop_loss/take_profitare treated as a percent of entry price.
9) Webhook JSON fields: supported and meaning
9.1 Required to open a trade
order_action— action (buy,sell,flat,modify)ticker— instrument tickerorder_contracts— size (or risk-percent if risk mode is enabled)
9.2 SL/TP from JSON (Model A)
sl_price/tp_price— SL/TP as absolute pricestop_loss/take_profit— SL/TP as distance (pips or % depends on PIP type)
Priority rule: if sl_price/tp_price are set (and not zero), price levels are used; otherwise stop_loss/take_profit are used as distances.
9.3 Trailing from JSON (Model A)
trailing_pips forces trailing for that trade even if global trailing is disabled in the EA.
9.4 close_side (Hedge only, and FLAT only)
close_side is allowed only together with order_action="flat".
long— close only BUY positionsshort— close only SELL positions
If close_side is sent with buy/sell/modify, the EA treats it as an error.
9.5 comment / tv_order_id (position identifier)
comment— primary identifiertv_order_id— fallback identifier ifcommentis empty
10) EA-based SL/TP (Model B)
Inputs EA items: Use fixed SL/TP (pips) inside EA, Internal SL distance in pips, Internal TP distance in pips
Hard rule: if Use fixed SL/TP (pips) inside EA = true, then on trade entry the EA applies Internal SL/TP and ignores all SL/TP from JSON.
11) EA-based trailing vs JSON trailing
Inputs EA items: Enable Trailing SL, Trailing Step in pips
- If JSON has
trailing_pips→ trailing is enabled for that trade and step comes fromtrailing_pips. - If
trailing_pipsis absent andEnable Trailing SL = true→ usesTrailing Step in pips. - If
trailing_pipsis absent andEnable Trailing SL = false→ no trailing.
12) Risk mode (v1.90)
Inputs EA items: ==== ENABELE RISK IN PERCENT ====, Use order_contracts as % risk of equity
order_contractsbecomes percent risk of equity.stop_lossis mandatory, otherwise execution is cancelled.- Martingale is not applied in this mode.
13) modify action
For order_action="modify", the position must be identified via comment (preferred) or tv_order_id (fallback).
The EA does not open or close a position; it finds the position by symbol + comment and applies new SL/TP from the current JSON.
14) Trade limits
Inputs EA items: ==== Trade Limits ====, Max daily loss in %, Max drawdown per trade in %, Max positions, if 0 = no limit
- Blocks trading when limits are reached.
- Limits the number of simultaneously open positions (0 = no limit).
15) Sessions (UTC) + Daily Trade Window
Inputs EA items: ==== Sessions (UTC) ====, NY session: Winter or Summer, London, New York, Tokyo, Daily Trade Window
This is a time filter in UTC. If entry is blocked by schedule, logs show:
Order rejected by schedule: outside sessionsOrder rejected by schedule: outside daily window
16) Auto-close (Auto-Flat)
Inputs EA items: Autoclose mode, minutes before end
AUTOFLAT_NONE— disabledAUTOFLAT_END_OF_DAY— close positions before end of dayAUTOFLAT_END_OF_WEEK— close positions before end of week
17) JSON examples (supported fields only)
17.1 Open BUY (Reverse), SL/TP by distance
{
"platform_name": "binance",
"order_action": "buy",
"ticker": "BTCUSDT.P",
"order_contracts": "0.10",
"stop_loss": "150",
"take_profit": "300"
}
17.2 Open SELL, SL/TP by absolute prices
{
"platform_name": "tradelocker",
"order_action": "sell",
"ticker": "XAUUSD",
"order_contracts": "0.05",
"sl_price": "2055.50",
"tp_price": "2038.00"
}
17.3 Open BUY with per-trade trailing
{
"platform_name": "metatrader5",
"order_action": "buy",
"ticker": "GBPUSD",
"order_contracts": "0.10",
"stop_loss": "120",
"trailing_pips": "80"
}
17.4 Hedge: close only long positions
{
"platform_name": "matchtrader",
"order_action": "flat",
"ticker": "EURUSD",
"order_contracts": "0.10",
"close_side": "long"
}
17.5 Opposite: use LONG/SHORT
{
"platform_name": "ctrader",
"order_action": "long",
"ticker": "USDJPY",
"order_contracts": "0.10",
"stop_loss": "100"
}
17.6 Modify: change SL/TP via comment
{
"platform_name": "okx",
"order_action": "modify",
"ticker": "ETHUSDT",
"comment": "TV#12345",
"stop_loss": "140",
"take_profit": "280"
}
18) Common issues (v1.90 facts)
- WebRequest blocked → add
https://algoway.coto allowed list. - Wrong UUID in “Your Algoway Webhook here” → EA will not receive commands.
- Symbol not found → fill Symbols Mapping.
- Risk mode enabled but no stop_loss → execution cancelled.
- Schedule blocks entry → check Sessions (UTC) and Daily Trade Window.
- modify without comment/tv_order_id → modification skipped.
19) Scope (strict)
This guide covers only JSON fields used by EA v1.90 and the corresponding Inputs EA items. Any invented parameters or format extensions are forbidden and not covered.