Флагман · 1 299 $ бессрочно, один платёж

Копировщик сделок NinjaTrader для проп-счетов

Коротко: DC Copier — это AddOn для NinjaTrader 8, который повторяет ваши собственные заявки с одного счёта на столько ведомых, сколько вы ведёте. Около одиннадцати с половиной тысяч строк кода, большая часть которых — о том, что происходит, когда что-то идёт не так. Он написан трейдером, который вёл оценочные и финансированные счета Apex параллельно с симулятором, и построен вокруг одной мысли: ведомый никогда не должен оказаться в состоянии, в котором нет мастера.

Фильм показывает, как DC Copier ведёт мастер-счёт и ведомых, что происходит при расхождении и как работает аварийное закрытие. Кадры — иллюстративные реконструкции интерфейса, а не запись живых торгов. С YouTube ничего не загружается, пока вы не нажмёте кнопку воспроизведения.
Окно DC Copier внутри NinjaTrader: состояние мастер-счёта, четыре счёта-ведомых со статусом синхронизации, средней ценой и дневным результатом, а также журнал событий, окрашенный по важности
Состояние мастера в верхней строке, синхронизация по каждому ведомому в таблице, ниже — журнал событий, окрашенный по важности. Две темы, переключаются на ходу. Макет интерфейса.

Ключевые характеристики

Что этоAddOn для NinjaTrader 8 — собственное окно из Control Center › New
ПлатформаNinjaTrader 8 Desktop, .NET Framework 4.8
Счета-ведомыеПроверено с 27 ведомыми; в коде ограничения нет
Копируемые типы заявокMarket, Limit, Stop Market, Stop Limit, MIT — плюс OCO, воссоздаваемый по каждому ведомому
Расчёт объёмаМножитель или фиксированное количество, задаётся по каждому ведомому
Сопоставление инструментовМикро в мини и обратно — MNQ↔NQ, MES↔ES
Нужен Order Flow+Нет
Нужен Tick ReplayНет
Удалённое управлениеTelegram, включая закрытие всего
Компьютеров на лицензию3
Цена1 299 $ бессрочно, один платёж

Почему ведомые расходятся — и почему здесь не могут

Именно эту часть пропускает страница любого другого копировщика, поэтому вот вся история целиком, включая ошибку, которую мы выпустили и которую пришлось исправлять.

Сбой

Мастер стоял в шорте по MNQ и закрыл позицию. Ведомые закрылись — и открылись в лонг.

Логи объяснили почему. Старая аварийная процедура закрытия отменяла рабочие копии и вызывала Flatten() в том же вызове диспетчера. В NinjaTrader обе операции асинхронны. Копия, исполнимая по рынку, была залита внутри окна отмены, параллельно с закрытием — счёт покрылся дважды и оказался на противоположной стороне.

Задержка проп-фирмы усугубила дело: подтверждения заявок приходили за 760–1 243 миллисекунды, тогда как порог безопасности стоял на 500.

Решением стал не увеличенный таймаут

Процедуру заменили на пофазовую атомарную сверку. Целевое состояние всегда равно состоянию мастера, и поскольку ни одна закрывающая заявка не уходит до завершения отмен, гонка, породившая переворот позиции, возникнуть не может.

1 · CancelOrders

Снять все рабочие копии по этому инструменту.

2 · WaitCancelSettle

Ничего нового не отправлять, пока отмены не подтверждены.

3 · CloseResidual

Вычислить дельту = цель − позиция и закрыть ровно её, одной рыночной заявкой.

4 · VerifyFlat

Подтвердить результат. Если он неверен — повторить.

Пороги: задержка на закрытие мастера 1 500 мс, противоположная сторона 500 мс. Ручная кнопка Flat Followers проходит через ту же сверку — за кнопкой не прячется второй, менее аккуратный путь в коде.

Схема атомарной сверки DC Copier: мастер питает четырёхфазный механизм, который отменяет заявки, ждёт завершения отмен, закрывает только остаточную позицию и затем подтверждает закрытие, удерживая каждый счёт-ведомый в состоянии мастера
Любой путь, изменяющий позицию ведомого, проходит через эти четыре фазы.

Кто следит за защитными функциями

Кнопка закрытия есть почти у каждого копировщика. Проверяет ли закрытие сработало — почти никто. Две из перечисленных функций под надзором: нечто подтверждает, что сама защитная операция завершилась, и вмешивается, если нет.

PANIC ПОД НАДЗОРОМ

Emergency Flat All отменяет заявки и закрывает позиции на всех активных счетах. Затем сторож подтверждает, что операция завершилась. Кнопка паники не работает по принципу «нажал и забыл».

Жёсткая блокировка ПОД НАДЗОРОМ

Заблокированный счёт остаётся вне игры, пока вы сами его не разблокируете, а сторож следит, чтобы блокировка держалась.

Лимиты риска мастера

Дневные лимиты убытка и прибыли действуют и на мастер. Плохой день не должен разойтись по двадцати финансируемым счетам.

