📖 Complete User Manual — Version 16.9

Nexus Copier
Complete User Manual

MetaTrader 5 Signal Copier System — Telegram to MT5, fully automated. Every parameter explained with practical examples.

📊 226+ Parameters Documented 📋 Step-by-Step Guides 🎯 For All Experience Levels
🚀

0. Introduction & System Architecture

Understanding Nexus Copier before you start

0.1 What is Nexus Copier?

Nexus Copier is a professional automated trading system that copies signals from Telegram channels directly into MetaTrader 4 and MetaTrader 5, opening, managing, and closing trades without any manual intervention.

It is designed for:

  • Signal followers — subscribe to Telegram signal channels and let the system trade automatically.
  • Prop firm traders — built-in Stealth Mode hides EA patterns from monitoring systems.
  • Multi-account managers — route signals to multiple MT4/MT5 accounts simultaneously with per-account risk settings.

0.2 The 3 Components

🤖

EA (Expert Advisor)

Compatible with MetaTrader 4 and MetaTrader 5. Polls Nexus Server for signals and executes trades — opens orders, manages SL/TP, applies grid logic, trailing stops, break even, and protections.

NexusServer

A Windows background service. Connects to Telegram via the official API using your personal account, reads channel messages, parses signal text, and serves the result to the EA via a local HTTP endpoint.

🎛️

Configurator

A Windows desktop application. Provides a visual interface to configure all 226+ parameters across tabs. Writes the final config.json file consumed by NexusServer and the EA.

0.3 System Flow Diagram

┌─────────────────────┐     ┌──────────────────────┐     ┌─────────────────────┐
│  Telegram Channel   │────▶│    Nexus Server        │────▶│  EA in MT4 / MT5    │
│                     │     │                        │     │                     │
│  "BUY XAUUSD        │     │  Parses message:       │     │  Opens trades:      │
│   Entry: 2650       │     │  - Symbol: XAUUSD      │     │  - Grid orders      │
│   SL: 2630          │     │  - Direction: BUY      │     │  - Applies SL/TP    │
│   TP: 2700"         │     │  - Entry: 2650         │     │  - Manages risk     │
│                     │     │  - SL: 2630 / TP: 2700 │     │  - Trailing stop    │
└─────────────────────┘     └──────────────────────┘     └─────────────────────┘
      Telegram API              config.json                  EA Parameters
   (personal account)        (your settings)            (MT4/MT5 input values)

0.4 System Requirements

MetaTrader 4 or MetaTrader 5 (any broker)
Windows 10/11 PC or VPS
Active Telegram account (personal phone number)
Active Nexus Copier license key
Stable internet connection
.NET 8 Runtime (included in installer)

1. Quick Start — Installation & First Setup

From zero to your first automated trade

1.1 Installing the EA in MetaTrader 4 / MetaTrader 5

1

Open MetaTrader

Go to File → Open Data Folder to open the MT4/MT5 data directory.

2

Copy EA files

MT5: copy NexusCopier.ex5 into MQL5/Experts/. MT4: copy NexusCopier.ex4 into MQL4/Experts/.

3

Allow WebRequests

In MT5: Tools → Options → Expert Advisors → check "Allow WebRequests for listed URL" → add all three URLs below:

⛔ MANDATORY — without these URLs the system will not work:

http://127.0.0.1:5000
https://script.google.com
https://nexuscopier.com/api/version.php

Add each URL on a separate line in the MT5 WebRequests field.
4

Attach the EA to a chart

Drag NexusCopier from the Navigator onto any chart. Enable "Allow Algo Trading" in the EA dialog.

5

Enter your License Key

In the EA inputs, find License Key and paste your key. Click OK.

⚠️ Important: The EA must remain attached to a chart while the market is open. Use a VPS for 24/7 operation without keeping your PC running.

1.1.1 The ea_settings.ini Configuration File

Nexus Copier supports an optional configuration file called ea_settings.ini that allows you to define all EA parameters externally, outside of MetaTrader's input dialog. This file must be placed in the Files folder of your MetaTrader data directory:

📁 File location:
MT5: …\MQL5\Files\ea_settings.ini
MT4: …\MQL4\Files\ea_settings.ini

To open the data directory go to File → Open Data Folder in MetaTrader.

How it works: When ea_settings.ini is present in the Files folder, the EA reads its values on every tick and applies them as the active configuration — completely ignoring the parameters set in MetaTrader's input dialog. Modifying values directly in MetaTrader will have no effect as long as this file exists.

⚠️ Important notice for experienced EA users

If you have previous experience working with Expert Advisors, you may find it more intuitive and straightforward to configure Nexus Copier directly through MetaTrader's input parameters — the standard way you are already familiar with.

The ea_settings.ini file is primarily intended for scenarios where you want to manage settings externally (e.g. automated deployments or shared configurations across multiple terminals). If this file is present in the Files folder, changes made inside MetaTrader's input dialog will be silently overridden.

If you are not sure which method to use, start with the standard MT4/MT5 input parameters and ignore the .ini file entirely — simply do not create it.

To help you get started with the initial setup, you can download two tutorial videos covering the complete EA installation and configuration process:

🎬 EA Installation & Configuration Videos:
https://nexuscopier.com/downloads/EA_Installation.zip
Download the ZIP to access both video guides.

1.2 Installing and Launching Nexus Server

1

Extract the ZIP

Extract the package to a permanent folder (e.g. C:\NexusServer\). Do not run from the Downloads folder.

2

Run Nexus Server.exe

Right-click → Run as Administrator. The server starts on port 5000 by default.

3

Verify it's running

You should see the server main window with a green status.

💡 Tip: Add Nexus Server to Windows Startup so it runs automatically when the PC/VPS boots.

1.3 Installing Nexus Configurator

1

Run Nexus Configurator.exe

Double-click Nexus Configurator.exe. No installation required — it runs directly.

2

Open the Configurator

All system settings are organized in tabs. Start with the Telegram tab to enter your credentials.

3

Verify config.json path

Nexus Configurator must point to the same config.json used by Nexus Server. Both must be on the same machine.

1.4 Connecting Telegram — Getting Your API ID & Hash

NexusServer connects to Telegram using the official Telegram API through your personal account — not a bot. This means it reads channels just as you would in the Telegram app, with no limitations on private channels or groups.

1

Go to my.telegram.org

Open https://my.telegram.org in your browser and log in with your phone number.

2

Go to "API development tools"

Click on API development tools in the menu.

3

Create a new application

Fill in: App title (any name), Short name (any), Platform = Desktop. Click "Create application".

4

Copy your API ID and API Hash

You will see your App api_id (a number, e.g. 12345678) and App api_hash (a long alphanumeric string). Copy both.

5

Enter them in the Configurator

Open Configurator → Telegram tab. Paste API ID and API Hash in the corresponding fields.

6

Enter your phone number and verify

Enter your phone number in international format (e.g. +34612345678). Telegram will send an SMS or in-app code. Enter the code in the Configurator.

🔒 Security Warning: Never share your API Hash with anyone. It provides full access to your Telegram account. Nexus Copier only uses it to read channel messages — it never sends messages or modifies your account.

1.5 Adding Telegram Channels

Once connected, you can add channels whose messages will be parsed as trading signals.

1

Find the channel username or numeric ID

For public channels you can use the username (e.g. @goldtraders). For private channels or groups you need the numeric ID (e.g. -1001234567890). Use the included tool TelegramIDFinder.exe: launch it, log in with your Telegram account, browse to the channel and click it to reveal its ID.

2

Add in Nexus Configurator → Telegram tab

Click "Add Channel", paste the username or numeric ID, and confirm.

3

Configure per-channel options

Set risk overrides, enable/disable Pre-Signals, or configure Force Symbol for this specific channel.

💡 Multiple Channels: You can add unlimited channels. Each channel can have its own risk configuration using the Channel Overrides tab.

1.6 Activating Your License

Your license key is tied to your MT5 account number. It must be entered in two places:

  • In the EA inputs: Find the License Key field in the EA parameters (License & Server tab in the Configurator).
  • In the Configurator: License tab → paste the same key.
⚠️ Note: If you change your MT5 account number (e.g. switch brokers), contact support to transfer your license to the new account.

1.7 First Run Checklist

Before expecting your first trade, verify all of the following:

EA is attached to a chart in MT5 with AutoTrading enabled
NexusServer is running (console window visible, no errors)
Telegram connected — phone number verified, green status in Configurator
At least one signal channel has been added and is active
License key entered in both EA inputs and Configurator
WebRequests allowed in MT5 for http://127.0.0.1:5000, https://script.google.com and https://nexuscopier.com/api/version.php
config.json saved after all Configurator changes
✅ Ready! Wait for the next signal from your channel. The EA will receive it automatically and open trades according to your configuration.
⚙️

2. EA Parameters

All 226+ parameters organized by Configurator tab. Parameter names in code format match the exact input names in MetaTrader 5.

💡 How to use this section: Each tab in the Visual Configurator corresponds to a section below. Open the Configurator side-by-side with this manual to configure each parameter as you read about it. All parameters are also accessible directly in the EA inputs panel in MT5.
🎯

Tab: Risk

Core risk management — how much to risk per trade and how orders are executed

