Копирование сделок MT4 ↔ MT5: как это работает технически
Запрос «копирование сделок» вводят в Яндекс 264 раза в месяц, «копировать сделки» — ещё около 200, и за каждым из них стоит один и тот же вопрос: как именно сделка с одного счёта MetaTrader оказывается на другом — да ещё и между MT4 и MT5, которые друг с другом не разговаривают. В этой статье мы разбираем копирование сделок как инженерную задачу: откуда копировщик узнаёт о сделке, что происходит на сервере, как подбирается символ у другого брокера, как считается лот, почему позиция у подписчика может отличаться от позиции провайдера и сколько миллисекунд занимает весь путь. Цифры — из кода платформы SignalSync, её базы данных на октябрь 2026 года и замера задержки от 10 декабря 2025 года.
Копирование сделок — это автоматическое повторение торговых операций одного счёта MetaTrader (провайдера) на другом счёте (подписчика) с пересчётом объёма: программа на стороне провайдера фиксирует открытие, изменение или закрытие позиции, передаёт её параметры через сервер, а программа на стороне подписчика выставляет соответствующий ордер у его брокера.
Коротко
- MT4 и MT5 — разные платформы с разными языками (MQL4/MQL5) и разной моделью позиций; их сервис сигналов MetaQuotes копирует только внутри одной платформы. Кросс-платформенное копирование возможно только через внешний сервер.
- Цепочка: провайдер → сервер → подписчик. На SignalSync сервер за всё время зафиксировал 82 315 сигналов, из них 58 % — изменения стопа и тейка; доставок подписчикам — 171 070.
- Объём подписчика = объём провайдера × множитель, округлённый до шага брокера; объём ниже минимального лота поднимается до минимального — это главный источник «лишнего» риска на маленьких счетах.
- По замеру 10.12.2025 (один подписчик, MT4-советник, 200 сигналов за 71 мин): сервер 48 мс в среднем, полный путь около 0,78 с, из них около 0,55 с — очередь; в документации заявлено 200–800 мс.
- Локальный копировщик быстрее, но требует два терминала на одной машине; платформа с сервером даёт кросс-платформенность и VPS, но добавляет сетевой путь.
Почему MT4 и MT5 нельзя соединить напрямую
MetaTrader 4 и MetaTrader 5 — два разных продукта MetaQuotes, а не версии одного. У них разные языки программирования: советник на MQL4 компилируется в .ex4, на MQL5 — в .ex5, и один не запускается в терминале другого. Разная модель учёта: в MT4 каждая сделка — это ордер со своим тикетом, который живёт от открытия до закрытия; в MT5 есть ордера (заявки), сделки (исполнения) и позиции (результат), причём на неттинговом счёте по одному символу может быть только одна позиция. Разный сетевой стек: у MT4 нет штатного быстрого HTTP-клиента, и для связи с внешним сервером советнику нужна DLL; в MT5 есть встроенный WebRequest.
Собственный сервис «Сигналы» MetaQuotes (MQL5 Signals) работает только внутри одной платформы: подписчик MT4-сигнала должен сидеть в MT4, подписчик MT5-сигнала — в MT5. Это документированное ограничение MetaQuotes. Поэтому все кросс-платформенные решения устроены одинаково: между двумя терминалами стоит посредник — либо программа на той же машине (локальный копировщик), либо сервер в интернете (облачный копировщик или платформа). Посредник переводит «ордер MT4» в «позицию MT5» и обратно.
Цепочка копирования: провайдер → сервер → подписчик
Шаг 1. Провайдер: как копировщик узнаёт о сделке
На счёте провайдера работает программа, которая с заданным интервалом сравнивает список открытых позиций с тем, что было на предыдущем шаге. На SignalSync для MT4 это советник-провайдер с интервалом проверки 100 мс (CHECK_INTERVAL_MS), для MT5 — модуль платформы на Python-библиотеке MetaTrader5, который опрашивает позиции каждые 0,1 с. Новая позиция — сигнал OPEN (BUY или SELL), исчезнувшая — CLOSE, изменившиеся стоп или тейк — MODIFY. В сигнал входят: символ, направление, объём, цена, SL, TP, тикет провайдера, магический номер, платформа и метка времени.
Сигналы MODIFY — самая массовая категория. На SignalSync из 82 315 сигналов, зафиксированных сервером за время работы, 47 870 (58 %) — это MODIFY, 17 554 (21 %) — открытия и 16 891 (21 %) — закрытия. Трейлинг-стопы и советники, которые переставляют стоп на каждом тике, порождают очереди из десятков сигналов за секунды — об этом ниже, в разделе про задержку.
Шаг 2. Сервер: запись, маршрутизация, доставка
Сервер (на SignalSync — FastAPI с PostgreSQL и Redis) принимает сигнал, записывает его в базу и определяет, каким подписчикам он адресован. Доставка зависит от платформы подписчика: MT4-советник держит постоянное WebSocket-соединение через DLL и получает сигнал мгновенно; MT5-копир опрашивает сервер по HTTP каждые 0,5 с. Для каждой пары «сигнал — подписчик» создаётся запись о доставке с результатом исполнения: за время работы платформы таких записей 171 070.
По замеру 10 декабря 2025 года запись сигнала в базу занимала 13 мс, отправка по WebSocket — 0,5 мс, а вся обработка на сервере — 48 мс в среднем, 88 мс по 95-му процентилю и 103 мс по 99-му (925 сигналов на боевом сервере).
Шаг 3. Подписчик: от сигнала до ордера
Копировщик подписчика (MT4 — советник, MT5 — Python-модуль) последовательно: находит символ у своего брокера, считает объём, проверяет отклонение цены, выставляет ордер и записывает соответствие «тикет провайдера → тикет подписчика». Это соответствие — ключ ко всему остальному: когда приходит CLOSE или MODIFY с тикетом провайдера, копировщик по таблице находит именно вашу позицию. Если соответствия нет (позиция открылась до подписки или была закрыта вручную), сигнал исполнить нельзя — такие случаи дают основную часть «неуспешных» доставок.
Подробнее о каждом из этих шагов — ниже; если нужен общий, не технический обзор, начните со статьи «Автоследование: что это и как начать».
Маппинг символов: EURUSD, EURUSD.m, EURUSDc и GOLD
У провайдера символ называется XAUUSD, у вашего брокера — GOLD, XAUUSD.m или XAUUSD#. Копировщик должен найти правильный вариант, иначе ордер не откроется. На SignalSync логика поиска одинакова на MT4 и MT5:
- Проверить точное имя из сигнала.
- Отрезать суффикс и перебрать варианты с предпочитаемыми суффиксами в заданном порядке:
#,.micro,.m,.p,.pro,.ecn, без суффикса. - Оставить только те варианты, по которым брокер разрешает торговлю (ONLY_TRADEALLOWED_VARIANTS).
- Если символа нет в «Обзоре рынка», добавить его автоматически (AUTO_ADD_SYMBOLS) и подождать активации до 3 с (SYMBOL_ACTIVATION_TIMEOUT).
MT4-советник дополнительно знает таблицу псевдонимов: XAUUSD ↔ GOLD, XAGUSD ↔ SILVER, XPTUSD ↔ PLATINUM, BTCUSD ↔ BITCOIN, ETHUSD ↔ ETHEREUM; на MT5-копире псевдонимов нет — там нужно, чтобы базовое имя символа совпадало. Отдельная настройка — масштаб лота по суффиксу (LOT_SCALE_BY_SUFFIX): у некоторых брокеров символ с суффиксом .micro имеет контракт в 100 раз меньше стандартного, и объём нужно умножить на 0,01; по умолчанию масштабирование выключено.
Для чего это важно на практике: на SignalSync почти девять из десяти сигналов с указанным символом — по золоту (XAUUSD), и именно у золота больше всего вариантов имени у разных брокеров. Проверьте до подписки, что символы провайдера есть в вашем терминале и торгуются; совместимость подтверждена с большинством стандартных MT4/MT5-брокеров, среди популярных — RoboForex, FBS, IC Markets, XM, Exness, Admiral Markets.
Хеджинг и неттинг: почему позиция может «слипнуться»
В MT4 все счета хеджинговые: можно держать три отдельные покупки по EURUSD, и каждая закрывается независимо. В MT5 два типа учёта: хеджинговый (как в MT4; добавлен MetaQuotes в 2016 году) и неттинговый, при котором по одному символу существует одна совокупная позиция. На неттинговом счёте вторая покупка увеличивает объём той же позиции, а продажа уменьшает её.
Для копирования это значит следующее. Провайдер на MT4 открыл три покупки золота по 0,1 лота (сетка). У подписчика на хеджинговом MT5 появятся три позиции по 0,01 при множителе 0,1 — всё как у провайдера. У подписчика на неттинговом MT5 появится одна позиция 0,03, и когда провайдер закроет одну из трёх, сигнал CLOSE может закрыть или исказить вашу совокупную позицию — частичного закрытия копировщик не выполняет, а отдельной «одной из трёх» в неттинге не существует. Для стратегий с одной позицией на символ разницы нет; для сеток, усреднения и частичных закрытий неттинг превращает копирование в приблизительное. Рекомендация простая: для подписчика на MT5 выбирайте хеджинговый тип счёта — большинство брокеров открывают его по умолчанию, тип виден в терминале рядом с номером счёта.
Объём: множитель лота, округление и верхний лимит
Формула объёма у подписчика: объём провайдера × множитель лота (LOT_MULTIPLIER). Дальше три корректировки, порядок которых важен.
| Шаг | MT4-советник | MT5-копир | Что это значит для вас |
|---|---|---|---|
| Умножение | объём × LOT_MULTIPLIER, округление до 0,01 | объём × lot_multiplier, округление до шага объёма брокера (volume_step) | 0,07 × 0,1 = 0,007 → 0,01 |
| Нижняя граница | не меньше минимального лота брокера (MODE_MINLOT) | не меньше volume_min | Объём ниже минимума поднимается вверх до минимума, а не пропускается |
| Верхняя граница | не больше MAX_LOT_SIZE (по умолчанию 10 лотов) | На MT5 не применяется: Python-копир лимит не читает — ограничивайте множителем | Предохранитель от «отыграться» на стороне провайдера — только на MT4 |
Округление вверх — главный источник неожиданного риска. Провайдер открывает 0,02 лота; вы, посчитав множитель от риска на сделку (1–2 % депозита), ставите 0,3 и ожидаете 0,006 лота. Брокер с минимальным лотом 0,01 откроет 0,01 — на две трети больше расчётного, и ваш риск на сделку окажется выше запланированного в той же пропорции. Лечится это либо счётом с минимальным лотом 0,001 (центовые счета), либо выбором провайдера, чей средний лот после умножения не упирается в минимум. Как считать множитель под депозит — в статье о риск-менеджменте в копитрейдинге.
Режима «процент от баланса» на SignalSync нет: объём всегда производная от объёма провайдера. Это осознанный выбор — провайдер сам управляет риском через свой лот, а множитель лишь масштабирует его под ваш депозит.
Стоп-лосс, тейк-профит и сигналы MODIFY
Копирование уровней включается флагом COPY_SL_TP (MT4) или парой copy_sl / copy_tp (MT5); по умолчанию включено. При открытии позиции копировщик выставляет те же SL и TP, что у провайдера, а при каждом MODIFY переносит их. Два следствия:
- Если провайдер торгует без стопов на сервере брокера (стопы «в голове» или в памяти советника), стопов не будет и у вас. Это видно по истории его сделок после входа на сайт: стоп не указан.
- Если выключить копирование SL/TP, позиция откроется без защиты, и закроется только по сигналу CLOSE от провайдера или вручную.
Уровни копируются как абсолютные цены, а не как расстояние в пунктах. Поэтому при разнице котировок между брокерами стоп у вас может оказаться на несколько пунктов ближе или дальше, чем у провайдера, а при большом проскальзывании входа — изменить соотношение риска к прибыли. Для стопов в 30 пунктов это заметно, для 300 — нет.
Проскальзывание: ждать, пропустить или исполнять
Между сделкой провайдера и вашим ордером цена двигается, и копировщик сверяет цену сигнала с текущей. Поведение на двух платформах разное, и это нужно знать:
| Параметр | MT4-советник | MT5-копир |
|---|---|---|
| Порог отклонения | MAX_SLIPPAGE_POINTS, по умолчанию 20 points — минимальных шагов цены (≈ 2 пипса на EURUSD с пятью знаками, $0,20 на XAUUSD) | max_slippage_points, в тех же points; передаётся в ордер как допустимое отклонение |
| Возраст сигнала | Не проверяется — советник ждёт цену | Сигнал на открытие старше 10 секунд пропускается |
| Отклонение выше порога | Ждёт возврата цены до 60 с (SLIPPAGE_WAIT_TIMEOUT_SEC), затем по умолчанию исполняет по текущей цене; пропуск — только если включён SKIP_ON_SLIPPAGE | Если отклонение больше двойного порога — сигнал пропускается |
| Закрытие | С тем же допуском по отклонению; закрытие не ждёт | С тем же допуском |
Важная деталь про MT4: по умолчанию копировщик не пропускает сделку из-за проскальзывания, а ждёт — и через минуту всё равно открывает. Для стратегий с длинными сделками это правильно (лучше войти чуть хуже, чем остаться без позиции, которую провайдер закроет в плюс), для скальпинга — нет. Если вы копируете скальпера, включайте SKIP_ON_SLIPPAGE и уменьшайте порог; впрочем, скальпинг с целью в 3–5 пунктов через любой сетевой копировщик невыгоден в принципе.
Задержка: сколько проходит от сделки до сделки
Единственный замер, который мы можем привести с методикой, сделан 10 декабря 2025 года: один подписчик, MT4-советник, 200 сигналов за 71 минуту на боевом сервере. Результат: сервер — 48 мс в среднем (P95 88 мс, P99 103 мс); полный путь от сделки провайдера до ордера подписчика — около 0,78 с как сумма средних по этапам, из них около 0,55 с — ожидание сигнала в очереди советника, около 175 мс — обработка и исполнение ордера брокером; 94 % сигналов исполнено успешно, остальные 6 % — в основном CLOSE и MODIFY по позициям, которых у подписчика уже не было. В документации платформы заявлен диапазон 200–800 мс. Оговорки: замер почти годичной давности, один счёт, один брокер, только MT4-советник — текущий MT5-копир он не описывает; у другого брокера исполнение ордера может быть медленнее, в новостные минуты — заметно медленнее.
Самый поучительный вывод замера — про очередь. В той сессии 81,5 % сигналов были MODIFY, приходившими пачками, а советник обрабатывал по 10 сигналов за тик; до исправления очередь достигала нескольких секунд (часть измеренных значений искажена старой DLL, поэтому точные «до»-цифры мы не приводим). После увеличения пачки до 50 сигналов за тик очередь стабилизировалась на уровне около 0,55 с в среднем. Мораль для подписчика: советник с трейлингом на каждом тике нагружает копировщика сильнее, чем любой скальпер, и его сигналы OPEN могут ждать в очереди за сотней MODIFY.
Сравнивать копировщики по «миллисекундам на сайте» бессмысленно: у локального копировщика на одной машине задержка действительно ниже — нет сетевого пути, — но и условия другие. Честное сравнение — по ценам входа: разница между ценой провайдера и вашей за 50–100 сделок у вашего брокера.
Хотите увидеть цепочку в работе? Зарегистрируйтесь и подключите демо-счёт — терминал развернётся на VPS платформы, а цены входа сравнивайте в истории сделок провайдера (видна после входа на сайт) и в своём терминале.
Локальный копировщик, облачный копировщик, платформа
| Критерий | Локальный копировщик | Облачный копировщик | Платформа с каталогом (SignalSync) |
|---|---|---|---|
| Как устроен | Два терминала на одном компьютере/VPS, обмен через файлы или память | Облако вендора само подключается к вашим счетам по логину и паролю | Советники/модули на терминалах, которые разворачивает платформа на своём VPS, + сервер |
| MT4 ↔ MT5 | Да (у большинства) | Да | Да, в обе стороны |
| Задержка | Миллисекунды (нет сети) | Сетевой путь + очередь | Сетевой путь + очередь; по замеру 10.12.2025 ≈ 0,78 с, по документации 200–800 мс |
| Чьи счета | Только ваши: нужны пароли обоих счетов | Свои или чужие, если провайдер поставил советник | Любой провайдер из каталога; свой счёт тоже можно сделать провайдерским |
| Инфраструктура | Свой компьютер или VPS 24/5 | Свой VPS обычно не нужен — терминалы держит вендор | VPS входит в подключение счёта ($10 USDT разово) |
| Статистика провайдера | Нет (вы и так его знаете) | Зависит от вендора | Снимается советником мониторинга; в каталог проходят счета с прибылью, ≥ 10 сделок и просадкой < 80 % |
| Оплата | Разовая лицензия или подписка на софт | Подписка за счёт | Цена провайдера (от $35/мес) + сетевая комиссия ≈ $2,5; 10 % платформа удерживает с провайдера |
| Ограничения | Один компьютер, своя настройка символов | Зависит от вендора | Один провайдер на один подключённый счёт; пауза — выключатель Copy Trading в настройках счёта |
Локальный копировщик — правильный выбор, когда оба счёта ваши и стоят рядом: например, копировать свой же счёт у второго брокера. Платформа — когда провайдер чужой, нужна его проверяемая история и не хочется держать VPS. Обзор конкретных сервисов с ценами — в статье «Лучшие платформы копитрейдинга 2026».
Что ещё работает на VPS платформы
Каждый подключённый счёт на SignalSync получает отдельный портативный терминал в своей папке на VPS платформы: изоляция от других пользователей, независимый перезапуск, удаление вместе с папкой. На втором графике терминала работает советник мониторинга: heartbeat каждые 30 секунд (по нему платформа видит, что терминал жив и залогинен) и статистика счёта каждые 5 минут — баланс, эквити, число сделок, процент прибыльных, профит-фактор, просадка. Именно эта статистика показывается в карточке провайдера; она не отмечает, демо это или реальный счёт. Для провайдера с собственным советником платформа ставит его на первый график с параметрами из .set-файла — подробнее в статье о советниках и автоследовании. Полный список параметров и инструкции — в документации, обзор возможностей — на странице функций платформы.
Частые вопросы
Можно ли копировать сделки с MT4 на MT5 напрямую?
Нет. MT4 и MT5 — разные платформы с несовместимыми языками и моделями позиций, а сервис сигналов MetaQuotes работает только внутри одной платформы. Копирование между ними возможно только через посредника: локальный копировщик на той же машине или сервер платформы.
Как копировщик находит символ у другого брокера?
Отрезает суффикс и перебирает варианты с предпочитаемыми суффиксами (#, .micro, .m, .p, .pro, .ecn), оставляя только торгуемые; при необходимости добавляет символ в «Обзор рынка». MT4-советник дополнительно знает псевдонимы вроде GOLD ↔ XAUUSD; на MT5 базовое имя должно совпадать.
Как считается лот у подписчика?
Объём провайдера × множитель лота, затем округление до шага брокера, затем не меньше минимального лота и на MT4 — не больше MAX_LOT_SIZE (на MT5 этот лимит не применяется). Объём ниже минимума поднимается вверх до минимума — на маленьких депозитах это увеличивает риск относительно провайдера.
Копируются ли стоп-лосс и тейк-профит?
Да, по умолчанию: при открытии выставляются те же уровни, при каждом MODIFY провайдера переносятся. Если у провайдера стопов нет на сервере брокера, не будет и у вас. Уровни копируются как абсолютные цены.
Что происходит при проскальзывании?
MT4-советник при отклонении больше порога (20 points по умолчанию — около 2 пипсов на EURUSD) ждёт возврата цены до 60 секунд, затем по умолчанию исполняет по текущей цене; пропуск нужно включать отдельно. MT5-копир пропускает сигнал, если отклонение больше двойного порога или сигналу больше 10 секунд.
Какая задержка копирования сделок?
По замеру 10 декабря 2025 года (один подписчик, MT4-советник, 200 сигналов за 71 минуту): сервер 48 мс в среднем, полный путь около 0,78 с как сумма средних по этапам, из них около 0,55 с — очередь; 94 % сигналов исполнено. В документации заявлено 200–800 мс. Замер почти годичной давности и только на MT4.
Что будет с позициями на неттинговом счёте MT5?
Несколько позиций провайдера по одному символу сольются в одну совокупную, а закрытие одной из них может закрыть или исказить вашу совокупную позицию. Для сеток и частичных закрытий это искажает копирование; выбирайте хеджинговый тип счёта.
Нужен ли свой VPS для копирования сделок?
Копировщик должен работать всё время, пока открыт рынок. Для локального копировщика — да: свой компьютер или VPS 24/5; облачный копировщик работает на сервере вендора; на SignalSync терминал подписчика разворачивается на VPS платформы при подключении счёта за $10 USDT разово.
Копирование сделок — не магия и не «одна кнопка»: это цепочка из опроса позиций, сервера, поиска символа, округления лота и проверки цены, и в каждом звене есть настройка, которая влияет на ваш результат. Если хотите увидеть её на своём счёте — подключите демо-счёт на SignalSync, выберите провайдера в каталоге и сравните цены входа в истории сделок провайдера и в своём терминале. Зачем всё это нужно и чем автоследование отличается от сигналов — в статье «Форекс-сигналы или автоследование».