Trailing drawdown

Считается по каждому счёту отдельно, потому что именно так его считают фирмы. У ведомого, подключённого позже, исторический максимум отличается от мастера.

Непрерывная проверка расхождений

Позиции сравниваются циклически, а не только после события по заявке, поэтому уход в сторону ловится даже тогда, когда ничего не происходит.

Устойчивость к обрывам

Определённое поведение при разрыве связи, а не импровизация. Ничего не переотправляется молча в устаревший рынок.

Защита по новостям и расписанию

Не копировать в окно события или вне вашей сессии. Настраивается один раз, соблюдается каждый день.

Ограничение максимального объёма

Потолок, который не может превысить ни одна копия, что бы ни делал мастер. Ошибка пальцем выше по цепочке там и остаётся.

Закрыть один счёт

Закрыть отдельного ведомого, не трогая остальных — на случай, когда одному проп-счёту нужно остановиться, а другим нет.

Экран копировщика с настройками защиты по каждому счёту: поле оставшейся просадки, порог остановки и переключатель аварийного закрытия для отдельного ведомого
Защита задаётся по каждому счёту отдельно, потому что у проп-счетов разные правила просадки. Макет интерфейса, иллюстрация, а не снимок живых торгов.

Каждый счёт наглядно либо Synced, либо MISMATCH

В таблице счетов есть светофор синхронизации. Synced означает, что позиция ведомого соответствует тому, что подразумевает для неё позиция мастера. MISMATCH означает, что нет — и тогда строка подсвечивается, счётчик в заголовке меняется, а журнал событий фиксирует причину в тот же момент.

Оба состояния намеренно несут не только цвет, но и символ. Примерно у 8% мужчин есть нарушение красно-зелёного цветовосприятия, и это не то место, где кого-то стоит заставлять догадываться.

Позиции окрашены по лонгу и шорту, числа моноширинные, чтобы колонки выстраивались, а журнал событий окрашен по важности: строки сверки, паники, расхождения и отклонения выделяются, а рутина остаётся спокойной. Журнал экспортируется в CSV.

Экран отчёта копировщика: таблица по каждому счёту-ведомому со списком скопированных заявок, отметками исполнения и строками расхождений, с кнопкой выгрузки
Отчёт по каждому счёту: что копировщик сделал, что исполнилось и где была сверка — чтобы разбор происходил по записи, а не по памяти. Макет интерфейса, иллюстрация: числа на экране подставлены для примера и не являются результатом торговли.

Несколько копировщиков одновременно

Откройте столько окон копировщика, сколько нужно. Каждое именуется автоматически, у каждого свой мастер, свои ведомые и свои настройки риска, и все они сохраняются и восстанавливаются вместе с рабочим пространством NinjaTrader.

По одному на проп-фирму

Счета Apex в одном окне, Tradeify в другом, у каждого — те правила drawdown, которые фирма действительно применяет.

По одному на инструмент

Мастер по NQ ведёт ведомых по NQ, мастер по ES — ведомых по ES, с разным расчётом объёма в каждом.

По одному на стратегию

Скальпы копируются на агрессивные счета, более медленные сделки — на консервативные, из одной и той же платформы.

Ни одна страница конкурентов об этом не упоминает, поэтому здесь это заявлено как функция, а не оставлено сноской.

Рабочее пространство NinjaTrader с двумя окнами копировщика одновременно: у каждого свой мастер-счёт и свой набор ведомых
Два окна копировщика в одном рабочем пространстве, каждое со своим мастером и своим набором ведомых. Макет интерфейса, иллюстрация, а не снимок живых торгов.

Каждый тип заявки, сопоставленный

Действие мастераЧто происходит на каждом ведомом
Market, Limit, Stop Market, Stop Limit, MITЭквивалентная заявка, с объёмом по правилу этого ведомого
Изменение цены или количестваСопоставленные заявки ведомых меняются соответственно
ОтменаСопоставленные заявки ведомых отменяются
Брекет OCOСвязь OCO воссоздаётся по каждому ведомому и никогда не делится между счетами — поэтому стоп одного счёта не может отменить цель другого
Частичное исполнениеКопии отслеживают исполненное количество, а не поданное

Скопированные заявки несут префикс DC_, поэтому копировщик не может принять собственную активность за новую заявку мастера и скопировать её ещё раз.

Микро в мини и обратно

Ведомому на небольшом оценочном счёте не обязательно торговать тем же контрактом, что и мастер. Сопоставление MNQ↔NQ и MES↔ES позволяет полноразмерному мастеру вести ведомых на микро-контрактах или наоборот, с множителем поверх.

Сколько счетов он реально потянет?

Двадцать семь ведомых, проверено. Один мастер вёл 27 ведомых счетов одновременно — разработчик на своих собственных счетах, и всё оставалось в синхроне. Это число, которого мы действительно достигли, а не оценка.

