Unified Local Copier
- Утилиты
- Версия: 1.30
- Обновлено: 6 июня 2026
Unified Local Copier (ULC) — локальный копировщик сделок
Unified Local Copier — советник для локального копирования сделок в MetaTrader 4 и MetaTrader 5. Не требует внешних DLL и обеспечивает быструю и надёжную синхронизацию ордеров между терминалами Master и Slave на одном компьютере. Поддерживаются кросс-платформенные связки MT4 и MT5.
Текущая версия: v1.30 (MT5 / MT4)
1. Принцип работы и объём копирования
Система построена по схеме Master-Slave (ведущий — ведомый). В одном канале (Channel) один Master может обслуживать несколько Slave: один счёт Master передаёт торговые команды на несколько счетов Slave.
Master (ведущий)
В реальном времени отслеживает все действия на счёте, включая:
- выставление, изменение и удаление отложенных ордеров (Buy/Sell Limit, Stop и т.д.)
- рыночное открытие позиций
- изменение стоп-лосс / тейк-профит по открытым позициям
- закрытие позиций (включая частичное закрытие и Close By в режиме хеджирования)
Slave (ведомый)
Получает команды от Master и повторяет их на локальном счёте. Система автоматически сопоставляет символы, нормализует объём, контролирует проскальзывание и связывает каждый ордер Master с соответствующим ордером Slave для продолжения синхронизации после переподключения.
Кросс-платформенная совместимость
Поддерживаются следующие связки:
- MT5 Master → MT4 Slave
- MT4 Master → MT5 Slave
- Master и Slave на одной платформе
Объём копирования
Slave полностью повторяет: выставление / изменение / удаление отложенных ордеров, рыночное открытие, изменение SL/TP, закрытие и Close By. Синхронизируются ордера от ручной торговли, советников и срабатывания отложенных ордеров.
2. Фильтр направления (InpSlaveCopySide)
На стороне Slave можно фильтровать копирование по направлению сделки. Это удобно, если нужно повторять только одну сторону стратегии Master (например, только покупки или только продажи).
Варианты:
SLAVE_COPY_BOTH (по умолчанию) — копировать Buy и Sell
SLAVE_COPY_BUY — только Buy
SLAVE_COPY_SELL — только Sell
Правила фильтрации:
1. Открытие и выставление отложенных ордеров: копируются только ордера выбранного направления (включая Buy/Sell Limit, Stop и другие типы отложенных ордеров).
2. Закрытие и изменение позиций: обрабатываются только позиции выбранного направления. При режиме «только Buy» закрытие Sell на Master не закроет ничего на Slave; закрытие Buy на Master закроет соответствующую Buy-позицию на Slave.
3. Изменение и удаление отложенных ордеров: если Slave уже скопировал отложенный ордер Master, изменение и удаление всё равно синхронизируются, чтобы не оставались «осиротевшие» ордера.
Примечание: фильтр направления действует только на Slave. На Master оставьте параметры по умолчанию.
3. Входные параметры
Общие параметры (настраиваются и на Master, и на Slave)
Параметр Тип / значение Описание
-------------------------------------------------------------------------
InpRole ROLE_MASTER Роль. ROLE_MASTER — отправка команд;
ROLE_SLAVE — приём и копирование.
InpChannelID 8888 (int) ID канала. Должен полностью совпадать на
Master и Slave. При нескольких независимых
копировщиках на одном ПК задайте разные
Channel ID (например, 8888, 9999).
Параметры только для Slave
Параметр Тип / значение Описание
-------------------------------------------------------------------------
InpLotSize 0.01 (double) Объём копирования. Фиксированный лот для
каждого скопированного ордера (без
пропорции к объёму Master). Автоматически
приводится к мин./макс. лоту и шагу брокера.
InpComment "ULC" (string) Префикс комментария скопированных ордеров.
Система добавляет идентификатор ордера
Master для отслеживания и исключения дублей.
InpSymbolSuffix "" (string) Суффикс символа для разных названий у
брокеров. Например, Master XAUUSD / Slave
XAUUSDm — оставьте пустым для автоподбора
или укажите "m" вручную.
InpSlaveCopySide SLAVE_COPY_BOTH Фильтр направления. См. раздел 2. Только Slave.
InpReplayHistoryOnStart false (bool) Догонять ли пропущенные команды при запуске.
false (рекомендуется): подключиться к текущей
синхронизации, пропустив старые команды.
true: обработать всю необработанную историю.
Только MT5 Slave
Параметр Тип / значение Описание
-------------------------------------------------------------------------
InpDeviation 30 (points) Максимально допустимое отклонение цены в
пунктах для рыночных ордеров. При превышении
ордер может быть отклонён.
Только MT4 Slave
Параметр Тип / значение Описание
-------------------------------------------------------------------------
InpSlippage 30 (points) Допустимое проскальзывание в пунктах при
рыночном открытии и закрытии.
Параметры только для Master
Параметр Тип / значение Описание
-------------------------------------------------------------------------
InpClearQueueOnStart false (bool) Очищать ли историю синхронизации при запуске.
false (рекомендуется): сохранять состояние,
чтобы Slave мог продолжить после смены
таймфрейма или перезагрузки EA.
true: начать с нуля для новой сессии.
Только MT4 Master
Параметр Тип / значение Описание
-------------------------------------------------------------------------
InpMasterPollSec 1 (int) Интервал проверки Master в секундах. На
малотickовых символах или графиках H1
рекомендуется 1 секунда и более для
своевременного обнаружения изменений ордеров.
4. Руководство по установке
1. Установка Master
(1) Откройте терминал MT4 или MT5, с которого будут отправляться сигналы, и прикрепите EA к любому графику (символ и таймфрейм не важны; рекомендуется постоянно открытый график).
(2) Перетащите UnifiedLocalCopier на график.
(3) Установите InpRole = ROLE_MASTER и задайте InpChannelID.
(4) Включите главный переключатель «Алгоритмическая торговля / AutoTrading».
Важно:
- На одном счёте и одном Channel ID допускается только один Master EA.
- Не запускайте несколько Master с одним Channel на разных графиках одного счёта — возможны конфликты и дублирование копирования.
- Master отслеживает весь счёт; достаточно одного графика.
2. Установка Slave
(1) Прикрепите EA на принимающий терминал MT4 или MT5 (может быть другой клиент или счёт).
(2) Установите InpRole = ROLE_SLAVE и задайте InpChannelID, совпадающий с Master.
(3) Настройте параметры Slave: InpLotSize, InpSlaveCopySide, InpSymbolSuffix и др.
(4) Включите алгоритмическую торговлю — EA перейдёт в режим ожидания синхронизации.
Важно:
- На одном счёте копирования рекомендуется один Slave EA (один Channel).
- Если названия символов различаются, проверьте InpSymbolSuffix или результат автоподбора в журнале Experts.
5. Особенности продукта
Без DLL
Вся функциональность встроена в EA. Внешние компоненты не требуются — проще установка и широкая совместимость.
Точное исключение дублей
Slave проверяет ордера перед открытием, чтобы избежать повторного копирования из-за задержек или повторных срабатываний.
Умная фильтрация событий
Master отфильтровывает лишние обновления после рыночного исполнения, снижая нагрузку на Slave.
Надёжная синхронизация при высокой активности
Встроенная отказоустойчивость и повторные попытки при массовой отправке ордеров (сетка, мартингейл и т.п.) помогают снизить риск пропуска сделок.
Полный жизненный цикл отложенных ордеров
Выставление, изменение и удаление синхронизируются полностью. При отмене отложенного ордера на Master Slave также удаляет его — без «зависших» ордеров.
Связь ордеров один к одному
Каждый скопированный ордер связан с исходным ордером Master для точного закрытия, изменения и удаления на Slave.
Продолжение после переподключения
При InpClearQueueOnStart = false (рекомендуется) Slave может безопасно продолжить работу после перезагрузки EA или смены графика без начала с нуля.
6. Поддерживаемые операции
Операция Действие Slave
-------------------------------------------------------------------------
Выставление отложенного Поставить соответствующий отложенный ордер
Изменение отложенного Изменить цену / SL / TP отложенного ордера
Удаление отложенного Удалить соответствующий отложенный ордер
Рыночное открытие Рыночное открытие Buy / Sell на Slave
Изменение SL/TP Изменить SL / TP соответствующей позиции
Закрытие Закрыть соответствующую позицию
Close By (хедж) Закрыть позицию по логике Close By
7. Частые вопросы
В: В журнале Slave указано ожидание Master?
О: Сначала запустите Master EA и убедитесь, что InpChannelID совпадает на обеих сторонах.
В: Не удалось сопоставить символ на Slave?
О: Проверьте InpSymbolSuffix или добавьте символ в «Обзор рынка» на терминале Slave.
В: При режиме «только Buy» отложенные Sell Master не копируются — почему?
О: Это ожидаемое поведение. Фильтр копирует только выбранное направление. Уже скопированные отложенные ордера по-прежнему изменяются и удаляются при действиях Master.
В: Можно ли смешивать MT4 и MT5?
О: Да. Используйте один Channel ID при работе Master и Slave на одном компьютере.
В: Могут ли Master и Slave быть на разных брокерских счетах?
О: Да. Используйте InpSymbolSuffix для различий в названиях символов и InpLotSize для независимого объёма на Slave.
В: Объём копирования пропорционален Master?
О: Нет. Slave использует фиксированный InpLotSize. Задайте его с учётом размера счёта Slave и вашего риска.

