Skip to content

Looking for beta testers: want early access and a direct line to the team?Let us know on support →

AutoSignalCopiersignals → metatrader

Features

What it does, and the safety model around it

Every capability listed here exists in the current desktop build and can be verified in the app. Roadmap items are not marketed as features.

Capabilities

What it does today

Fifteen capabilities in the current build, each verifiable in the app.

fail-closed

A routing gate that starts closed

Nothing executes until you enable the gate and type the confirmation. Signals that arrive before that stay review-only forever. Routing is never retroactive.

direct sessions

Your Telegram (and Discord), not a bot relay

AutoSignalCopier talks to Telegram directly from your Windows machine through your own account session, signed in by QR or phone, with no third-party bot in the middle. Discord connects the same way, locally: a bot token for servers you control, or your own account token where that is the only route (prohibited by Discord's terms; opt-in, account-termination risk). Chats and channels you select are read locally.

structured orders

Signals parsed as data, not text

New messages (and, where you turn it on, the text in image posts) are classified by a versioned parser into entries, management instructions, or chatter: entries become structured orders (side, symbol, entry, stop, and every target listed), and, by default, an entry naming no stop is refused. Management (close, partial close, break-even, move SL or TP, cancel pending, close all) acts only with that channel's consent, which is off by default — binding follows a strict ladder that refuses rather than guesses, close-all never touches positions the copier didn't open, and an edit after routing is stored while the trade is left alone. Duplicates and edits before routing are handled deterministically.

broker mapping

Exact symbol and size control

You decide the mapping between the provider's symbol and your broker's (EURUSD to EURUSD.a, for example), and how each destination sizes: fixed lots, or a set risk per trade as a percentage of balance or equity or a fixed amount of money. No surprises, no implicit leverage decisions.

loopback EA

Connectors you install, verify, and trust

127.0.0.1

Packaged EA, no DLL imports, no MetaEditor. No cloud hop on the trade path.

full trail

Every order leaves a trail

A signal's journey is recorded from admission to queueing to EA delivery to broker result, so when an order does not fill, you can see exactly where it stopped and why.

lot sizing

Risk-based lot sizing that refuses rather than guesses

Set a destination to risk a percentage of balance or equity (up to 20%) or a fixed amount in the account's currency per trade, or keep the default fixed lots. The EA computes a risk-sized lot at execution time from the live price, the signal's stop-loss distance and the broker's tick value, rounds it down to the volume step so it never risks more than you set, and caps it at your max lot for that mapping and the broker's maximum. A signal with no stop loss is refused, not sized by guess; a lot below the broker's minimum is refused unless you opt in to trading the minimum, which can risk more than you set; and a destination on an older connector refuses until you update it. An optional per-channel risk weight scales the risk, and the app previews what one trade risks.

  • fixed lotsdefault · the volume you set
  • % of balance or equityrisk per trade · max 20%
  • fixed moneyrisk per trade · account currency

take profits

Every take-profit used, never more volume than you set

Per destination, keep the default of TP1 only, or use every take-profit a signal lists, split equally or by your own shares (50/30/20, say). With a split on, an entry that lists several targets opens one position per target, each with its own take-profit and the entry's stop loss. The size is divided, not multiplied. Fixed lots are split by your shares and each part is rounded down to the broker's volume step, so the total never exceeds what you set; if a part would fall below the broker's minimum, the last targets are dropped and their share spread over the rest, and the signal records how many targets were opened. On a risk-sized destination the risk per trade is divided the same way and the EA sizes each position, refusing one that sizes below the broker's minimum unless you opt in to trading the minimum. With the channel's trade-management consent, close, close half, break-even and move SL reach every open position of that signal, while “TP2 to X” moves only the second.

  • TP1 onlydefault · one position, first target
  • every TP, equal splitone position per target
  • every TP, custom splite.g. 50 / 30 / 20 · adds to 100%

stop management

Break-even and trailing stops that only ever tighten

Per destination, and off by default, so nothing changes until you opt in. Move the stop to break-even after TP1 is hit, after a set number of pips in profit, or after a multiple of the stop's distance (R), optionally locking in a few pips past entry to cover spread or commission. A trailing stop starts after X pips in profit, keeps the stop Y pips behind price and moves in steps of at least Z pips; it only ever tightens the stop, never loosens it. The pip and R rules and the trail run inside the MetaTrader EA, so they keep working while the desktop app is closed and survive a terminal restart; the TP1 rule needs a destination that uses every take-profit, and the app running. An R rule refuses a signal with no stop loss, a destination on an older connector refuses these rules until you update it, and each stop a rule moves shows in the app's Activity list as “Stop moved by rule”. With the channel's trade-management consent, its own messages (move SL to entry, say) still apply.

  • break-even offdefault · no change until you opt in
  • after TP1 is hitevery take-profit · app running
  • after X pips in profitruns in the EA · app can be closed
  • after a multiple of R1R = entry to SL · no SL, refused
  • trailing stopstart X · Y behind · steps of Z pips

account protection

Daily loss and drawdown limits that stop new entries

Per destination, and off by default, so nothing changes until you opt in. Set a daily loss limit as an amount in the account's currency or a percentage of the day's starting balance; the day starts at the broker server's midnight, or at a UTC hour you pick for firms that reset differently. Set a maximum drawdown as a percentage from the highest equity reached, or from a starting balance you enter, prop-firm style. You can also cap how many copier trades are open on the account and on each symbol: a signal that would go over a cap is refused, and one split across several take-profits counts every position. The daily loss limit and drawdown are checked by the MetaTrader EA on every tick, so they hold while the desktop app is closed and survive a terminal restart; deposits, withdrawals and credit are not counted as losses. When a limit is reached, new entries stop: the daily limit until the next trading day, the drawdown until you resume from the app, which restarts the limits from the current equity. Optionally, every copier position is closed and its pending orders cancelled at that moment; trades you opened yourself are never touched, and the channel's management of trades already open still applies. The app shows today's result against the limit, alerts you when one is reached and lists it on the Activity page, and the dashboard's Accounts page shows whether entries are stopped. Until the terminal confirms it is guarding with the settings you saved, new entries on that account wait, and a destination on an older connector is asked to update it before the daily loss and drawdown limits can be turned on. It helps you stay inside the limits you set; it is not a copy of any firm's rules.

  • protection offdefault · no limits until you opt in
  • daily loss limitaccount currency or % of the day's start
  • maximum drawdown% from peak equity or a set balance
  • open-trade capsper account · per symbol · over, refused
  • limit reachednew entries stop · optional close-all

entry filters

Filters for hours, symbols, spread and a price that has moved

All off by default, so nothing changes until you opt in. Trading hours: set weekday and time windows, in your computer's local time, for a destination or for a channel, and new entries outside them are refused; a window can run past midnight. A channel can also take only the symbols you list, or every symbol except them, matched as the channel writes them. A maximum spread in pips, per destination with an optional per-symbol override, and a price-moved limit are checked by the MetaTrader EA against the live price just before a market order is sent. When the price has moved more than your limit from the entry the signal stated, the trade is skipped, or, if you choose, a limit or stop order waits at the stated entry with the signal's stop loss and targets. A signal that states no entry is traded at market with only the spread checked, and pending-order signals are not spread-checked. Pending orders can expire after a number of hours you set. Every refusal carries its reason, and instructions for trades already open are never filtered. The spread and price-moved limits need the updated connector; hours, symbol lists and expiry work with any connector.

  • filters offdefault · every signal as before
  • trading hoursper destination · per channel · local time
  • symbol listper channel · only these, or all but these
  • maximum spreadpips · per destination or symbol · in the EA
  • price movedskip, or a pending order at the stated entry
  • pending expiryhours · every pending order

news filter

A news filter that pauses entries around high-impact events

Per destination, and off by default. The app downloads the ForexFactory economic calendar and refuses new entries from a number of minutes before a high-impact event until a number of minutes after it, for the currencies the symbol trades in: EURUSD pauses for euro and US dollar news, gold and US indices for US dollar news, GER40 for euro news. Medium-impact events can count too. Optionally, the account's copier positions on the affected symbols are closed and their pending orders cancelled a few minutes before the event; trades you opened yourself are never touched. If the calendar can't be downloaded, or a symbol's currency is unknown, entries on that account are refused with the reason rather than taken blind. The app runs the filter, so it works with any connector; the Routing page shows the next events and whether the calendar is up to date.

  • news filter offdefault · every signal as before
  • high impactor high and medium · ForexFactory calendar
  • pause window0-240 min before · 0-240 min after
  • symbol currenciesEURUSD → EUR, USD · XAUUSD → USD
  • close beforeoptional · copier trades on those symbols
  • no calendarentries refused, never taken blind

entry zones

Entry zones traded as a midpoint limit or in layers

Off by default, so a signal like "BUY XAUUSD 2350-2345" trades as one entry until you choose otherwise. Per destination, a zone can instead become one limit order at its middle, or several orders spread across it: the first at market and the rest as limit orders further into the zone. The size or risk is divided between them and each is split over your take-profits, within a per-signal order limit you set. A zone only counts when the stop loss and first target sit outside it. When the channel closes the trade or a position reaches its target, the orders still waiting are cancelled. They are ordinary MetaTrader orders, so any connector works.

  • first pricedefault · one entry, as before
  • midpointone limit order at the middle of the zone
  • layersfirst at market · limits deeper · 2-10
  • size or riskdivided equally · then over the TPs
  • order limitlayers × TPs per signal · 6 by default
  • close or targetorders still waiting are cancelled

image signals

Signals posted as images, read on your computer

Off by default, per channel. Turn on image reading for a chat and its screenshots and signal cards (Telegram photos and image files, Discord image attachments) are read with the text recognition built into Windows, then parsed like any typed message, caption first. The image never leaves your computer, and Telegram's downloaded copy is deleted after reading. A picture that cannot be read shows in the Signal inbox with the reason and is never traded. With it off, image posts are skipped exactly as before.

  • image reading offdefault · image posts skipped as before
  • telegramphotos and image files · caption first
  • discordimage attachments · from Discord's CDN
  • windows ocron this computer · nothing uploaded
  • same parsersame gates as a typed message
  • unreadableshown in the inbox with the reason

ai reading

AI reading for messages the parser can't read, with your own key

Off by default. Choose OpenAI, Anthropic Claude, Google Gemini or any OpenAI-compatible server (a local one works too) and enter your own API key. A message the parser finds no signal in is sent from your computer straight to that provider, never through our servers. The AI's answer is never traded as it stands: it is written out as a plain signal and must pass the same parser rules and routing checks as a typed message, and it can only open trades, never close or change them. By default an AI reading waits in the Signal inbox for your Trade; you can let it trade automatically instead. You also decide whether images are ever sent.

  • ai reading offdefault · the parser alone decides
  • providersOpenAI · Claude · Gemini · compatible URL
  • your keysent straight to the provider, not to us
  • re-checkedthe answer must pass the same parser rules
  • ask firstdefault · Trade or Dismiss in the inbox
  • entries onlynever closes or changes a trade

Not yet, and we will say so

  • Code-signed builds and automatic updates: the current installer is unsigned, so Windows SmartScreen may warn once on first run

This site publishes no latency figures until the desktop benchmark produces a measured result. Engineering targets never make it to the page.

Safety model

Built so a mistake does not reach the broker

The gate is the headline, but it is not the whole model. Every order passes all four of these checks at delivery time, and anything uncertain is held for review instead of retried blindly.

Fail-closed by default

The routing gate is off until you type an exact confirmation to enable it. Every signal is checked against terminal, freshness, and mapping rules at delivery time.

Never retroactive

Signals that arrive before routing is enabled stay review-only in the inbox forever. An old message cannot execute later simply because you turned the gate on.

Checks before the broker

Invalid stops, minimum stop distances, account mode, and heartbeat freshness are validated before submission. Commands are not blindly retried. Uncertain outcomes are held for review.

Account-mode aware

The EA authenticates with the account it is attached to, so the app always knows whether it is talking to a demo or a live terminal. Verify the full pipeline on a demo account before you enable routing on a live one. Note that MT4 execution is still awaiting live-fire.

Scope questions, answered here

What signal formats can it read, and what happens with a message it can't parse?

It reads new text messages, and the text in image posts on chats where you turn that on, and classifies each one with parser version 3 as an entry, a management instruction, or chatter. By default, an entry that names no stop is refused (a routing setting you can change, though a destination sized by risk always refuses one) — and results-style recaps fall to ignored rather than parsing as fresh orders. Chat history is never imported. A message that does not fully match the expected shape is held for review in the inbox instead of being guessed at: nothing partial is ever ordered. If you turn on AI reading (off by default), such a message can be read by an AI you choose, and its reading still has to pass the same parser rules. Management instructions such as close or move SL act only on channels where you have turned trade management on, which is off by default.

How is lot size set?

Per destination, in one of three modes, alongside an explicit mapping from the provider's symbol to your broker's symbol (EURUSD to EURUSD.a, for example). Fixed lots is the default and sends exactly the volume you set. The two risk modes size each trade to risk either a percentage of balance or equity (up to 20%) or a fixed amount in the account's currency: the MetaTrader EA computes the lot at execution time from the live price, the signal's stop-loss distance and your broker's tick value, rounds it down to the broker's volume step so it never risks more than you set, and caps it at your own max lot for that symbol mapping and at the broker's maximum. Risk sizing is fail-closed. A signal with no stop loss is refused on a risk-sized destination rather than given a guessed volume. A lot that rounds below the broker's minimum is refused, unless you opt in to trading the minimum instead, which can risk more than you set. A destination still on an older connector refuses risk sizing and asks you to update the connector. An optional per-channel risk weight (0.5× for a provider you trust less, say) scales the risk, and the app previews what one trade risks from the terminal's last reported balance or equity. On a destination that uses every take-profit, the fixed volume or the risk is divided across the positions, never applied to each one.

Does it use TP2 and TP3, or only the first take-profit?

Your choice, per destination. The default is TP1 only: one position with the first target, as before. Switch a destination to every take-profit, split equally or by your own shares (50/30/20, say: 2 to 10 shares adding to 100%), and an entry that lists several targets opens one position per target, each with its own take-profit and the entry's stop loss. On fixed lots the volume is divided by the split and each part is rounded down to the broker's volume step, so the total is never more than you set. If a part would fall below the broker's minimum, the last targets are dropped and their share is spread over the rest: the trade still goes on with fewer targets, and the signal records how many were opened. On a risk-sized destination the risk per trade is divided the same way and the EA sizes each position; one that sizes below the broker's minimum is refused, unless you opt in to trading the minimum. A custom split with fewer shares than the signal has targets uses only the first targets, and one with more shares than targets is rescaled over the targets present. Trade management from the channel (close, close half, break-even, move SL) applies to every open position of that signal, “TP2 to X” moves only the second position's target, and the dashboard's Trades page groups the positions under their signal.

Can it move my stop to break-even or trail it without the provider?

Yes, per destination, and off by default: nothing changes until you opt in. Break-even has four settings. Off is the default. After TP1 is hit needs the destination to use every take-profit: when the first position of a split signal closes at its target, the other positions of that signal move their stop to entry. The desktop app makes that move, so it has to be running. After X pips in profit, and after a multiple of the stop (R), run inside the MetaTrader EA; 1R is the distance from entry to the signal's stop loss, so on a destination set to R a signal without a stop is refused. An optional offset locks in a few pips past entry in the trade's favour, to cover spread or commission; it defaults to 0. The trailing stop starts after X pips in profit, keeps the stop Y pips behind price and moves in steps of at least Z pips, and it only ever tightens the stop, never loosens it. The pip and R rules and the trail run in the EA on the terminal (MT5 and MT4), so they keep working while the desktop app is closed. They are saved in the terminal's files and survive a terminal restart, and a pending order's rule starts when it fills. Pip size is automatic: 0.1 for gold, 0.01 for silver, 10 points on 3- and 5-digit quotes, otherwise 1 point, and you can set a pip size on a symbol mapping where your broker differs. Broker stop-level and freeze-level limits are respected: a stop that can't be placed yet is retried on the next ticks. These rules need the updated connector (EA 0.11.0); a destination on an older connector refuses to save them and asks you to update the connector. Each move appears in the app's Activity list as “Stop moved by rule”, and the channel's own management messages (move SL to entry, for example) still apply where that channel's trade-management consent is on.

Can it enforce a daily loss limit or maximum drawdown, for a prop-firm account say?

Yes, per destination (each broker account), and off by default. The daily loss limit is an amount in the account's currency or a percentage of the day's starting balance, and the day starts at the broker server's midnight or at a UTC hour you pick, for firms that reset differently. The maximum drawdown is a percentage from the highest equity reached, or a percentage from a starting balance you enter, prop-firm style. You can also cap how many copier trades are open on the account and on each symbol; a signal that would go over a cap is refused, and a signal split across several take-profits counts each position. The daily loss limit and drawdown are checked by the MetaTrader EA on the terminal on every tick, so they hold while the desktop app is closed and survive a terminal restart, and deposits, withdrawals and credit are not counted as losses. When a limit is reached, new entries stop: the daily limit until the next trading day, the drawdown until you resume from the app. A manual Resume restarts the limits from the current equity. Optionally, every copier position is closed and its pending orders cancelled at that moment; only trades the copier opened are touched, never your own, and the channel's trade-management instructions for trades already open still apply. The app shows today's result against the limit, alerts you when a limit is reached and lists it on the Activity page, and the dashboard's Accounts page shows whether entries are stopped, with today's result and the limits. It is fail-closed: until the terminal confirms it is guarding with the settings you saved, new entries on that account wait. A destination on an older connector can't turn on the daily loss limit or drawdown and is asked to update the connector; the open-trade caps work with any connector. It helps you stay inside limits you set, but it is not a copy of any firm's rules and it does not guarantee passing a challenge.

Can it skip signals outside trading hours, on a wide spread, or after the price has moved?

Yes, and all of it is off by default. Trading hours are weekday and time windows in your computer's local time, set per destination, per channel, or both; an entry has to fall inside every set of hours that applies, and a window that ends at or before its start runs past midnight into the next day. Per channel you can also take only the symbols you list, or every symbol except them, matched as the channel writes them before any symbol mapping. A maximum spread in pips can be set per destination, and a symbol mapping can set its own. A price-moved limit compares the entry the signal stated with the price you would get (the ask for a buy, the bid for a sell). Both are checked by the MetaTrader EA on the terminal against the live price just before a market order is sent, because only the terminal has the live quote. When the price has moved more than your limit, the destination either skips the trade or, if you choose, places a limit or stop order at the stated entry, with the signal's stop loss and targets and the same size, and the app records it as a pending order. A signal that states no entry is traded at market with only the spread checked, and pending-order signals are not spread-checked. Every pending order a destination places can expire after a number of hours you set, up to 720. Refusals carry their reason, and instructions for trades already open (close, break-even, move SL) are never filtered. The spread and price-moved limits need the updated connector (EA 0.13.0); a destination on an older connector refuses to save them and asks you to update the connector. Trading hours, symbol lists and the pending expiry work with any connector. Pips follow the same automatic pip size as break-even, with a per-symbol override.

Can it stop trading around high-impact news?

Yes, per destination (each broker account), and off by default. The app downloads the public ForexFactory economic calendar for the current week and refuses new entries from a number of minutes before a high-impact event until a number of minutes after it, up to four hours each side; you can include medium-impact events too. A symbol is paused only for its own currencies: EURUSD for euro and US dollar news, gold, oil and US indices for US dollar news, GER40 for euro news, UK100 for pound news, and so on. It is fail-closed: if the calendar cannot be downloaded or does not cover the current week, or the app can't tell which currency a symbol trades in, entries on that account are refused with the reason rather than taken blind. Optionally, a destination closes its open copier positions and cancels their pending orders a set number of minutes before a matching event; only trades the copier opened on the affected symbols are touched, never your own, a failed close is retried a few times, and each close shows its reason in the app's Activity list. Instructions from the channel for trades already open (close, break-even, move SL) still apply during the pause. The news filter is run by the desktop app, so it works with any connector version, but the app has to be running for it (as it does to copy at all). The calendar request carries no account data, and nothing is downloaded while no destination uses the filter.

What does it do with an entry zone like 2350-2345?

Yes, per destination (each broker account), and off by default: until you choose otherwise a signal such as "BUY XAUUSD 2350-2345" trades as one entry, exactly as before. The app reads a zone written after an entry label, after "@" or "at", or straight after the symbol, including a short second price such as "2350-45", and only treats it as a zone when the stop loss and the first target are outside the whole of it. You can then trade a zone as one limit order at its middle, or as several orders spread across it: the first enters at market and the rest wait as limit orders further into the zone, the last at its far end. The lot size or the risk is divided equally between the orders and each is split over the take-profits you trade, and orders times take-profits stay within a per-signal limit you set (six by default), so fewer layers are used when a signal has many targets. Prices are placed at the precision the signal was written in. When the channel closes the trade, or any of its positions reaches its target, the orders still waiting are cancelled; "TP2 to …" moves the second target of every layer. A limit order at a price the market has already passed is refused by the broker and reported. Everything is ordinary MetaTrader orders, so it works with any connector.

Can it read signals posted as screenshots or images?

Yes, per channel, and off by default: until you turn it on, a post that is only a screenshot is skipped, exactly as before. With "Read signals posted as images" on for a chat, a Telegram photo or image file, or a Discord image attachment, is downloaded to your computer and read there with the text recognition built into Windows, and the text goes through the same parser as a typed message, with the caption first. Nothing is uploaded: the image never leaves your computer, and Telegram's downloaded copy is deleted once it has been read. The text it reads is kept like any message text, locally and for seven days. If an image cannot be read (an unreadable picture, no text-recognition language installed in Windows), the post shows in the Signal inbox with the reason and is never traded; when it had a caption, the caption is still read. Recognition works best on clean signal cards and screenshots of text; a chart with the levels drawn on it has no text to read. Windows 10 and 11 include English text recognition; other languages can be added in Windows settings.

Can an AI read signals the parser misses?

Yes, if you want it, and it is off by default. In Settings you can choose an AI provider (OpenAI, Anthropic Claude, Google Gemini, or any OpenAI-compatible server, including one running on your own computer) and enter your own API key. When the parser finds no signal in a message, the message is sent from your computer straight to that provider, never through our servers, and each message it reads is billed to your key under the provider's terms. The AI's answer is never traded as it stands: it is written out as a plain signal and has to pass the same parser rules as a typed message (stop on the safe side of entry, targets on the right side, a symbol you have mapped), then every routing check. It can only read new entries; closing or changing trades stays with the parser and your per-channel consent. By default an AI reading waits in the Signal inbox, marked as read by AI, until you press Trade, and it is still refused if the signal is older than your maximum signal age by then; you can choose to have AI readings traded automatically instead. You also choose whether images are sent: never (the default), only when the text read from them on your computer did not parse, or instead of reading them locally. A Test button sends a sample message so you can check your key and model first. The key is stored with Windows data protection and is never shown again.

Does it work with MT4 or only MT5?

MetaTrader 5 (64-bit) and MetaTrader 4 (build 600+), on Windows 10 and 11. macOS and Linux are not supported.

Do I need to write an Expert Advisor or configure DLLs?

No. AutoSignalCopier installs its packaged EA (MT5 `.ex5`, MT4 `.ex4`) into a detected installation for you. The EA communicates only with the loopback address on your computer. No DLL imports are required.

Scope questions are fair game.

The FAQ answers what the software will not do, which plans carry a trial, and what happens on a live account. The security model explains why the trade path stays local. Read the security model.

Start free trial