Risk Mode

Default: MANUAL

Determines how lot sizes are calculated for each trade. Three modes are available:

  • MANUAL — Uses the fixed lot size defined in the Lots tab. Completely independent of account balance.
  • PERCENTAGE — Automatically calculates the lot size to risk a percentage of your account balance on each trade (requires a valid SL in the signal).
  • MONEY — Calculates the lot size to risk a fixed amount in your account currency (requires a valid SL in the signal).
💡 Example: With a $10,000 account, Risk Mode = PERCENTAGE at 1%, and a signal with SL 50 pips away on EURUSD — the EA calculates that 1% = $100, then determines the lot size where a 50-pip loss equals $100, and opens at that exact size.
⚠️ Note: PERCENTAGE and MONEY modes require the signal to include a valid Stop Loss. If the signal has no SL, configure a Fixed SL in the Advanced tab, or the trade may be skipped.

Execution Mode

Default: GRID

Controls whether the EA opens a single order or a grid of multiple orders per signal.

  • GRID — Opens multiple orders (defined by Total Orders) spread across price levels. Ideal for averaging strategies.
  • SINGLE_ORDER — Opens exactly one order per signal at the signal's entry price. Simple and clean execution.
💡 Example: GRID mode with 5 orders and 20-pip spacing on a BUY XAUUSD signal at 2650 opens orders at: 2650, 2648, 2646, 2644, 2642 — building a position as price dips.

Risk Percentage

Default: 1.0% Range: 0.01–100

The percentage of account balance to risk per trade. Only active when Risk Mode = PERCENTAGE.

💡 Example: 0.5% on a $5,000 account = $25 risk per trade. 2% on a $10,000 account = $200 risk per trade.
⚠️ Recommendation: Start with 0.5%–1% while testing. In grid mode, risk applies per grid cycle, not per individual order.

Risk in Currency

Default: 50.0

Fixed amount in your account currency to risk per trade. Only active when Risk Mode = MONEY.

💡 Example: Set to 25 on a EUR account to always risk exactly €25 per signal, regardless of account size or market conditions.

Risk Tolerance Min / Max

Default: 95% / 105%

Acceptable lot size range when auto-calculating risk. If the ideal calculated lot falls within ±5% of a broker's allowed lot step, the EA accepts the nearest valid lot. Prevents rejected orders due to lot precision mismatches.

💡 Example: Ideal lot = 0.123. Broker minimum step = 0.01. Nearest valid lot = 0.12. With 95–105% tolerance, this is accepted as it's within range.
📋

Tab: Orders

Order behavior, duplicates, opposites, comments, and grid control

Magic Number

Default: 12345

A unique numeric identifier attached to every order opened by this EA instance. Allows the EA to identify and manage only its own orders even when other EAs or manual trades exist on the same account.

💡 Example: If you run Nexus Copier on two separate charts (one for gold signals, one for forex signals), use Magic Number 11111 for one and 22222 for the other to prevent them from interfering with each other.

Max Simultaneous Trades

Default: 0 (unlimited)

Maximum number of open trades allowed at any time. When the limit is reached, new signals are ignored until existing trades are closed. Set to 0 to disable this limit.

💡 Example: Set to 5 during high-volatility periods to cap exposure. Once 5 trades are open, the EA queues or ignores new signals until a position closes.

Allow Duplicate Signals

Default: false

If false (recommended), the EA ignores a new signal if there is already an open trade on the same symbol in the same direction from the same channel. Prevents accidentally doubling a position if the same signal is posted twice.

💡 Example: Channel sends "BUY XAUUSD" twice by mistake. With duplicates disabled, only the first signal opens a trade. The second is silently ignored.

Allow Duplicates from Different Channel

Default: false

More granular control: allows the same signal (same symbol, same direction) from a different channel even when a duplicate already exists. Useful when following multiple independent signal providers on the same instruments.

💡 Example: Both Channel A and Channel B send "BUY EURUSD". With this enabled, the EA opens one position per channel. With it disabled, only the first channel's signal is accepted.

Duplicate Signal → Update SL

Default: false

When a second signal arrives for the same symbol and direction as an already-open trade, instead of opening a new position the EA updates the Stop Loss of all existing positions matching that symbol and direction. The incoming signal must include a SL value for the update to take effect.

💡 Example: A BUY EURUSD trade is open with SL at 1.0800. A new "BUY EURUSD SL 1.0820" signal arrives. With this enabled, the EA moves the SL to 1.0820 instead of opening a second trade.

Allow Opposite Signals

Default: false

If false, a SELL signal is ignored when a BUY trade is already open on the same symbol (and vice versa). Enable only if you intentionally want to hedge (hold both BUY and SELL simultaneously).

⚠️ Warning: Hedging is not allowed on US broker accounts (FIFO rule). Check your broker's regulations before enabling this.

Allow Opposite Same Channel

Default: false

More granular: allows opposite signals only when they come from the same channel that opened the current position. Useful for channels that occasionally reverse their signals intentionally.

Close on Opposite — Same Channel

Default: false

When enabled, if an opposite signal arrives from the same channel that opened the current trade, the EA automatically closes the existing position before (or instead of) opening a new one in the opposite direction.

💡 Example: You have a BUY XAUUSD open from "Gold Signals". The same channel sends "SELL XAUUSD". With this enabled, the BUY is closed and a SELL is opened.

Close on Opposite — Different Channel

Default: false

Same behavior as above but triggered by an opposite signal from a different channel than the one that opened the trade.

Custom Comment

Default: ""

Text appended to the comment field of every order opened by this EA. If left empty, the EA uses the channel name as the comment. Useful for labeling trades for later analysis in the account history.

💡 Example: Set to "NexusCopier" to easily identify EA trades in MT5 History and distinguish them from manual trades.

Symbol Prefix / Symbol Suffix

Default: ""

Some brokers add a prefix or suffix to standard symbol names. These fields automatically transform the signal's symbol name to match your broker's format.

💡 Example: Signal says "EURUSD" but your broker lists it as "EURUSDm" — set Suffix = m. If broker uses "fxEURUSD", set Prefix = fx.

Delay Before Execution (ms)

Default: 0

Milliseconds to wait after receiving a signal before placing the order. Can be used to avoid entering at the exact signal price spike, or to simulate manual entry timing.

💡 Example: Set 3000 (3 seconds) to allow price to settle slightly after the signal message is sent by the channel.

Total Orders (Grid)

Default: 10

Total number of grid orders to open per signal when Execution Mode = GRID. Includes both market orders (opened immediately) and pending orders (placed at defined price levels).

💡 Example: Set to 5 for a smaller, controlled grid. Set to 20 for a deep averaging strategy on longer timeframes.
📏 Pip Convention: All pip-based parameters in this EA follow the universal rule 1 pip = 10 points, regardless of the asset or number of decimal places. This applies equally to EURUSD (5 decimals), XAUUSD (2–3 decimals), indices, and any other instrument. Use the same pip values consistently across all symbols — no per-asset adjustments are needed.

Grid Distance (pips)

Default: 2.0

Base pip distance between consecutive grid orders. This is the FIXED mode distance. For PROGRESSIVE or VARIABLE mode, see the Grid Distance tab.

💡 Example: 20 pips distance on XAUUSD with 5 orders: orders placed at signal entry, entry-20, entry-40, entry-60, entry-80.

Max Market Orders

Default: 3

Maximum number of orders from the grid that can be executed as market orders (at current price) rather than placed as pending orders. The remaining orders in the grid are placed as pending buy/sell limit orders.

💡 Example: Total Orders = 10, Max Market Orders = 3: the first 3 orders execute immediately at market; orders 4–10 are placed as pending limit orders at their respective price levels.

Market Distance Threshold (pips)

Default: 0.5

If the signal's specified entry price is within this many pips of the current market price, the order is executed as a market order instead of a pending limit order. Handles cases where the signal price is essentially "at market".

Min Distance Between Market Orders (pips)

Default: 2.0

Minimum pip gap required between consecutive market orders. Prevents placing two market orders too close together on fast-moving markets.

Market Execution Margin (pips)

Default: 5.0

Extra pip buffer added when converting a pending order into a market order. Accounts for slippage and spread when price reaches the pending order level.

Order Expiration (minutes)

Default: 10

How long pending orders remain active before the EA automatically cancels them. Prevents stale pending orders from triggering at unfavorable prices hours after the signal.

💡 Example: Set to 60 for swing trading signals where price may take time to reach the entry. Set to 5 for scalping where stale entries are undesirable.

Slippage (pips)

Default: 200

Maximum accepted slippage in pips for market order execution. If the broker's execution price deviates more than this from the requested price, the order is rejected. The high default (200) is intentional — it ensures orders always fill even during volatility.

⚠️ Caution: Reducing this to a very small value (e.g. 2 pips) may cause many orders to be rejected during news events when spreads widen.

Tolerance Margin (pips)

Default: 0.0

Extra pip tolerance buffer applied when checking grid spacing conditions. Useful on brokers with variable spreads where exact pip distances may fluctuate slightly.

📦

Tab: Lots

Lot size management for grid orders

Lot Mode

Default: FIXED

