Разработка алгоритма Martingale/Anti-Martingale для криптотрейдинга

Резкие развороты рынка превращают усреднение позиции в источник роста убытков, если логика не ограничена. Мы разрабатываем martingale и anti-martingale алгоритмы под ключ: настраиваем правила входа, лимиты шагов и аварийное закрытие под ваш стиль торговли. Логика становится управляемой, а поведение стратегии — воспроизводимым.
Часто задаваемые вопросы

Почему martingale алгоритм ломается на живом рынке

Мартингейл выглядит устойчиво на истории: редкие убытки перекрываются серией удвоений. На живом рынке рвётся не сама идея, а её границы. Объём следующей сделки растёт как 2ⁿ, и на восьмом-десятом шаге требуемая маржа в десятки раз превышает стартовую — усреднение позиции против тренда упирается не в вероятность разворота, а в размер счёта и плечо, которое брокер даст именно сегодня.

Аргумент, который сформулировал Нассим Талеб, работает здесь буквально: убыток, обнуляющий счёт, следующим шагом не компенсируется — разорение необратимо. Вторая точка отказа — отсутствие стоп-условия: в алгоритме не заложен ни лимит на число шагов, ни потолок просадки стратегии, ни пауза после череды неудачных входов. Поэтому на вопрос «почему сливается мартингейл» отвечает не рынок, а серия сделок без лимита, у которой нет условия выхода.

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

Что даёт управляемая логика усреднения позиции

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

Жёсткие лимиты вместо надежды на разворот

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

Робот возвращается в работу за секунды и продолжает серию с сохранённого шага, а не открывает её заново.

Прозрачная отчётность по каждой серии

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

Сравнение режимов: мартингейл, антимартингейл, комбинированный

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

Режим Когда подходит Ограничения
Классический мартингейл Боковик, спокойная волатильность, инструмент с чёткими уровнями Объём доливки растёт по удвоению: нужен запас средств и жёсткий лимит числа шагов
Антимартингейл Тренд, пробой диапазона, устойчивый момент На разворотах копятся короткие серии убытков, прибыль режут фильтры входа
Гибрид с переключением Смена рыночных состояний внутри сессии Сложнее тестировать: нужна модель смены состояния и проверка на шве перехода
Ручной режим Отладка, нестандартный инструмент, проверка идеи Автоматики нет — вход и усреднение полностью на операторе

Как выбрать режим под ваш инструмент

Вопрос «мартингейл или антимартингейл» мы решаем не по вкусу, а по историческому ряду инструмента. Считаем распределение серий убыточных сделок, их максимальную длину и глубину просадки при разных параметрах, а сигналы берём из внешнего источника (TradingView или поток биржи). Если серии короткие и возврат к среднему устойчив — работает усреднение; если преобладают направленные движения, объём безопаснее наращивать по тренду. Гибридная стратегия усреднения оправдана там, где состояние рынка меняется внутри торгового дня и ни один из крайних подходов не держит просадку.

Переключение режимов без переприсылки кода

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

Как мы собираем martingale алгоритм: этапы работы

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

Формализация правил до первой строки кода

  1. Аудит текущей логики. По журналам сделок восстанавливаем, где ручные решения расходились с задуманным и на каких участках серия усреднения уходила в глубокую просадку.
  2. Правила входа и выхода. Условия старта серии, интервал свечей, размер первой позиции, шаг доливки и коэффициент роста объёма, закрытие — по цели, по времени или по сигналу.
  3. Схема управления риском. Предельная просадка серии в процентах от рабочего капитала, максимум шагов, пауза после полосы убытков и условие полной остановки алгоритма.

Проверка на данных и в тестовом режиме

  • Реализация. Стратегия, риск-модуль и слой исполнения ордеров разведены по модулям, параметры вынесены в конфигурацию — поведение меняется без правок кода.
  • Тестирование стратегии на истории. Прогон с учётом комиссий, задержек исполнения и проскальзывания, отдельно на тренде и в боковике, со скользящей перепроверкой на последовательных отрезках.
  • Проверка в тестовом режиме. Запуск на живом потоке котировок без выставления ордеров: сверяем сигналы и объёмы с историческим прогоном и ловим расхождения до выхода на реальный счёт.
  • Передача алгоритма заказчику. Репозиторий, конфигурации, описание логики, инструкция по запуску и откату на прошлую версию, далее — сопровождение по согласованному регламенту.

