AlgoWay-MT5 EA v1.90 — Detailed User Guide (MT5)

AlgoWay-MT5 EA v1.90

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

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_side is 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.10 and 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 in ticker from 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_profit are 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 ticker
  • order_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 price
  • stop_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 positions
  • short — 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 identifier
  • tv_order_id — fallback identifier if comment is 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 from trailing_pips.
  • If trailing_pips is absent and Enable Trailing SL = true → uses Trailing Step in pips.
  • If trailing_pips is absent and Enable 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_contracts becomes percent risk of equity.
  • stop_loss is 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 sessions
  • Order rejected by schedule: outside daily window

16) Auto-close (Auto-Flat)

Inputs EA items: Autoclose mode, minutes before end

  • AUTOFLAT_NONE — disabled
  • AUTOFLAT_END_OF_DAY — close positions before end of day
  • AUTOFLAT_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.co to 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.