Determines how lot sizes are assigned to each position in the grid.

  • FIXED — Every grid order uses the same lot size (defined by Fixed Lot).
  • VARIABLE — Each grid position (1 through 20) has its own individually configured lot size.
💡 Example: VARIABLE mode allows martingale-style lot progression: Lot1=0.01, Lot2=0.02, Lot3=0.04 — doubling each position to recover losses faster.

Fixed Lot

Default: 0.01

The lot size used for all grid orders when Lot Mode = FIXED and Risk Mode = MANUAL. When Risk Mode is PERCENTAGE or MONEY, this value is overridden by the auto-calculated lot.

💡 Common sizes: 0.01 = micro lot (1,000 units) | 0.10 = mini lot (10,000 units) | 1.00 = standard lot (100,000 units)

Variable Lots (Lot 1 – Lot 20)

Default: 0.01 (slots 1–10), 0.0 (slots 11–20)

Individual lot sizes for each grid position when Lot Mode = VARIABLE. Lot 1 applies to the first order (closest to signal entry), Lot 2 to the second, and so on. Slots set to 0.0 are ignored.

💡 Example: Conservative anti-martingale: Lot1=0.03, Lot2=0.02, Lot3=0.01 — reduces size as price moves against you, limiting maximum loss.
⚠️ Important: The number of configured variable lots should match Total Orders. If Total Orders = 5, configure Lot1 through Lot5 with non-zero values.
📏

Tab: Grid Distance

Distance between grid orders — fixed, progressive, variable, zone fill, or ATR-based

Grid Distance Mode

Default: FIXED

Controls how the distance between grid orders is determined:

  • FIXED — Same distance between every consecutive grid order (uses Grid Distance pips from Orders tab).
  • PROGRESSIVE — Each distance is the previous one multiplied by the Grid Distance Multiplier (widening grid).
  • VARIABLE — Each gap between positions is individually configured (Dist 1 through Dist 20).
  • ZONE FILL — Orders are distributed uniformly across the full price range of the signal (price_low to price_high). The step is calculated automatically as range ÷ (N orders − 1), so the first order always lands at one end of the zone and the last at the opposite end. Requires the signal to contain a price range; falls back to FIXED mode if the signal has only a single entry price.
💡 Example: Signal zone 4550–4570 with 5 orders (BUY): step = 20 pips ÷ 4 = 5 pips → orders placed at 4570, 4565, 4560, 4555, 4550. The entire zone is covered regardless of its size.

Grid Distance Multiplier

Default: 1.3

Only used in PROGRESSIVE mode. Each distance = previous distance × this multiplier. Creates an expanding grid that gives more room between deeper positions.

💡 Example: Base distance = 20 pips, Multiplier = 1.3: gaps are 20, 26, 33.8, 43.9, 57.1... Each level is 30% wider than the previous, reducing over-crowding in volatile moves.

Variable Distances (Dist 1 – Dist 20)

Custom distance in pips for each individual grid level when Grid Distance Mode = VARIABLE. Dist 1 is the gap between order 1 and order 2, Dist 2 is the gap between order 2 and order 3, etc.

💡 Example: Dist1=10, Dist2=10, Dist3=20, Dist4=30, Dist5=50 — tight initial spacing that widens significantly for deeper drawdown levels.

Use ATR Grid ⭐ New v16.9

Default: false

Enables dynamic grid distance calculation based on the Average True Range (ATR) indicator. Instead of fixed pip distances, the grid automatically adapts to current market volatility — wider distances in volatile markets, narrower distances in calm markets.

This prevents the common grid problem where fixed distances cause too-dense or too-sparse grids depending on market conditions.

💡 Example: XAUUSD during a London session: ATR(14) on H1 = 250 pips × 0.1 multiplier = 25 pip grid distance. During Asian quiet session: ATR = 80 pips × 0.1 = 8 pip grid distance. The grid adapts automatically.
⚠️ Note: When Use ATR Grid is enabled, the fixed/progressive/variable distance settings are overridden. ATR Period, ATR Timeframe, and ATR Multiplier take control.

ATR Period ⭐ New v16.9

Default: 14

Number of candles used to calculate the ATR value. A higher period produces smoother, more stable distances. A lower period reacts faster to recent volatility changes.

💡 Recommendation: Period 14 is the standard. Use 7 for more reactive distances, 21 for more stable ones.

ATR Timeframe ⭐ New v16.9

Default: PERIOD_H1

The chart timeframe used to calculate ATR. The ATR on higher timeframes gives larger, more stable distances. Lower timeframes give tighter, more reactive distances.

💡 Guide: H1 is ideal for intraday grids. H4 for swing trading grids. M15 for scalping grids.

ATR Multiplier ⭐ New v16.9

Default: 0.1

Scales the raw ATR value to produce the final grid distance in pips. Grid Distance = ATR(period) × multiplier.

💡 Example: ATR(14) on H1 for XAUUSD = 200 pips. Multiplier = 0.1 → grid distance = 20 pips. Multiplier = 0.15 → 30 pips. Adjust to match your preferred grid spacing relative to current volatility.
✂️

Tab: Partial Close

Define how much of the position to close at each Take Profit level

TP Close Mode

Default: BY_PERCENTAGE

Determines how partial closes are calculated when each TP level is hit:

  • BY_PERCENTAGE — Close a percentage of the total position at each TP level (e.g. 25% at TP1, 50% at TP2, etc.).
  • BY_POSITIONS — Close a specific number of grid orders at each TP level (e.g. close 1 order at TP1, close 2 orders at TP2).

Percent Close at TP1 – TP10

Default: 25/30/25/20/0/0/0/0/0/0

The percentage of the position to close when each Take Profit level is reached. Active when TP Close Mode = BY_PERCENTAGE.

💡 Example: TP1=25%, TP2=30%, TP3=25%, TP4=20% = 100% total. The position is closed in 4 steps. TP1 secures 25%, TP2 takes 30% more profit, and so on until fully closed at TP4.
⚠️ Rule: The non-zero values should sum to exactly 100%. Leaving trailing values at 0 is valid — it means no partial close occurs at those TP levels.

Positions Close at TP1 – TP10

Default: 1/1/0/0/0/0/0/0/0/0

Number of individual grid orders to close when each TP level is hit. Active when TP Close Mode = BY_POSITIONS.

💡 Example: Total Orders = 5. TP1=1, TP2=2, TP3=2: at TP1 close 1 order (20% of position), at TP2 close 2 more (60% total), at TP3 close the remaining 2 (100%).

Cancel Pending Orders at TP

Default: 1

Which TP level triggers automatic cancellation of all remaining pending grid orders. Prevents unfilled pending orders from being triggered later when you no longer want them.

💡 Example: Set to 1: as soon as TP1 is hit, all pending orders that were never filled are automatically cancelled. This prevents later entries into a trade that has already started closing.

Auto Adaptive TP Close

Default: false

When enabled, automatically distributes the close percentages evenly across the active TP levels from the received signal. Overrides the manual Percent Close at TP1–TP10 values.

💡 Example: Signal has 4 TP levels. Auto Adaptive sets each to 25% automatically. Signal has 2 TP levels → 50% each.

Use Server TP Profiles

Default: false

When enabled, the EA overrides its local TP close settings with profiles received from the NexusServer. Allows centralized TP management — update the server profile once and all EAs using this setting update automatically without needing to change MT5 inputs.

🧠

Tab: Smart Partial Close

Intelligent position scaling based on time, profit, or pip movement

Use Smart Partial Close

Default: false

Master switch for the Smart Partial Close system. When enabled, the EA automatically scales out of positions based on the configured trigger (time, profit level, or pip movement) — independent of the TP levels sent by the signal.

💡 Use case: When your signal provider doesn't include TP levels in their messages, Smart Partial Close lets you define your own automated exit strategy.

Smart Close Mode

  • BY_TIME — Close a percentage of the position after X hours have passed since entry.
  • BY_PROFIT — Close a percentage when floating profit reaches a target amount in account currency.
  • BY_PIPS — Close a percentage when the position is X pips in profit.
  • PROGRESSIVE — Gradually increases the close percentage as profit grows, using a step-based progression.

Smart Close Time (hours) & Time Percent

Default: 4h / 50%

Used in BY_TIME mode. After X hours since trade entry, close the defined percentage of the position.

💡 Example: Time = 4 hours, Percent = 50%: if a trade has been open for 4 hours, close half the position regardless of price. Locks in profits on long-running trades.

Profit Step & Profit Percent

Default: $50 / 25%

Used in BY_PROFIT mode. Each time floating profit increases by the Profit Step amount (in account currency), close the defined percentage.

💡 Example: Step = $50, Percent = 25%: close 25% when profit reaches $50, another 25% at $100, another at $150, final 25% at $200.

Pips Step & Pips Percent

Default: 20 pips / 25%

Used in BY_PIPS mode. Each time the position moves X pips further in profit, close the defined percentage.

💡 Example: Step = 20 pips, Percent = 25%: at +20 pips close 25%, at +40 pips close another 25%, at +60 pips another 25%, at +80 pips final 25%.

Progressive Start %, Progressive Step %, Progressive Trigger (pips)

Default: 20% / 10% / 30 pips

