Чому martingale алгоритм ламається на живому ринку
Мартингейл виглядає стійко на історії: рідкісні збитки перекриваються серією подвоєнь. На живому ринку рветься не сама ідея, а її межі.
Обсяг наступної угоди зростає як 2ⁿ, і на восьмому-десятому кроці потрібна маржа в десятки разів перевищує стартову — усереднення позиції проти тренду впирається не у ймовірність розвороту, а в розмір рахунку й плече, яке брокер дасть саме сьогодні.
Аргумент, який сформулював Насім Талеб, працює тут буквально: збиток, що обнуляє рахунок, наступним кроком не компенсується — розорення незворотне.
Друга точка відмови — відсутність стоп-умови: в алгоритмі не закладено ні ліміту на кількість кроків, ні стелі просідання стратегії, ні паузи після низки невдалих входів.
Тому на питання «чому зливається мартингейл» відповідає не ринок, а серія угод без ліміту, у якої немає умови виходу.
Третя причина — виконання.
Прослизання на тонкій книзі заявок зсуває точку входу, і множник уже не відновлює позицію; ручні правки на ходу — збільшений крок, пропущена заявка — ламають розрахунок, а обрив зв'язку в момент виставлення чергового ордера залишає відкриту серію без контролю.
Нижче розбираємо, як це закривається: розрахунком граничної глибини серії, автономним контролем виконання й захистом від ручних втручань.
Що дає керована логіка усереднення позиції
Класичний мартингейл подвоює обсяг після збитку і тримається на припущенні, що серія колись розвернеться. Обмеження не в математиці, а в кінцевому розмірі рахунку: незакрита серія витрачає кошти швидше, ніж приходить розворот.
Керована логіка усереднення замінює це припущення набором правил, які робот виконує без людини — множник і стеля обсягу, ліміт на серію угод, ризик на угоду й на день.
Жорсткі ліміти замість надії на розворот
Керування розміром позиції задається формулою зі стелею: крок серії не може перевищити ліміт, а вичерпаний ризик на день закриває торгівлю до наступного торгового дня.
Ліміт на серію угод обриває усереднення на заданому кроці — замість очікування розвороту робот фіксує збиток серії й починає новий розрахунок.
Відновлення після збою торгового робота будується на журналі стану: під час перезапуску позиція та відкриті ордери звіряються з біржею, наприклад Bybit, крок серії відновлюється з журналу, а розбіжність трактується як закриття за правилом.
Робот повертається до роботи за секунди й продовжує серію зі збереженого кроку, а не відкриває її заново.
Прозора звітність по кожній серії
По кожній серії ведеться запис: номер кроку, обсяг, ціна входу, накопичений результат і причина виходу — ліміт, ціль або ручна зупинка.
Один модуль розрахунку обслуговує кілька інструментів, відрізняються лише параметри, тому поведінка стратегії на новому ринку передбачувана й не потребує окремої логіки.
Порівняння режимів: мартингейл, антимартингейл, комбінований
Режими роботи торгового алгоритму розрізняються не логікою входу, а реакцією на серію збиткових угод: як змінюється обсяг, коли усереднюватися й коли серія закривається. В одному ядрі ми збираємо чотири конфігурації — вони перемикаються параметром, без перезбирання коду.
| Режим | Коли підходить | Обмеження |
|---|---|---|
| Класичний мартингейл | Боковик, спокійна волатильність, інструмент із чіткими рівнями | Обсяг доливання зростає за подвоєнням: потрібен запас коштів і жорсткий ліміт кількості кроків |
| Антимартингейл | Тренд, пробій діапазону, стійкий імпульс | На розворотах накопичуються короткі серії збитків, прибуток зрізають фільтри входу |
| Гібрид із перемиканням | Зміна ринкових станів усередині сесії | Складніше тестувати: потрібна модель зміни стану й перевірка на шві переходу |
| Ручний режим | Налагодження, нестандартний інструмент, перевірка ідеї | Автоматики немає — вхід і усереднення повністю на операторі |
Як вибрати режим під ваш інструмент
Питання «мартингейл чи антимартингейл» ми вирішуємо не за смаком, а за історичним рядом інструмента. Рахуємо розподіл серій збиткових угод, їхню максимальну довжину й глибину просідання за різних параметрів, а сигнали беремо із зовнішнього джерела (TradingView або потік біржі).
Якщо серії короткі й повернення до середнього стійке — працює усереднення; якщо переважають спрямовані рухи, обсяг безпечніше нарощувати за трендом.
Гібридна стратегія усереднення виправдана там, де стан ринку змінюється всередині торгового дня і жоден із крайніх підходів не тримає просідання.
Перемикання режимів без пересилання коду
Режим — це набір параметрів: крок усереднення, множник обсягу, максимальна кількість доливань, поріг волатильності для зміни.
Вони лежать у файлі налаштувань, який алгоритм читає під час старту й за керуючим сигналом, тому перехід між режимами — правка одного рядка й перезапуск без збірки.
Логіка усереднення залишається незмінною, змінюється лише її налаштування — так виключаються помилки ручного копіювання коду.
Як ми збираємо martingale алгоритм: етапи роботи
Розробка торгового алгоритму починається не з коду, а з розбору того, як рішення ухвалюється зараз. Поки правила доливання й виходу тримаються в голові, відтворити збій неможливо, а спір «робот винен чи ринок» вирішується наосліп.
Тому етапи впровадження торгового робота вибудовуємо так, щоб кожне правило було зафіксовано до реалізації й перевірялося окремо.
Формалізація правил до першого рядка коду
- Аудит поточної логіки. За журналами угод відновлюємо, де ручні рішення розходилися із задуманим і на яких ділянках серія усереднення йшла в глибоке просідання.
- Правила входу й виходу. Умови старту серії, інтервал свічок, розмір першої позиції, крок доливання й коефіцієнт зростання обсягу, закриття — за ціллю, за часом або за сигналом.
- Схема керування ризиком. Граничне просідання серії у відсотках від робочого капіталу, максимум кроків, пауза після смуги збитків і умова повної зупинки алгоритму.
Перевірка на даних і в тестовому режимі
- Реалізація. Стратегія, ризик-модуль і шар виконання ордерів розведені за модулями, параметри винесені в конфігурацію — поведінка змінюється без правок коду.
- Тестування стратегії на історії. Прогін з урахуванням комісій, затримок виконання й прослизання, окремо на тренді та в боковику, зі ковзною перевіркою на послідовних відрізках.
- Перевірка в тестовому режимі. Запуск на живому потоці котирувань без виставлення ордерів: звіряємо сигнали й обсяги з історичним прогоном і ловимо розбіжності до виходу на реальний рахунок.
- Передача алгоритму замовнику. Репозиторій, конфігурації, опис логіки, інструкція із запуску й відкату на попередню версію, далі — супровід за узгодженим регламентом.
Що входить у постачання: код, конфігурації, регламенти
Постачання можна прийняти за формальною ознакою: код запускається на тестовому контурі, конфігурація змінює поведінку алгоритму без правки коду, регламент описує дії чергового. Нижче — що саме передаємо.
- Вихідний код торгового робота з коментарями: розрахунок обсягу наступної позиції в серії, виставлення й зняття заявок, обробка часткових виконань і обривів зв'язку.
- Конфігурація параметрів ризику окремим файлом: базовий розмір позиції, множник і межа кількості ступенів, стоп на серію, ліміт сумарної експозиції, торгові вікна.
- Політики доступу до API: ключі розділені за правами, виведення коштів закрито на боці біржі, налаштовані ротація ключів та обмеження за адресами й частотою запитів.
- Схема взаємодії модулів: шлях даних від книги заявок до рішення про вхід і вихід, точки журналювання й метрики для спостереження.
- Документація на алгоритм: логіка серій і умови скидання, поведінка за низької ліквідності, розширення спреду й прослизання.
- Регламент аварійної зупинки: ознаки спрацювання, порядок зняття заявок і закриття позицій, фіксація інциденту й розбір причин.
- Чек-лист приймання: прогін на історичних даних і на тестовому контурі біржі до виведення на робочий рахунок.
Документація, за якою зможе працювати інший інженер
Окремий розділ — інструкція з розгортання, лист параметрів із допустимими діапазонами й описом наслідків виходу за них, порядок відкату на попередню версію конфігурації.
Фахівець, який алгоритм не писав, за цими матеріалами піднімає робота з нуля, змінює налаштування ризику й розуміє, де дивитися журнали.
Кейс: як переробка логіки змінила поведінку стратегії
У початковій версії серія усереднення не мала верхньої межі: робот додавав обсяг проти руху на кожному кроці й на затяжному тренді набирав до дванадцяти позицій підряд.
Параметри кроку й множника правилися вручну через інтерфейс — кожна правка вимагала зупинки торгівлі, а обрив зв'язку залишав відкриту серію без супроводу.
Ціна такої логіки проявлялася рідко, але тяжко: просідання в трендових епізодах сягало 60–70% від піку рахунку, а простій після втрати зв'язку займав від 15 до 40 хвилин.
Робот працював із парами до долара на Binance, де розрив з'єднання — штатна ситуація, і кожна пауза означала некеровану позицію.
У переробленій версії з'явився жорсткий ліміт глибини серії та ступінчастий множник: після п'ятого кроку нові позиції не відкриваються, а за порогом спрацьовує автоматична зупинка торгівлі.
Стан робота пишеться в журнал, тому після обриву зв'язку він піднімає позиції за фактом виконаних угод — без закриття й перевідкриття. Підсумок — зниження просідання з 60–70% до 25–30% від піку рахунку й відновлення супроводу в межах хвилини.
Як ми рахували результат
Щоб результати впровадження робота не виглядали підгонкою, дві версії прогоняли на одному історичному відрізку в трьох режимах ринку: зростання, падіння, боковик. Обрив зв'язку імітували примусовим розривом на 10, 20 і 40 хвилин, виконання угод підставляли з реальними затримками.
Рахували просідання від піку рахунку, час відновлення супроводу й кількість ручних втручань на сотню угод.
Чим відрізняється мартингейл від антимартингейла на практиці
Мартингейл нарощує обсяг після збиткової угоди, антимартингейл — після прибуткової. Це єдина, але принципова розбіжність: перша логіка йде проти серії й чекає повернення ціни до середнього, друга приєднується до руху й розраховує на його продовження.
У мартингейлі обсяг зростає геометрично — кожен наступний вхід більший за попередній у задану кількість разів. Тому капітал має витримувати не одну невдалу угоду, а всю серію, і її гранична глибина стає головним параметром ризику.
Антимартингейл збільшує обсяг лише після підтвердженого прибутку, витрачає капітал повільніше, але цілком залежить від того, чи встигає прибуткова серія розвинутися.
Розподіл результату у двох логік дзеркальний. Мартингейл дає багато коротких плюсів і рідкісні глибокі просідання: один затяжний тренд проти позиції перекриває десятки вдалих циклів.
Антимартингейл дає часті дрібні збитки й рідкісні великі прибутки, і підсумок вирішує амплітуда спійманого руху.
У тренді антимартингейл нарощує позицію за напрямком руху й підтягує стоп за ціною — тренд стає джерелом основного результату.
Мартингейл у тренді проти позиції усереднюється у все більш збитковий бік, і без жорсткої межі кількості кроків серія закінчується втратою робочого капіталу.
У флеті картина зворотна: повернення ціни до середнього закриває мартингейлові серії в плюс, а антимартингейл збирає хибні пробої та дрібні стопи. Тому крок сітки й множник ми прив'язуємо до поточної волатильності й задаємо межу глибини серії.
Технічні сумніви: про що запитують перед стартом
Перед стартом замовники перевіряють не стільки математику усереднення, скільки поведінку алгоритму в нештатних ситуаціях: різкий рух проти позиції, обрив зв'язку, перенесення стратегії на інший майданчик. Нижче — відповіді на сумніви, які виникають найчастіше у тих, хто вже торгував вручну.
Що робить алгоритм під час різкого руху ціни проти позиції?
Обсяг зростає за заданою сіткою, але лише до межі кроків і максимальної експозиції. На межі алгоритм фіксує збиток за стоп-правилом, а не продовжує усереднюватися. Такий сценарій заздалегідь прогоняється на історії.
Як обмежується ризик, крім розміру позиції?
Три незалежні обмежувачі: ліміт на серію усереднень, межа просідання за торгову сесію й автостоп при виході волатильності за коридор. Кожен спрацьовує сам, без участі оператора.
Що відбувається при обриві зв'язку з біржею?
Алгоритм не домислює котирування: заявки залишаються на боці майданчика, а під час відновлення з'єднання стан звіряється з фактичним. Захисний сценарій іде за локальним часом, тому пауза в каналі не залишає позицію без нагляду.
Чи можна перенести алгоритм на іншу біржу або інструмент?
Логіка виконання прив'язана до правил майданчика: типи заявок, крок ціни, ліміти, комісії. Змінюється шар адаптації, після чого стратегія прогоняється на історії нового інструмента.
Як перевіряється алгоритм до запуску на реальному капіталі?
Три кроки: прогін на історії з рідкісними різкими рухами, тестовий контур біржі, обмежений обсяг. Перехід далі — після збігу розрахункових і фактичних результатів.
Обговоримо задачу: з чого почати й що підготувати
Обговорювати розробку алгоритму продуктивніше, коли на столі є вхідні дані, а не лише ідея «потрібен догін». Вони визначають і архітектуру, і обсяг робіт: зовні схожі мартингейл і анти-мартингейл розходяться вже на етапі розрахунку розміру позиції після серії.
Мінімальний набір для підготовки до обговорення:
- Логіка входів і виходів — як рахується перший вхід, крок усереднення, множник, гранична кількість колін і правило виходу із серії.
- Статистика угод — вивантаження за період: час входу й виходу, результат, максимальне просідання за серією.
- Біржі та інструменти — де торгуємо, спот чи строковий ринок, робочі пари, обмеження за розміром позиції.
- Чинні обмеження за ризиком — граничне просідання на день і на серію, ліміт на позицію, умови автоматичної зупинки.
- Вимоги до звітності — що потрібно бачити: журнал угод, зведення за днями, оповіщення про збої та відхилення від плану.
- Доступи й перевірочний контур — права на торговий рахунок, тестовий контур біржі, хто ухвалює рішення під час збою.
Частину вхідних даних можна відновити з історії рахунку, тому їхня відсутність розмову не блокує. За підсумками обговорення ми повертаємося з оцінкою проєкту автоматизації торгівлі та планом робіт за алгоритмом: етапи, прогін на історичних даних, контрольні точки приймання.







