Торговый робот TRIDa MOD1: тестирование и результаты

За последние пятнадцать лет разработки и внедрения торговых систем мы непрерывно совершенствовали методологию проектирования стратегий и обновляли техническую инфраструктуру. Представляем очередное бесплатное обновление торгового робота TRIDa Modification 1 (MOD1) — продукта, отражающего накопленный опыт и текущий этап развития нашей технологии.
Настоящий материал содержит подробное и прозрачное описание методики тестирования и расчёта результатов используемой торговой стратегии, особенностей серверной архитектуры, а также структуры решения, которое получает пользователь. В изложении намеренно отсутствуют маркетинговые элементы и недостижимые обещания: речь идёт исключительно о том, что может быть подтверждено данными, технологиями и воспроизводимыми результатами.
Публикация получилась объёмной, что обусловлено необходимостью полноценно раскрыть все существенные аспекты и обеспечить корректное понимание материала.
Что было сделано и что предлагается
Ниже перечислены основные шаги, выполненные в рамках разработки, тестирования и внедрения нового решения.
- Разработка и тестирование новой торговой стратегии. Создана усовершенствованная стратегия, которая прошла проверку на исторических данных за длительный период. Результаты тестирования демонстрируют стабильную работу и подтверждают эффективность подхода.
- Модернизация вычислительной инфраструктуры. Разработан новый сервер для расчётов, а архитектура взаимодействия с ним была переработана для повышения надёжности, скорости обработки данных и удобства интеграции.
- Интеграция стратегии в торговый робот. Стратегия упакована в новый торговый робот, который обеспечивает простоту использования и удобный интерфейс для пользователя, сохраняя при этом высокую техническую надежность исполнения.
Именно эта комбинация — стратегия, современная вычислительная инфраструктура и удобный робот — предлагается пользователю.
Новый торговый робот для биржи
Разработанный нами низкочастотный трендовый торговый робот ориентирован не на количество сделок, а на извлечение прибыли из значимых ценовых движений. Его задача — фиксировать выраженные рыночные тенденции, формирующиеся в течение одного или нескольких дней, не пытаясь предсказывать каждое краткосрочное колебание. Такой подход предполагает периоды ожидания: существенный тренд может сформироваться лишь спустя несколько недель, квартал и т.п. Тем не менее результаты тестирования демонстрируют, что выбранная методология является устойчивой и статистически оправданной. Далее мы подробно рассматриваем, как именно это подтверждается.
Торговый робот TRIDa реализован как серверное решение. Программа на стороне клиента не содержит алгоритма торговой стратегии: она лишь передаёт биржевые данные на сервер и получает готовые расчёты в качестве ответа. Такой подход является вынужденной мерой, позволяющей защитить интеллектуальную собственность и исключить риск компрометации стратегии. Единственный безопасный способ сделать робот доступным широкому кругу пользователей — архитектура клиент–сервер.
Очевидно, что подобная структура приводит к задержкам, связанным с передачей данных и обработкой ответов сервера. Кроме того, объём передаваемой информации может достигать миллионов строк данных в день, а вычисления на сервере являются достаточно сложными и ресурсоёмкими.
Для обеспечения оптимального баланса между производительностью и нагрузкой на сервер мы реализовали три версии робота:
- Basic — максимальная задержка передачи данных, до 15 секунд;
- Pro — средняя задержка, порядка 10 секунд;
- Ultra — минимальная задержка, до 2 секунд.
В этом обновлении мы сосредоточились на практических улучшениях, которые сделают работу с роботом стабильнее, быстрее и проще. Обновления затронули как серверную, так и клиентскую части программы, а также ключевую логику стратегии. Вот основные изменения, которые мы внесли:
- ✅ Упростили интерфейс и минимизировали количество настроек как самой TRIDa, так и терминала QUIK.
- ✅ Упростили, ускорили и сделали еще удобнее ежедневное взаимодействие пользователя с программой.
- ✅ Добавили функцию Email-уведомления, чтобы система автоматически информировала об ошибках связи.
- 🔥 Ввели поддержку непрерывной торговли — робот способен работать без остановок ежедневно.
- 🔥 Разработали и внедрили новый расчётный сервер с более надёжной и быстрой архитектурой обработки данных и поддержкой связи.
- 🔥🔥 Разработали и упаковали новую стратегию, включающую улучшенный алгоритм расчётов и модернизированную логику фильтрации сигналов , что привело к более стабильным статистическим результатам и к повышенной устойчивости к рыночным шумам.
В разных версиях программы реализован собственный подход к интерпретации стратегии. Необходимо подчеркнуть, что задержки и отличия в интерпретациях напрямую влияют на результат работы стратегии. Все эти особенности и ограничения были учтены при тестировании, чтобы результаты моделирования максимально отражали реальные условия использования робота.
Версии программы отличаются и набором функций. Все возможности и функции программы рассмотрены в руководстве пользователя.
Подробное руководство пользователя смотрите по ссылке — 👉
Инструкция к роботу
Тестирование торговой стратегии
Для объективной оценки эффективности новой торговой стратегии существует лишь один метод — тестирование на исторических данных за достаточно длительный период. Несмотря на то, что результаты прошлого не гарантируют повторения в будущем, анализ статистически значимого промежутка времени позволяет получить наиболее вероятное представление о характере работы стратегии. Альтернативных методов оценки просто нет: даже торговля на реальном счёте со временем также превращается в историю и лишь увеличивает длину тестируемого периода.
Однако, корректность тестирования имеет принципиальное значение. Модель должна максимально точно воспроизводить условия реальной торговли, а результаты теста — полностью совпадать с тем, что трейдер получил бы на реальном счёте при идентичной последовательности действий. Поэтому до начала исследования мы провели сопоставление результатов тестирования с фактическими сделками стратегии в реальной торговле, что подтвердило корректность алгоритма исполнения.
Ключевые требования к качественному тестированию:
- Использование достоверных и точных исторических данных. Для анализа применяются высокоточные и общедоступные данные с сайта Финам. Каждый торговый день представляет собой полный набор тиков — последовательность всех изменений цены за день без каких-либо фильтров (точная копия цен, объемов и др. таблицы обезличенных сделок QUIK). Это позволяет избежать искажений, связанных с агрегацией данных или пропуском значимых событий.
- Максимальное приближение условий тестирования к реальной торговле. Корректность теста проверяется путём сопоставления тестовых сделок с фактическими сделками той же стратегии, выполненными на реальном счёте. На следующих рисунках и таблицах представлены графики с точками входа/выхода и сравнение всех сделок, подтверждающее идентичность результатов.
Обратите внимание на то, что QUIK неверно интерпретирует свечи. Но время и сделки совпадают. Небольшая разница в несколько пунктов была учтена далее в расчетах.
Кроме того, в процессе тестирования строго соблюдалась корректность моделирования торгового процесса: данные обрабатывались последовательно без использования будущей информации, что исключает эффект «заглядывания вперёд»; алгоритм воспроизводил реальные торговые условия, проскальзывание, комиссионные издержки и целочисленный объём позиции; параметры стратегии не подгонялись под исторические результаты. Это обеспечивает реалистичность и воспроизводимость полученных результатов.
Результаты тестирования торговой стратегии