Used in PROGRESSIVE mode. The first close happens at the trigger pip level (30 pips) closing Start% (20%). Each subsequent trigger adds Step% (10%) more to the close amount, progressively securing more profit as the trade extends.

💡 Example: At +30 pips → close 20%. At +60 pips → close 30%. At +90 pips → close 40%. The percentage grows as the move extends, locking in increasingly more profit at each level.
🛡️

Tab: Break Even

Automatically move Stop Loss to entry price when conditions are met

Use Break Even

Default: true

Master switch for Break Even. When triggered, the EA moves the Stop Loss of all open positions in the cycle to the average entry price (±buffer), eliminating the risk of a loss on a previously profitable trade.

BE Trigger

Default: BY_TP
  • BY_PROFIT — Moves SL to BE when the total floating profit of all trades in the cycle reaches the defined amount.
  • BY_TP — Moves SL to BE when a specific TP level (defined by TP Target for BE) is hit.
💡 Recommended: BY_TP is generally cleaner — it ties break even to a technical milestone (TP1 hit = signal is working) rather than an arbitrary profit figure.

Profit for BE

Default: 1.00

Minimum floating profit in account currency required to trigger Break Even. Only used when BE Trigger = BY_PROFIT.

💡 Example: Set to 50: once the trade cycle is $50 in profit, the SL of all orders in the cycle is moved to break even.

TP Target for BE

Default: 2

Which TP level triggers the Break Even move. Only used when BE Trigger = BY_TP.

💡 Example: Set to 1: as soon as TP1 is hit (first partial close), all remaining open orders in the cycle get their SL moved to break even. The trade can no longer result in a net loss.

Price to Add on BE (pips)

Default: 0.10

A small positive buffer (in pips) added on top of the average entry price when placing the BE stop. Ensures the stop is slightly in profit rather than exactly at entry (which could result in a tiny loss after spread).

💡 Example: Entry price = 2650.00, buffer = 0.10 pips → BE stop placed at 2650.10. Even if hit, the trade closes with a tiny profit instead of break even.
📈

Tab: Trailing Stop

Dynamic SL that follows price as the trade moves into profit

Use Trailing Stop

Default: false

Activates the trailing stop system. Once the trigger condition is met, the Stop Loss follows the price at a defined distance. If price reverses by more than the trailing distance, the SL is hit and the trade closes with secured profit.

TS Trigger

  • TS_BY_PIPS — Trailing starts when the position is X pips in profit (Trailing Trigger Pips).
  • TS_BY_TP — Trailing starts when a specific TP level is hit (TP Target for TS).

Trailing Trigger Pips / TP Target for TS

Default: 20 pips / TP2

The threshold that activates the trailing stop. For TS_BY_PIPS: number of profit pips required. For TS_BY_TP: which TP level activates it.

Trailing Stop Pips

Default: 15.0

Distance in pips maintained between the current price and the trailing SL. If price moves 16 pips favorably, SL moves to 1 pip behind (16-15=1). If price then reverses 15 pips, the SL is hit.

Trailing Step Pips

Default: 1.0

Minimum price movement required before the EA updates the trailing SL position. Prevents excessive SL modifications on every tick.

💡 Example: Step = 1 pip: SL updates every time price moves 1 pip favorably. Step = 5 pips: SL only moves in 5-pip increments, resulting in fewer broker requests.
🔒

Tab: Protection

Account-level drawdown and profit target protection

📌 How Protection Works: Protection monitors the account's total floating + realized P&L for the current trading day. When a limit is breached, the EA closes ALL open trades (regardless of individual P&L) and stops accepting new signals until the next day reset.

Use Drawdown Protection

Default: true

When enabled, the EA monitors the account's daily loss. If the drawdown reaches the configured limit, all open trades are immediately closed and the EA stops trading for the remainder of the day.

🔴 Critical for prop firms: Always enable this on prop firm accounts. Set the limit slightly below the challenge's allowed daily drawdown to avoid a failed challenge.

DD Mode

  • MODE_PERCENT — Drawdown limit expressed as a percentage of account balance (e.g. 5%).
  • MODE_MONEY — Drawdown limit expressed as a fixed amount in account currency (e.g. $500).

Max Drawdown % / Max Drawdown Money

Default: 5% / $100

The drawdown threshold values. Only the one matching DD Mode is active. When this level is reached, the EA triggers the protective closure.

💡 Prop Firm Example: FTMO challenge allows 5% daily drawdown on a $10,000 account = $500. Set DD Mode = MONEY and Max Drawdown Money = 450 to have a $50 safety buffer.

Use Profit Target

Default: true

When the daily profit reaches the target, the EA closes all positions and stops trading. Locks in the day's profits and prevents giving them back.

Profit Target % / Profit Target Money

Default: 3% / $200

Daily profit target threshold. When reached, the EA closes everything and stops for the day.

💡 Example: Set to 2% on a $5,000 account = $100 daily target. Once $100 is secured, the EA stops trading for the rest of the day, protecting that day's earnings.
⚠️ Daily Reset: Both drawdown protection and profit target reset at midnight broker server time. Trading resumes automatically the next day.
🧺

Tab: Basket Closure

Close all trades together when combined profit or loss target is reached

Use Basket Closure

Default: false

When enabled, the EA monitors the combined floating P&L of all open trades on a specific symbol. When the combined profit OR loss reaches the configured targets, ALL trades on that symbol are closed simultaneously — regardless of individual trade status.

💡 Use case: You have 5 grid orders open on XAUUSD. Some are in profit, some in loss. Instead of waiting for each individual TP/SL, Basket Closure lets you exit the entire position when the combined P&L hits your target.

Basket Profit Target

Default: 100.0

Combined profit in account currency that triggers basket close. Set to 0 to disable the profit target (only loss limit active).

Basket Loss Limit

Default: -50.0

Combined loss limit (negative value) that triggers emergency basket close. When the combined loss reaches this amount, all trades on the symbol are closed immediately to prevent further losses.

💡 Example: Profit Target = $100, Loss Limit = -$50. The basket closes when ALL positions together are either +$100 or -$50 in total floating P&L.
📡

Tab: Channel Overrides

Apply different risk settings per Telegram channel (up to 5 channels)

📌 How Channel Overrides work: By default, all channels use the global Risk settings. Channel Overrides allow you to assign custom risk settings for specific channels — for example, using 2% risk for your best channel and 0.5% for experimental ones, all running from the same EA instance.

Channel 1–5: Name

The exact name or ID of the Telegram channel to apply this override to. Must match exactly (case-sensitive) the channel identifier as it appears in your Configurator's channel list.

⚠️ Important: If the channel name doesn't match exactly, the override will not apply and the channel will use global settings.

Channel 1–5: Risk Mode

Risk Mode to apply for this specific channel: MANUAL, PERCENTAGE, or MONEY. Overrides the global Risk Mode setting.

Channel 1–5: Risk % / Risk Money

Risk percentage or fixed currency amount for signals from this channel. Only the value matching the channel's Risk Mode is used.

Channel 1–5: Execution Mode

GRID or SINGLE_ORDER execution for this channel's signals, overriding the global Execution Mode.

Channel 1–5: Grid Orders

Number of grid orders for this channel's signals, overriding the global Total Orders setting.

💡 Full example: You follow 2 channels: "Gold VIP" (high confidence) and "Forex Test" (experimental). Configure: Channel 1 = "Gold VIP" | Risk Mode = PERCENTAGE | 2% | GRID | 10 orders. Channel 2 = "Forex Test" | Risk Mode = PERCENTAGE | 0.25% | SINGLE_ORDER | 1 order.
🔍

Tab: Symbol Filter

Whitelist or blacklist specific trading symbols

Use Symbol Filter

Default: false

Enables symbol-based filtering. When active, only signals matching the filter rules are executed. All others are silently ignored.

Filter Mode

  • WHITELIST — Only trade the symbols listed in Allowed Symbols. All other symbols are blocked.
  • BLACKLIST — Block only the symbols listed in Blocked Symbols. All other symbols are allowed.

Allowed Symbols

Default: "EURUSD,GBPUSD,XAUUSD"

Comma-separated list of symbols to allow (WHITELIST mode). Use exact broker symbol names.

💡 Example: "XAUUSD,EURUSD,GBPUSD" — only gold and major forex pairs are traded. All crypto, indices, and other pairs are ignored.

Blocked Symbols

Default: "BTCUSD,ETHUSD"

Comma-separated list of symbols to block (BLACKLIST mode). Everything else is allowed.

💡 Example: "BTCUSD,ETHUSD,LTCUSD" — trade everything except crypto pairs.
🗺️

Tab: Symbol Mapping

Map signal symbol names to your broker's symbol names, and handle signals without a symbol

Symbol Mapping (Global Profile)

Maps symbol names from the signal text to the actual symbol names in your broker's MT5. The Global profile applies to all accounts unless overridden by an account-specific profile.

💡 Common mappings:
GOLD → XAUUSD
SILVER → XAGUSD
OIL → USOIL
US30 → US30.cash
NAS100 → NASDAQm

Account-Specific Mapping

Override the global mapping for a specific account number. Useful when you have multiple broker accounts where the same signal symbol maps to different broker symbol names per account.

Force Symbol If Missing ⭐ New v16.9

Default: false