Что входит в поставку: код, конфигурации, регламенты

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

  • Исходный код торгового робота с комментариями: расчёт объёма следующей позиции в серии, выставление и снятие заявок, обработка частичных исполнений и обрывов связи.
  • Конфигурация параметров риска отдельным файлом: базовый размер позиции, множитель и предел числа ступеней, стоп на серию, лимит суммарной экспозиции, торговые окна.
  • Политики доступа к API: ключи разделены по правам, вывод средств закрыт на стороне биржи, настроены ротация ключей и ограничения по адресам и частоте запросов.
  • Схема взаимодействия модулей: путь данных от стакана до решения о входе и выходе, точки журналирования и метрики для наблюдения.
  • Документация на алгоритм: логика серий и условия сброса, поведение при низкой ликвидности, расширении спреда и проскальзывании.
  • Регламент аварийной остановки: признаки срабатывания, порядок снятия заявок и закрытия позиций, фиксация инцидента и разбор причин.
  • Чек-лист приёмки: прогон на исторических данных и на тестовом контуре биржи до вывода на рабочий счёт.

Документация, по которой сможет работать другой инженер

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

Кейс: как переработка логики изменила поведение стратегии

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

Цена такой логики проявлялась редко, но тяжело: просадка в трендовых эпизодах доходила до 60–70% от пика счёта, а простой после потери связи занимал от 15 до 40 минут. Робот работал с парами к доллару на Binance, где разрыв соединения — штатная ситуация, и каждая пауза означала неуправляемую позицию.

В переработанной версии появился жёсткий лимит глубины серии и ступенчатый множитель: после пятого шага новые позиции не открываются, а по порогу срабатывает автоматическая остановка торговли. Состояние робота пишется в журнал, поэтому после обрыва связи он поднимает позиции по факту исполненных сделок — без закрытия и переоткрытия. Итог — снижение просадки с 60–70% до 25–30% от пика счёта и восстановление сопровождения в пределах минуты.

Как мы считали результат

Чтобы результаты внедрения робота не выглядели подгонкой, две версии прогоняли на одном историческом отрезке в трёх режимах рынка: рост, падение, боковик. Обрыв связи имитировали принудительным разрывом на 10, 20 и 40 минут, исполнение сделок подставляли с реальными задержками. Считали просадку от пика счёта, время восстановления сопровождения и число ручных вмешательств на сотню сделок.

Чем отличается мартингейл от антимартингейла на практике

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

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

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

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

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

Технические сомнения: о чём спрашивают перед стартом

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

Что делает алгоритм при резком движении цены против позиции?

Объём растёт по заданной сетке, но только до предела шагов и максимальной экспозиции. На границе алгоритм фиксирует убыток по стоп-правилу, а не продолжает усредняться. Такой сценарий заранее прогоняется на истории.

Как ограничивается риск, кроме размера позиции?

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

Что происходит при обрыве связи с биржей?

Алгоритм не додумывает котировки: заявки остаются на стороне площадки, а при восстановлении соединения состояние сверяется с фактическим. Защитный сценарий идёт по локальному времени, поэтому пауза в канале не оставляет позицию без присмотра.

Можно ли перенести алгоритм на другую биржу или инструмент?

Логика исполнения привязана к правилам площадки: типы заявок, шаг цены, лимиты, комиссии. Меняется слой адаптации, после чего стратегия прогоняется на истории нового инструмента.

Как проверяется алгоритм до запуска на реальном капитале?

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

Обсудим задачу: с чего начать и что подготовить

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

Минимальный набор для подготовки к обсуждению:

  • Логика входов и выходов — как считается первый вход, шаг усреднения, множитель, предельное число колен и правило выхода из серии.
  • Статистика сделок — выгрузка за период: время входа и выхода, результат, максимальная просадка по серии.
  • Биржи и инструменты — где торгуем, спот или срочный рынок, рабочие пары, ограничения по размеру позиции.
  • Действующие ограничения по риску — предельная просадка на день и на серию, лимит на позицию, условия автоматической остановки.
  • Требования к отчётности — что нужно видеть: журнал сделок, сводку по дням, оповещения о сбоях и отклонениях от плана.
  • Доступы и проверочный контур — права на торговый счёт, тестовый контур биржи, кто принимает решения при сбое.

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

Направления блокчейн-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1369
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    816
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1141