Выше мы просто не пробовали, поэтому и заявлять не будем. Константы максимального числа ведомых в коде нигде нет, так что предел не наш: вас ограничивает то, сколько брокерских подключений может держать NinjaTrader одновременно.

NinjaTrader Desktop поддерживает одно активное подключение Rithmic за раз, но несколько подключений Tradovate одновременно. Apex, Tradeify, MyFundedFutures и BluSky работают через Tradovate, поэтому все они могут быть подключены одновременно. Если ваши фирмы на Rithmic, две сессии Rithmic в одном NinjaTrader держать нельзя — понадобится второй компьютер или другой маршрут. Фирмы меняют провайдеров — проверяйте свою, а не полагайтесь на этот абзац через год.

Большинство серьёзных мультисчётных проп-трейдеров держат NinjaTrader на Windows-VPS в дата-центре под Чикаго, рядом с движками сопоставления CME. Не ради красоты, а потому что задержка становится стабильной: каждый ведомый получает похожее исполнение, вместо того чтобы один отставал.

Что будет, если пропадёт интернет?

Копировщик перестаёт получать обновления мастера, и управление берёт защита от разрыва связи в соответствии с вашей конфигурацией. Ничего не переотправляется молча в устаревший рынок. Когда связь возвращается, механизм сверки сравнивает каждого ведомого с текущим состоянием мастера и закрывает разрыв — он не переигрывает пропущенные заявки.

Это различие важно. Переигрывание пропущенных заявок в рынок, который уже ушёл, — это то, как восстановление превращается во второй инцидент.

Настройка

01 · Подключение

Все счета, которые хотите копировать, уже должны быть подключены в NinjaTrader.

02 · Установка

Импортируйте AddOn, скомпилируйте, перезапустите NinjaTrader.

03 · Конфигурация

Откройте Control Center › New › DC Copier. Выберите мастера, добавьте ведомых, задайте каждому множитель или фиксированное количество.

04 · Проверка

Запустите Validate, затем Preview Test — он моделирует копирование, ничего не отправляя. Когда журнал выглядит как надо, нажмите START.

Ваш профиль — счета, объёмы, защиты, тема — сохраняется автоматически и загружается в следующий раз.

Цена

1 299 $ единоразово, бессрочно. Три компьютера на лицензию, так что и рабочая машина, и VPS покрыты.

Для сравнения: собственный аддон Multiple Broker у NinjaTrader стоит 99 $ каждый месяц, то есть больше 1 299 $ уже за первые четырнадцать месяцев — и это продукт для подключений, а не копировщик. Он позволяет подключить больше брокеров; он не повторяет одну заявку на двадцати счетах, у него нет механизма сверки, нет PANIC и нет учёта drawdown по каждому счёту.

Оплата пока не открыта — лицензионный клиент и платёжный провайдер ещё в разработке. До тех пор список основателей фиксирует более низкую цену.

Частые вопросы

Разрешают ли проп-фирмы копировщики сделок?

Копирование между своими собственными счетами крупные фьючерсные проп-фирмы обычно разрешают. Копирование для кого-то другого — иная, регулируемая деятельность, и этот инструмент не для неё. Правила меняются без предупреждения, поэтому сверяйтесь с действующими условиями своей фирмы, а не с чьей-либо сводкой — включая эту.

Работает ли он с Apex, Topstep, Lucid и Tradeify?

Он работает с любым счётом, к которому может подключиться NinjaTrader, включая проп-счета на Tradovate и Rithmic. DC TradeLab не связана ни с одной из этих фирм и упоминает их только как факт совместимости.

Скопирует ли он мой стоп и цель из ATM?

Да. Брекет-заявки копируются, а связь OCO воссоздаётся на каждом ведомом отдельно, поэтому стоп одного ведомого не может отменить цель другого.

Что если один ведомый отклонит заявку?

Этот счёт помечается как MISMATCH, причина записывается в журнал событий, и механизм сверки приводит его к целевому состоянию мастера. Остальные ведомые не затронуты и продолжают работать.

Можно управлять с телефона?

Да, через Telegram — включая закрытие всего. Если вас нет за столом, когда что-то пошло не так, кнопка всё равно работает.

Нужен ли VPS?

Нет, но большинство серьёзных проп-трейдеров его используют. Windows-VPS рядом с движками сопоставления CME в Чикаго делает задержку одинаковой сразу для всех счетов, а это важнее чистой скорости.

Привязана ли лицензия к одному компьютеру?

Три компьютера на лицензию, со сбросом привязки самостоятельно из личного кабинета, когда он откроется.

Можно купить сегодня?

Пока нет. Лицензионный клиент внутри AddOn и платёжный провайдер ещё в разработке. Запись в список основателей фиксирует более низкую цену и не требует оплаты.

Зафиксируйте цену основателя

Один только бессрочный копировщик планируется по 1 299 $. Комплект основателя — копировщик, десять индикаторов и Telegram-агент, всё бессрочно — стоит 1 845 $ для первых пятидесяти. Сегодня оплата не взимается.

English Deutsch Español Français Italiano Română Русский