When enabled, if a signal arrives without a recognizable trading symbol (e.g. "BUY NOW", "Enter here", "Scalping opportunity"), the EA automatically assigns the symbol defined in Symbol to Force and proceeds to open the trade.

This is critical for Telegram channels that dedicate themselves to a single instrument and never mention it in their messages — they assume all subscribers already know what they trade.

💡 Practical scenario: You subscribe to "XAUUSD Scalpers" channel. Their messages say: "Buy now scalping high risk" — no symbol, no price, just a direction. Enable Force Symbol If Missing, set Symbol to Force = XAUUSD, and the EA will execute every buy/sell signal from this channel as XAUUSD trades automatically.
⚠️ Important: Only enable this for channels that exclusively trade ONE specific instrument. If a channel posts signals for multiple symbols without naming them, this feature will apply the forced symbol to all of them incorrectly.

Symbol to Force ⭐ New v16.9

Default: "XAUUSD"

The symbol name automatically applied to signals without a detectable symbol. Must match exactly the symbol name in your broker's MT5 symbol list (including any prefix/suffix your broker uses).

💡 Examples:
Gold channel: XAUUSD (or XAUUSDm, GOLD depending on broker)
Euro channel: EURUSD
Oil channel: USOIL or XTIUSD

Tab: Pre-Signals

Enter trades early based on alert messages before the full signal arrives

📌 What are Pre-Signals?
Some Telegram channels send a preliminary alert message before the actual trade signal. For example: "⚠️ Preparing BUY XAUUSD — signal coming soon". Pre-Signals allows the EA to open initial positions when this alert is detected, then manage those positions when the full signal (with SL/TP) arrives. This allows early entry before other subscribers see the complete signal.

Pre-Signal Enabled

Default: false

Master switch for the Pre-Signal system. When enabled, the EA monitors incoming messages for patterns matching configured phrase templates and opens preliminary positions when a match is found.

⚠️ Configuration Required: Pre-Signals also require phrase templates to be configured in the Configurator's Telegram channel settings. The templates define which message patterns trigger pre-signal entries.

Pre-Signal Trades

Default: 2

Number of market orders to open when a pre-signal is detected. These are opened immediately at current market price.

💡 Example: Set to 2: when a pre-signal triggers, the EA opens 2 market orders at the current price in the detected direction (BUY or SELL).

Pre-Signal Lot Size

Default: 0.0 (use global)

Specific lot size for pre-signal orders. Set to 0.0 to use the global lot size defined in the Lots tab.

💡 Tip: Often set smaller than the main signal lot, since pre-signals carry more uncertainty (the full signal parameters are not yet known). Example: global lot = 0.10, pre-signal lot = 0.02.

Pre-Signal SL Pips / Take Profit for Pre-Signals (Pips)

Default: SL=50 / TP=100

Stop Loss and Take Profit in pips applied exclusively to pre-signal orders. These values are independent of the main signal's TPs and are never overridden by Use Manual TPs — pre-signals always use their own TP defined here. The SL can be replaced when the full signal arrives if Link Pre-Signal SL is enabled.

💡 Independent from Manual TPs: Use Manual TPs only affects main cycle orders. Pre-signal orders always use Take Profit for Pre-Signals (Pips) as their TP, regardless of the Manual TP configuration. To optionally close pre-signals in sync with a specific Manual TP level of the main cycle, use the Close Pre-Signal at TP parameter below.

Link Pre-Signal BE

Default: true

When the full signal arrives, automatically move the pre-signal orders to Break Even. This secures any profit made between the pre-signal entry and the full signal's arrival.

💡 Example: Pre-signal enters BUY at 2640. Full signal arrives when price is at 2655. With Link BE enabled, the pre-signal orders' SL is moved to 2640 (break even) — the 15-pip run-up cannot be lost.

Pre-Signal BE Pips

Default: 0.0

Buffer in pips added to the break even price when linking BE. A positive value places the SL slightly above entry (locking in a small profit). Used with Link Pre-Signal BE.

Close Pre-Signal at TP

Default: 1

Numeric bridge parameter (0–10) that closes all open pre-signal orders when the main cycle reaches the specified TP level. Set to 0 to disable — pre-signals will only close at their own TP or SL. Set to 2 to close all pre-signals the moment the main cycle hits TP2.

💡 How it works with Manual TPs: Pre-signal orders have their own independent TP (Take Profit for Pre-Signals). This parameter is the optional bridge between the two worlds: even if the pre-signal's own TP has not been reached yet, the EA will force-close all pre-signals when the main cycle hits the configured TP level.

Example (EURUSD BUY): Pre-signal TP = 80 pips. Manual TPs: TP1=50, TP2=100, TP3=150 pips. Close Pre-Signal at TP = 2.
→ TP1 hit at +50 pips: pre-signals remain open (own TP not reached, bridge level not reached).
→ TP2 hit at +100 pips: EA force-closes all pre-signals immediately, even though their own TP was 80 pips (already past). Main cycle continues to TP3 normally.

Link Pre-Signal SL

Default: false

When the full signal arrives, replace the pre-signal's temporary SL with the main signal's actual Stop Loss level. Syncs the pre-signal risk to the provider's intended risk level.

Pre-Signal Grid Enabled / Grid Operations / Market Orders / Grid Distance

When Pre-Signal Grid is enabled, the pre-signal entry opens a mini grid of orders instead of simple market orders. Configuration follows the same principles as the main grid:

  • Grid Operations — Total orders in the pre-signal grid (default: 5).
  • Market Orders — How many execute at market (default: 1).
  • Grid Distance Pips — Spacing between pre-signal grid orders (default: 2.0).

Pre-Signal Close Pending Pips

Default: 0.0 (disabled)

If price moves X pips away from the pre-signal entry without the full signal arriving, cancel all remaining pending pre-signal orders. Set to 0 to disable this automatic cancellation.

Custom Distance per Order (Pre-Signal Grid)

Default: disabled

When enabled, each pre-signal grid order uses its own individual entry distance (in pips) instead of the uniform Grid Distance Pips value. You can define up to 10 independent distances — one per grid slot. Any slot left at 0 falls back to the fixed grid distance.

  • Use Custom Distance per Order — Master toggle. Must be enabled to activate per-order distances.
  • Order 1–10 (pips) — Entry distance in pips for each grid slot. Slot 1 is the closest to the entry price.
💡 Example: Order 1 = 2 pips, Order 2 = 5 pips, Order 3 = 10 pips. The first pending order is placed 2 pips below entry, the second at 5 pips, the third at 10 pips — giving a non-uniform spacing optimized for your strategy.

Custom Lot per Order (Pre-Signal Grid)

Default: disabled

When enabled, each pre-signal grid order uses its own individual lot size instead of the global risk management calculation. You can assign up to 10 independent lot sizes — one per grid slot. Any slot left at 0 falls back to the risk-based lot calculation.

  • Use Custom Lot per Order — Master toggle. Must be enabled to activate per-order lots.
  • Order 1–10 (lots) — Lot size for each grid slot. Lot values are normalized to your broker's minimum/maximum step.
💡 Example: Order 1 = 0.05 lots, Order 2 = 0.03 lots, Order 3 = 0.01 lots. The first order (closest to entry) is largest, gradually reducing risk as the grid extends further from entry.
🔄

Tab: Reverse Trading

Invert signals — BUY becomes SELL and vice versa

Enable Reverse

Default: false

When enabled, all signal directions are inverted: BUY signals open SELL trades and SELL signals open BUY trades. Useful for testing contrarian strategies or when you know a channel systematically posts inverted signals.

⚠️ Use carefully: Reversing signals from a channel with a positive historical performance will invert that performance. Analyze carefully before enabling.

Reverse Mode

  • FULL — Reverse ALL signals from ALL channels.
  • SELECTIVE — Reverse only signals matching the specified channels or symbols (configured below).
💡 Example: You follow 3 channels. Only channel "ExpTest" is known to post reliable opposite signals. Use SELECTIVE mode and enter "ExpTest" in Reverse Channels — only that channel's signals are inverted.

Swap SL/TP ⭐ New v16.9

Default: false

When Reverse is active, also swaps the Stop Loss and Take Profit levels. When you reverse a BUY to SELL, the original SL becomes the TP and the original TP becomes the SL — maintaining the same reward-to-risk ratio in the opposite direction.

💡 Example: Signal: BUY EURUSD, Entry=1.0900, SL=1.0850 (50 pips), TP=1.1000 (100 pips).
With Reverse + SwapSLTP: Opens SELL EURUSD, Entry=1.0900, SL=1.1000 (100 pips), TP=1.0850 (50 pips).
Without SwapSLTP: Opens SELL with original SL/TP levels that now have swapped logical meaning.

Reverse Channels

Channel names to apply Reverse to in SELECTIVE mode. Enter multiple channels separated by commas.

Reverse Symbols

Symbol names to apply Reverse to in SELECTIVE mode. Signals for these symbols will be inverted regardless of which channel they come from.

🕵️

Tab: Prop Firm (Stealth Mode)

Hide EA trading patterns from prop firm monitoring systems

📌 What is Stealth Mode? Prop firms often monitor accounts for "EA-like" patterns — identical lot sizes, precisely timed entries, exact SL/TP placement. Stealth Mode introduces controlled randomness to disguise the automated nature of the trading and comply with prop firm rules that prohibit or restrict copy trading / EAs.