В результате тестирования мы получили цифры, приведенные ниже.
Накопленный результат: +7 264% (Basic), +9 196% (Pro), +15 256% (Ultra).
Просадка по счету: -12,55% (Basic), -10,65% (Pro), -5,75% (Ultra).
Позиций в среднем за сессию: 1,9 шт. для всех версий.
Ниже показан чистый результат ( далее по тексту и в расчетах
Чрез ) в пунктах (рублях) на 1 лот за 2025 год, полученный в результате тестирования.
Методика подсчета результатов
В качестве исходной величины для начала моделирования используется стартовый размер счёта, определяемый как гарантийное обеспечение (ГО), увеличенное на 50%. Под гарантийным обеспечением понимается сумма, необходимая для открытия одной позиции (одного лота) по фьючерсному контракту. Для инструмента Si (фьючерс на курс доллара США к российскому рублю) среднее значение ГО за рассматриваемый период принято равным 14 000 рублей. Соответственно, стартовый размер счёта составляет:
РС = ГО + ГО * 0,5 = 14 000 + 14 000 * 0,5 = 21 000 рублей, где
РС – стартовый размер счета
ГО – гарантийное обеспечение
В расчетах учитываются брокерская комиссия 0,45 руб. на 1 лот ( брокер «Финам» ) и биржевой сбор 3,78 руб. за регистрацию сделки на 1 лот. На момент проведения тестирования полная стоимость одной закрытой позиции (открытие + закрытие) по контракту Si при торговле рыночными ордерами составляет:
КОММ = 0,45 * 2 + 3,78 * 2 = 8,46 рублей на 1 лот.
Размер позиции определяется по принципу постепенного увеличения: каждый прирост счёта на 100% даёт возможность добавить один дополнительный лот. В первой итерации размер позиции фиксируется на уровне одного лота. Далее, на каждом последующем шаге размер позиции пересчитывается на основе накопленного процентного результата по состоянию на конец предыдущего дня. В результате формируется целочисленный размер позиции, ограниченный сверху параметром МРП.
Параметр МРП (максимальный размер позиции) является важным элементом методологии, определяющим предельные возможности модели. Его значение выбирается исходя из двух факторов: ликвидности торгуемого инструмента и среднедневного количества сделок. В расчётах установлено значение МРП = 50, что оправдано низкой торговой активностью стратегии (в среднем около двух сделок за сессию) и достаточной ликвидностью контракта Si, позволяющей выполнять рыночные ордера объёмом до 50 лотов без значимой погрешности исполнения.
В реальной торговле избежать погрешностей при исполнении ордеров невозможно, а величина реального проскальзывания напрямую зависит от размера позиции. Параметр ПОГР (погрешность исполнения сделки на один лот) выбирался с учётом фактического максимального размера позиции. Для расчётов принято значение ПОГР = 5 рублей на один лот. Это значение отражает среднюю оценку потенциального ухудшения цены при исполнении рыночных ордеров.
Итерация 1:
Рез%= ( Чрез * РП – КП * РП * КОММ – КП * РП * ПОГР ) * 100 / РС
РП = 1
Итерация 2:
Рез% = Рез%пред + ( Чрез * РП – КП * РП * КОММ – КП * РП * ПОГР ) * 100 / РС
РП = МИН ( МАКС ( 1 ; ЦЕЛОЕ ( Рез%пред / 100) ) , МРП ), где
Рез% – результат в процентах с учетом комиссий и погрешности
Рез%пред – результат в процентах с учетом комиссий и погрешности за предыдущий день/итерацию
Чрез – чистый результат, полученный при тестировании
РП – размер позиции
КП – количество позиций за день по результатам тестирвоания
КОММ – сумма комиссии брокера и биржевого сбора на 1 лот
ПОГР – погрешность исполнения сделки на 1 лот
МИН – функция, выбирающая меньшее из двух чисел;
МАКС – функция, выбирающая большее из двух чисел;
ЦЕЛОЕ – функция, оставляющая только целое число, отбрасывая дробную часть;
МРП – максимальный размер позиции.
Итоговый результат на каждой итерации определяется по формуле:
Итерация N:
Рез%итог = ∑ Рез%(i), i=1..N
Рез%итог – итоговый накопленный результат в процентах
Ниже перечислены все элементы модели, которые мы учли для максимально консервативной и честной оценки результата. Эти элементы намеренно ограничивают или уменьшают итоговую прибыль, чтобы исключить завышение результата:
- Использование лишь части начального капитала. Другая часть счета всегда находится в резерве и не участвует в торговле, снижая агрессивность модели.
- Ограничение максимального размера позиции (МРП). Даже если счет позволяет открыть больше лотов, позиция не превышает установленного небольшого лимита.
- Погрешность исполнения ордеров. Даже при моделировании открытия позиции на 1 лот.
- Учёт полной комиссии (комиссия брокера + биржевой сбор). Стоимость одной завершённой позиции учитывается в полном объёме для каждого лота.
- Использование среднего значения ГО по периоду. Если ГО падает, реальная прибыль могла бы быть выше, но модель не пересчитывает позицию в более выгодные дни.
- Отсутствие использования услуги «Пониженное ГО». Мы намеренно НЕ применяли ГО = ГО / 2, которое могло бы увеличить доступный размер позиции и, соответственно, прибыль.
- Ежедневное реинвестирование, а не внутридневное. Обновление размера счета происходит раз в день, без увеличения позиции внутри дня, что уменьшает эффект сложного процента.
- Не учитывались скидки на комиссии и преференции тарифов. В реальной торговле комиссия может быть ниже. Но в модели используется фиксированная и доступная всем величина.
В завершение
Мы стремились максимально подробно и прозрачно описать методологию, использовали ряд допущений и ограничений, чтобы модель была максимально честной, реалистичной и не завышала результат. Несмотря на это, ни одна модель не может учитывать абсолютно все факторы реального рынка. Полученные результаты не являются гарантией доходности в будущем и не могут рассматриваться как финансовая рекомендация.
Наша задача — предоставить полную информацию, чтобы вы могли самостоятельно оценить подход, понять принципы получения результата и принять взвешенное решение. Перед началом торговли на бирже рекомендуется проконсультироваться со специалистом и тщательно оценить все риски.
Данная публикация является неотъемлемой частью документации к торговому роботу TRIDa Modification 1 (MOD1) и служит официальным источником информации о методике тестирования и используемых допущениях. Ссылка на неё будет размещена на странице программы. Материал обязателен к прочтению всем пользователям перед покупкой лицензии, установкой и применением робота.
Торговый робот для биржи по ссылке — 👉
TRIDa MOD1 На Главную страницу