Prop Firm Mode

Default: false

Master switch for all Stealth Mode features. When enabled, all sub-settings below are active. Disabling this single switch turns off all stealth features at once.

Remove Channel Name from Comment

Default: false

By default, the EA adds the Telegram channel name to the order comment field. Enable this to remove that identifier, preventing prop firm auditors from seeing which signal channel drives the trades.

Delay Min (seconds) / Delay Max (seconds)

Default: 2s / 8s

Instead of executing orders instantly when a signal is received, the EA waits for a random duration between Min and Max seconds. This mimics the natural timing variation of manual trading.

💡 Example: Min=3, Max=12: each trade executes after a random 3 to 12 second delay. No two trades have the same delay, creating human-like timing patterns.

Lot Deviation %

Default: 5.0%

Randomly adjusts the lot size of each order by ±X%. Prevents the telltale pattern of identical lot sizes across all trades.

💡 Example: Configured lot = 0.10, deviation = 5%: orders execute at randomly between 0.095 and 0.105 lots. Different each time.

SL/TP Deviation (pips)

Default: 0.5

Randomly adjusts Stop Loss and Take Profit levels by ±X pips. Prevents the pattern of always placing SL/TP at round numbers or exact pip distances.

Daily Limit

Default: 0 (unlimited)

Maximum number of trades per day when in Prop Firm Mode. Set to match your prop firm's maximum trades per day rule. 0 = no daily limit.

✏️

Tab: Modifications

Offset entry price, stop loss, and take profit from signal values

Entry Modification (pips)

Default: 0.0

Adjusts the entry price of every order by the specified number of pips. Positive values move entry in the less favorable direction (safer, further from current price). Negative values move entry in the more favorable direction (more aggressive, closer to or past current price).

💡 Examples:
BUY signal at 1.0900, Entry Mod = +5 pips → order placed at 1.0905 (5 pips higher, safer entry)
BUY signal at 1.0900, Entry Mod = -5 pips → order placed at 1.0895 (5 pips lower, better fill price)

SL Modification (pips)

Default: 0.0

Adds or subtracts pips from the signal's Stop Loss distance. Positive = wider SL (more room for price to move), Negative = tighter SL (less risk per trade).

💡 Example: Signal SL = 50 pips, SL Mod = +10 → actual SL placed 60 pips from entry. Useful if the channel's SL levels are consistently too tight and get hunted.

TP Modification (pips)

Default: 0.0

Adjusts the Take Profit distance. Positive = extends the TP target further (more ambitious), Negative = brings TP closer (locks in profit earlier).

💡 Example: TP Mod = -20 pips: closes 20 pips before the channel's TP level. Useful if the channel's targets are frequently missed by a few pips.
🔬

Tab: Advanced

Dashboard, time filter, default SL/TP, signal handling, and architecture settings

Show Dashboard

Default: true

Shows or hides the visual information panel overlaid on the MT5 chart. The dashboard displays current signal status, active trades, connection status, and daily P&L.

Dashboard Theme

Default: DARK

Visual theme for the dashboard overlay. Options: DARK, LIGHT, MATRIX (green on black), TRADINGVIEW (matches TradingView color scheme).

Dashboard X / Y Position

Default: X=10, Y=30

Pixel position of the dashboard panel on the chart. Adjust to avoid overlapping with price action or other indicators.

Use Time Filter

Default: false

Restricts the EA to only open new trades during specific hours. Signals received outside the allowed window are ignored. Does not affect management of already-open trades.

Start Hour / End Hour

Default: 8 / 22 (broker server time)

Hour range during which the EA accepts new signals. Times are in broker server time (visible in MT5's Market Watch clock).

💡 Example: Start=8, End=20: the EA only trades between 8:00 AM and 8:00 PM broker time. Outside those hours, signals are received and logged but no orders are placed.

Fixed SL (pips) / Fixed TP (pips)

Default: SL=50 / TP=100

Default Stop Loss and Take Profit in pips applied when a signal does not include these values. Ensures trades always have risk management even when signal providers omit SL/TP.

💡 Tip: Set Fixed SL to a value you are comfortable with. If a signal provides its own SL, that takes priority over the fixed value.

Require SL

Default: false

If true, the EA rejects any signal that does not include a Stop Loss value. No trade will be opened without a defined SL. Use this with strict risk management requirements.

Wait for Complete Signal

Default: false

When enabled, if an initial message has direction but no SL/TP, the EA waits for a follow-up message with complete information before opening any orders. Useful for channels that send signals in two parts.

Wait Timeout (seconds)

Default: 60

Maximum seconds to wait for the complete signal follow-up. If no completion message arrives within this time, the EA either proceeds with the partial information or cancels the entry (depending on the Require SL setting).

Enable Multi-Cycle Architecture

Default: true

Enables the advanced concurrent cycle management engine. Each unique combination of channel + symbol + direction gets its own independent trading cycle, allowing the EA to simultaneously manage 100+ active cycles without conflicts.

✅ Recommendation: Always leave this enabled. It is required for multi-channel, multi-symbol operation and has no performance downside.

Manual TP Levels

Default: disabled

When enabled, the EA completely ignores the Take Profit levels provided in the signal and instead uses up to 10 fixed TP levels defined here (in pips from the entry price). This is useful when you want consistent TP distances regardless of what the signal provider sends.

  • Enable Manual TPs — Master toggle. When ON, signal TPs are ignored and these fixed levels are used instead.
  • TP1–TP10 (pips) — Distance in pips from the entry price for each TP level. Levels set to 0 are skipped.
💡 Example: Manual TP1 = 30 pips, TP2 = 60 pips, TP3 = 100 pips. Regardless of the signal's TPs, the EA will target these exact distances for partial closes and full exits.
⚠️ Note: This override applies only to main cycle trades, not to Pre-Signal orders. Pre-signals always use their own independent Take Profit for Pre-Signals (Pips) parameter. To optionally close pre-signals in sync with a Manual TP level, use Close Pre-Signal at TP (e.g. set to 2 to close all pre-signals when the cycle hits TP2). The existing Break Even and Trailing Stop triggers still work with these manual TP levels.

R:R Ratio TP Levels

Default: disabled New in v17.3

Dynamic TP mode where each Take Profit level is automatically calculated as a multiple of the signal's Stop Loss distance. Instead of fixed pip values, you configure multipliers (ratios) and the EA adapts to every signal's SL automatically.

  • Enable R:R Ratio TPs — Master toggle. When ON, signal TPs are ignored and R:R-calculated levels are used instead.
  • R:R Ratio 1–10 — Multipliers applied to the SL distance. 1.0 = 1:1 (TP at same distance as SL), 2.0 = 1:2, 3.0 = 1:3. Set to 0 to skip a slot.
💡 Example: SL = 150 pips, R:R Ratio 1 = 1.0, Ratio 2 = 2.0, Ratio 3 = 3.0 → TP1 = 150 pips, TP2 = 300 pips, TP3 = 450 pips. The distances adapt automatically to every signal.
⚠️ Priority: Manual TPs take priority over R:R Ratio TPs. If both are enabled simultaneously, R:R Ratio TPs are ignored. R:R Ratio TPs do not apply to Pre-Signal orders.
🔑

Tab: License & Server

License key, server connection, auto-update settings

License Key

Your unique Nexus Copier license key, tied to your MT5 account number. Must be entered here and in the Configurator's License tab. The EA validates this key against the license server on startup and periodically during operation.

Server URL

Default: http://127.0.0.1:5000/get_trade

The full URL of the NexusServer polling endpoint. Only change this if you modified the default port (5000) in the server configuration, or if running the server on a different machine on your local network.

⚠️ Note: If running on a VPS where NexusServer and MT5 are on the same machine, keep the default 127.0.0.1. Do not expose this port to the internet.

Account ID

Default: "default"

Unique identifier for this MT5 account instance. When running multiple MT5 accounts, each must have a unique Account ID so the server can route signals to the correct account.

💡 Multi-account example: Account 1: ID = "account_main" | Account 2: ID = "account_prop" | Account 3: ID = "account_test"

Update Interval (seconds)

Default: 1

How often (in seconds) the EA polls the NexusServer for new signals. 1 second is recommended for near-real-time signal reception. Increase to 2–3 if your VPS has limited resources.

Connection Alert Cooldown (minutes)

Default: 300 minutes

Minimum time between connection error alert notifications. Prevents the EA from flooding you with alerts if the server is temporarily unreachable.

Max Retries / Retry Delay (ms)

Default: 3 retries / 1000ms

On a failed connection attempt, the EA retries up to Max Retries times, waiting Retry Delay milliseconds between each attempt before reporting a connection error.

Enable Auto-Update / Update Check Interval

Default: true / 24 hours

The EA periodically checks for new versions. When an update is available, a notification appears in the EA's chart comment. Disable this if you prefer manual update control.

📝

Tab: File Logging

Control what events are recorded to log files for debugging and auditing

📁 Log file location: Logs are saved in the MT5 Data Folder → MQL5/Files/ directory. File name format: NexusCopier_YYYYMMDD.log. A new file is created each day.

Enable File Logging

Default: true

Master switch for all file logging. Disabling this single parameter stops all log file writing, regardless of individual log category settings.

Log Signals (Default: true)

Records every signal received from the server, including raw signal data, parsed values, and rejection reasons.

Log Orders (Default: true)

Records every order open, close, and modification with ticket numbers, prices, and lot sizes.

Log Commands (Default: true)

Records internal EA command processing — useful for debugging why a signal was or wasn't acted upon.

Log Modifications (Default: true)

Records Break Even moves, Trailing Stop updates, and SL/TP modifications.

Log TP Hits (Default: true)

Records when each Take Profit level is reached, including partial close amounts.

Log Errors (Default: true)

Records all errors and warnings. Always keep this enabled — essential for diagnosing issues.

Log Connection (Default: false)

Records every server poll request and response. Produces very large log files — enable only when debugging connection issues.

Log Protection (Default: true)

Records drawdown protection triggers, profit target closures, and daily reset events.

3. Nexus Server — Configuration & Operation

The middleware that bridges Telegram and MetaTrader 5

3.1 What Does NexusServer Do?

  • Connects to Telegram using your personal account via the official Telegram API
  • Monitors configured channels for new messages in real-time
  • Parses signal text to extract: trading direction, symbol, entry price, Stop Loss, Take Profit
  • Detects Pre-Signal phrases using configurable templates
  • Serves parsed signals to the EA via a local HTTP endpoint (GET /get_trade)
  • Manages multi-account routing — sends signals to the correct MT5 account based on Account ID

3.2 config.json — All Parameters

NexusServer reads its configuration from config.json in its installation folder. This file is written by the Configurator — you should not edit it manually unless absolutely necessary.

{
  "FORCE_SYMBOL_IF_MISSING": false,
  "SYMBOL_TO_FORCE": "XAUUSD",
  "TELEGRAM_BOT": {
    "ENABLED": false,
    "BOT_TOKEN": "",
    "AUTHORIZED_USER_ID": ""
  },
  "ACCOUNTS": [
    {
      "ID": "default",
      "CHANNELS": [ ... ]
    }
  ]
}

FORCE_SYMBOL_IF_MISSING ⭐ New v16.9

Default: false

Server-side enforcement of the forced symbol feature. When true, signals without a detected symbol are automatically assigned SYMBOL_TO_FORCE before being served to the EA.

SYMBOL_TO_FORCE ⭐ New v16.9

Default: "XAUUSD"

The symbol name injected into symbol-less signals when FORCE_SYMBOL_IF_MISSING is true.

TELEGRAM_BOT.ENABLED

Default: false

Enables an optional Telegram notification bot. When enabled and configured, the bot sends trade confirmation messages to your Telegram.

TELEGRAM_BOT.BOT_TOKEN

The bot token obtained from @BotFather on Telegram. Create a bot via @BotFather and copy the token here.

TELEGRAM_BOT.AUTHORIZED_USER_ID

Your Telegram user ID (numeric). Only this user can receive notifications from the bot. Get your ID via @userinfobot.

3.3 Pre-Signal Phrase Templates

Pre-Signal detection uses phrase templates configured per channel in the Configurator. Templates support two placeholders:

  • {ACTION} — matches BUY, SELL, LONG, SHORT, and common variations
  • {SYMBOL} — matches any trading symbol in the message
💡 Template examples:
Buy Now — matches any message containing "buy now" (case-insensitive)
Scalping {ACTION} {SYMBOL} slowly — matches "scalping buy XAUUSD slowly"
Preparing {ACTION} (scalping) — parentheses are valid in templates

3.4 Multi-Account Management

NexusServer can route signals to multiple MT5 instances simultaneously. Each account is identified by its Account ID and receives the same signals (or filtered signals based on channel configuration).

💡 Example setup: 3 MT5 accounts with IDs: "main", "prop1", "prop2". NexusServer serves signals to all three. Each EA instance's Account ID matches one of these — the EA only processes signals tagged for its ID.

3.5 Server Logs

NexusServer creates log files in its installation directory. Logs include: Telegram connection events, received messages, signal parsing results, pre-signal detections, and errors.

📁 Log location: Same folder as Nexus Server.exe → files named nexus_YYYYMMDD.log

3.6 HTTP Endpoint Reference

The EA communicates with NexusServer via HTTP GET requests:

GET http://127.0.0.1:5000/get_trade?account=default

Response (JSON):
{
  "signal": "BUY",
  "symbol": "XAUUSD",
  "entry": 2650.00,
  "sl": 2630.00,
  "tp1": 2680.00,
  "tp2": 2700.00,
  "tp3": 0,
  "channel": "Gold Signals",
  "symbol_forced": false
}
🎛️

4. Nexus Configurator — Complete Guide

Using the Visual Configurator to set up every parameter

4.1 Overview

The Visual Configurator is a Windows desktop application that provides a graphical interface for all 226+ parameters. Changes are written to config.json which is read by NexusServer on startup or after saving. You do not need to restart the EA for most setting changes.

⚠️ Important: The Configurator and NexusServer must run on the same PC/VPS. The Configurator writes to a local config.json file that NexusServer reads from the same directory.

4.2 Telegram Tab — Detailed Guide

1

Enter API credentials

API ID (number) and API Hash (string) from my.telegram.org. See Section 1.4 for full instructions.

2

Phone number verification

Enter your number in international format (+country code). Wait for the Telegram verification code via SMS or in-app message.

3

Add channels

Use the "+" button to add channels. For public channels, use @username. For private channels, use the numeric ID (get it by forwarding a message to @userinfobot).

4

Configure per-channel options

Click each channel to configure: Pre-Signal templates, Force Symbol settings, enable/disable status.

4.3 Symbol Mapping Tab

Use the Global profile for mappings that apply to all accounts. Create account-specific profiles for brokers with different symbol naming conventions.

The Force Symbol If Missing toggle is also found here — enable it and set the target symbol for channels that don't include instrument names in their signals.

4.4 TP Profiles Tab

Create named TP close profiles (e.g., "Conservative 25/25/25/25", "Aggressive 50/50") and assign them to specific channels. When Use Server TP Profiles is enabled in the EA, it applies the matching profile instead of the local TP configuration.

4.5 Saving & Applying Configuration

1

Click "Save" in the Configurator

Writes all current settings to config.json.

2

NexusServer picks up changes

NexusServer detects the file change and reloads configuration automatically — no restart required.

3

EA continues without interruption

Changes to signal parsing and channel settings take effect immediately. EA input changes (risk, grid, protection) require reattaching the EA or using the Configurator to update the EA's config.json-linked settings.

📊

5. Nexus Trade Analyzer

Professional performance analytics — import your trade history and visualize every metric that matters

What is the Nexus Trade Analyzer? It is a built-in analytics dashboard inside Nexus Server that imports your MT4/MT5 trade history as a CSV file and generates comprehensive performance statistics, interactive charts, and AI-powered insights. No external tools or subscriptions required.

5.1 Export Trade History — ExportHistoryToCSV

Before opening the Analyzer you must export your MT4/MT5 trade history using the included script ExportHistoryToCSV.ex5 (MT5) or ExportHistoryToCSV.ex4 (MT4).

1

Copy the script to MetaTrader

MT5: copy ExportHistoryToCSV.ex5 to MQL5/Scripts/. MT4: copy ExportHistoryToCSV.ex4 to MQL4/Scripts/. Refresh the Navigator panel.

2

Drag the script onto any chart

A parameters dialog appears with three inputs.

3

Set the parameters and click OK

Magic Number Filter (default 0 = all trades) · Days Back (default 365, use 0 for full history) · Custom Filename (leave empty for auto-naming).

4

Locate the output CSV

File saved to MT5 Data Folder/MQL5/Files/NexusCopier_TradeHistory_[MagicNumber].csv (or _ALL.csv). Each row contains: open/close time, duration, channel name, symbol, direction, entry/exit price, SL, lots, gross profit, commission, swap, net profit, pips, outcome (WIN/LOSS/BREAKEVEN), and close reason.

5.2 Open the Analyzer in Nexus Server

1

Launch Nexus Server.exe

Make sure Nexus Server is running.

2

Click "Analyzer" in the sidebar

The Analyzer opens in a dedicated window. It auto-scans your MT5 Files folder for NexusCopier_TradeHistory_*.csv files.

3

Load your CSV and apply filters

Select the CSV from the dropdown. Use filters to narrow analysis by date range, channel, symbol, outcome, or close reason.

5.3 Analyzer Views

📋 Trade History

Full sortable/filterable table of all trades.

📈 Equity Curve

Interactive equity progression chart.

📉 Drawdown Analysis

Drawdown depth, duration, and recovery.

🗓️ Monthly Heatmap

Color-coded P&L by month and year.

🕐 Temporal Analysis

Profit by hour of day and day of week.

📊 Profit Distribution

Bar chart of P&L spread across trades.

🤖 AI Insights

Automated pattern detection and anomaly flags.

🎲 Monte Carlo

Probability distribution of future outcomes.

🧪 Scenario Lab

What-if testing with different risk settings.

5.4 Statistics Panel

Basic Stats

Total Trades · Win Rate % · Net Profit · Avg Profit per Trade · Best / Worst Trade

Pro KPIs

Profit Factor · Expectancy ($/trade) · Max Drawdown ($ & %) · Recovery Factor · Risk/Reward Ratio

Streaks & Rankings

Max Win/Loss Streak · Current Streak · Top Channels by profit · Top Symbols by profit

Recommended workflow: Run ExportHistoryToCSV weekly. In the Analyzer, check AI Insights for consistently losing channels or symbols, then block them in Symbol Filter or reduce their risk via Channel Overrides.
📚

6. Practical Guides & Use Cases

Step-by-step configurations for common scenarios

Guide 1: Basic Setup for Beginners

Minimum configuration to go from zero to your first automated trade. Use these settings while you learn the system — they are safe and conservative.

1

Install all three components

EA in MT5, Nexus Server.exe running, Configurator installed. See Block 1 for full instructions.

2

Connect Telegram

Enter API ID + Hash in Configurator → Telegram tab. Verify with your phone number.

3

Add one signal channel

Add the channel by username or ID. Leave all channel settings at defaults.

4

Set Risk Mode = MANUAL, Fixed Lot = 0.01

This is the safest mode — always opens 0.01 lots regardless of account size.

5

Set Execution Mode = SINGLE_ORDER

One order per signal. No grid complexity while you're learning.

6

Enable Drawdown Protection at 3%

Safety net: stops trading if daily loss exceeds 3% of account balance.

7

Enter your License Key

In both EA inputs and Configurator License tab.

8

Save and test

Save config in Configurator. Wait for the next signal. Verify a trade opens in MT5.

Guide 2: Conservative Configuration (Low Risk)

Recommended settings for cautious account growth with strong protection:

Parameter Value Reason
Risk Mode PERCENTAGE Scales with account size
Risk Percentage 0.5% Half a percent per trade
Execution Mode SINGLE_ORDER No averaging
Max Simultaneous Trades 3 Limits total exposure
Use Break Even true Protects profitable trades
Drawdown Protection 3% Stops early on bad days
Profit Target 2% Locks in daily gains
Allow Duplicates false No accidental doubling

Guide 3: Trading Signals Without a Symbol (Force Symbol)

Scenario: You subscribe to a gold-only Telegram channel that sends messages like "BUY NOW scalping high risk" — no symbol mentioned.

1

Open Configurator → Symbol Mapping tab

Find the "Force Symbol If Missing" toggle.

2

Enable "Force Symbol If Missing"

Toggle it ON.

3

Set "Symbol to Force" = XAUUSD

Or whichever symbol your broker uses for gold. Check the exact name in MT5's Market Watch.

4

In EA inputs: enable InpForceSymbolIfMissing = true

Set InpSymbolToForce = XAUUSD (same value as in Configurator).

5

Save and test

Send or wait for a signal without a symbol. Check the log file for "symbol_forced: true" to confirm it's working.

⚠️ Critical: Only use this for channels that trade a SINGLE instrument. If the channel trades multiple symbols but never names them, this feature will incorrectly assign XAUUSD to all signals.

Guide 4: Pre-Signals — Step-by-Step Setup

Scenario: Your channel sends "⚠️ Preparing BUY XAUUSD" before the full signal with entry/SL/TP.

1

Enable Pre-Signal in Configurator → Pre-Signals tab

Toggle "Pre-Signal Enabled" ON.

2

Add a phrase template

In the channel's settings, add template: Preparing {ACTION} {SYMBOL}

3

Configure pre-signal parameters

Pre-Signal Trades = 1, Lot Size = 0.01 (small), SL = 50 pips, TP = 100 pips.

4

Enable Link Pre-Signal BE

When full signal arrives, pre-signal orders move to break even automatically.

5

Set Close Pre-Signal at TP = 1

Pre-signal orders close when the main signal's TP1 is hit.

Guide 5: Prop Firm Configuration

Recommended settings for FTMO, MFF, The5ers, and similar prop firm challenges:

Parameter Value
Prop Firm Mode true
Remove Channel Name true
Delay Min / Max 3s / 12s
Lot Deviation 5%
SL/TP Deviation 0.5 pips
Max Drawdown 4% (below firm's 5% limit)
Risk per Trade 0.5% – 1%
Use Break Even true, trigger at TP1
🔴 Always check your prop firm's specific rules before trading. Some firms prohibit copy trading entirely. Using Nexus Copier on a prop firm account is at your own responsibility.

Guide 6: Dynamic ATR Grid Setup

When to use: volatile markets where fixed pip distances cause over-dense or over-sparse grids. ATR Grid automatically adapts spacing to current market conditions.

1

Enable "Use ATR Grid" in Grid Distance tab

2

Set ATR Period = 14, Timeframe = H1

Standard ATR settings suitable for most currency pairs and metals.

3

Set ATR Multiplier = 0.10 to 0.15

Start at 0.10 and observe the resulting grid distances. Adjust to match your preferred spacing.

💡 Expected result: On XAUUSD during London session (high volatility), ATR ≈ 250 → grid distance ≈ 25 pips. During Asian session (low volatility), ATR ≈ 80 → grid distance ≈ 8 pips. Grid adapts automatically.

Guide 7: Reverse Trading — Fading Signals

When to use: you've analyzed a channel and found it consistently loses — meaning reversing their signals would be profitable. Or for systematic strategy testing.

1

Enable Reverse in Reverse Trading tab

2

Set Mode = SELECTIVE

Only reverse the specific channel(s) identified as having reversible signals.

3

Enter the channel name in Reverse Channels

4

Enable Swap SL/TP

Ensures SL and TP are correctly swapped when reversing — maintaining proper risk/reward ratios.

Guide 8: Multi-Account Setup

Running 3 MT5 accounts from a single Nexus Server and Configurator instance:

1

Assign unique Account IDs

In Configurator → Accounts section: create IDs "main_account", "prop_ftmo", "prop_mff".

2

Set Account ID in each EA

Each MT5 EA instance's Account ID parameter must match the ID configured in the Configurator.

3

Configure per-account risk settings

Each account can have different Risk %, Channel Overrides, and Protection limits.

4

All accounts receive the same signals

Nexus Server broadcasts signals to all registered accounts. Each EA applies its own risk settings independently.

🔧

7. Troubleshooting

Common problems and how to solve them

❌ EA Not Receiving Signals

  • ✓ Is Nexus Server running? Check for the console window. Try visiting http://127.0.0.1:5000/get_trade in a browser.
  • ✓ Does the Server URL in EA parameters match the actual port? Default: http://127.0.0.1:5000/get_trade
  • ✓ Is Telegram connected? Check for a green connected status in the Configurator's Telegram tab.
  • ✓ Is the channel added and enabled in the Configurator?
  • ✓ Are WebRequests allowed in MT5 for http://127.0.0.1:5000?
  • ✓ Check the EA log file in MT5 Data Folder → MQL5/Files/ for error messages.

❌ Orders Not Opening

  • ✓ Does the symbol exist in your broker's MT5? Check Market Watch. Add a Symbol Mapping if needed.
  • ✓ Is Symbol Filter active and blocking this symbol?
  • ✓ Is Time Filter active and outside allowed hours?
  • ✓ Has Max Simultaneous Trades limit been reached?
  • ✓ Is Drawdown Protection triggered (trading stopped for the day)?
  • ✓ Is the license valid? Check EA log for license errors.
  • ✓ Is AutoTrading enabled in MT5 (the green robot icon in the toolbar)?

❌ Signals Without Symbol Not Working

  • ✓ Is "Force Symbol If Missing" enabled in BOTH the Configurator (Symbol Mapping tab) AND the EA inputs?
  • ✓ Does "Symbol to Force" exactly match the broker's symbol name (including any suffix like 'm' or prefix)?
  • ✓ Check the EA log for entries containing "symbol_forced" to confirm the feature is triggering.
  • ✓ Check Nexus Server log for the parsed signal to see if symbol_forced = true in the JSON response.

❌ Pre-Signals Not Being Detected

  • ✓ Is Pre-Signal Enabled = true in the EA inputs?
  • ✓ Is the phrase template configured in the Configurator's channel settings (not just globally)?
  • ✓ Does the template match the actual message format? Templates are case-insensitive but must match the structure.
  • ✓ Check Nexus Server log for "pre-signal" parsing entries to see if the message reaches the parser.
  • ✓ Note: parentheses in templates are valid and properly escaped internally.

❌ License Error

  • ✓ Verify the License Key is entered in BOTH the EA inputs and the Configurator's License tab.
  • ✓ Confirm the license is registered for your current MT5 account number.
  • ✓ Check internet connection — the license requires online validation on startup.
  • ✓ If you changed brokers or account numbers, contact support to transfer your license.

❌ Nexus Server Won't Start or Connect

  • ✓ Run Nexus Server.exe as Administrator (right-click → Run as administrator).
  • ✓ Check Windows Firewall — add an inbound rule to allow port 5000.
  • ✓ Check if another process is using port 5000: run netstat -an | findstr 5000 in Command Prompt.
  • ✓ Check antivirus — add Nexus Server.exe to the exclusions list.
  • ✓ Ensure .NET 8 Runtime is installed (check the installer or download from Microsoft).