Jump to content

Recommended Posts

Posted (edited)

Меня зовут Виталий. По образованию программист-математик. В трейдинге и инвестициях более 10 лет, 5 лет в алгоритмической торговле, последние 3 года занимался созданием собственного софта для оптимизации стратегий и торговли на разных рынках — проект назвал ARANEA.

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

Для аналитической и сравнительной работы взял TSLAB — программе более 15 лет, она хорошо зарекомендовала себя как качественное ПО для трейдеров. Моя программа ARANEA не доступна в публичном доступе и ни в каких индивидуальных условиях — я просто делюсь своим опытом, данными и подходом.

Картинка №1 - визуальный редактор TSlab с схемой.

Рассмотрим оптимизацию стратегии с логикой 1 вход = 1 выход.

Формула входа:
                            
Open > Close && Close > DayLow && Low < DayLow

Это красная свеча, сделавшая ложный пробой дневного уровня.

Разделил график на два состояния поведения цены:

  • Фильтр №1: DayLow[-1] < DayLow — дневные минимумы повышаются
  • Фильтр №2: DayLow[-1] > DayLow — дневные минимумы понижаются

Добавил индикатор EMA, который тоже сформировал два состояния рынка:

  • Правило №1: aEMA < Close
  • Правило №2: aEMA > Close

Итого 4 уникальные зоны поведения рынка:

  1. Фильтр №1 + Правило №1
  2. Фильтр №1 + Правило №2
  3. Фильтр №2 + Правило №1
  4. Фильтр №2 + Правило №2

 

Картинка №2 -зеленым показывает зону фитра №1 а красным фильтра №2


Теперь посчитаем количество комбинаций для SL/TP.

PM (Position Manager) — это модуль управления стоп-лоссом и тейк-профитом. Для этой стратегии я взял стандартный TSLAB-овский кубик PM трейлинг стопа (%) и выставил на нем следующий диапазон:

Параметр

Мин.

Макс.

Шаг

Стоп_лосс

3.0

5.0

0.2

Вкл. трейл

0.6

4.2

0.2

Подтя.стоп

0.4

4.0

0.2

Расчет количества комбинаций для одного PM:

  • Стоп_лосс: (5.0 - 3.0) / 0.2 + 1 = 11 вариантов
  • Вкл. трейл: (4.2 - 0.6) / 0.2 + 1 = 19 вариантов
  • Подтя.стоп: (4.0 - 0.4) / 0.2 + 1 = 19 вариантов

11 × 19 × 19 = 3 971 комбинация = 1 PM

Теперь про EMA:

Как я писал ранее, у меня два правила EMA с разными диапазонами:

  • Правило №1: от 10 до 100 с шагом 10 = 10 вариантов
  • Правило №2: от 100 до 200 с шагом 10 = 11 вариантов

Итоговый расчет:

Для каждого правила EMA + фильтр получается:

3 971 (PM) × 10 (EMA №1) = 39 710 комбинаций

У нас 4 зоны (2 фильтра × 2 правила EMA), значит:

4 × 39 710 = 158 840 вычислений

 

Что мы получаем в итоге:

С таким объемом TSLAB справится без проблем. 158 тысяч вычислений — это не нагрузка даже для старого ПК.  Но здесь кроется совсем другая проблема.

У нас есть 4 разных состояния рынка. Каждое из них нужно оптимизировать отдельно. Вести учет в таблицах. Постоянно записывать гору показателей по каждому состоянию. И именно это меня бесило в исследовании стратегий и систем SL/TP больше всего.

 

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

 

Я эту проблему решил параллельными вычислениями. В процессе у меня получилось добиться скоростей оптимизации более 4 миллионов комбинаций в секунду на обычном домашнем компьютере.

 

Расширяем систему управления позицией

 

Надеюсь, для читающего этот пост не будет проблем с пониманием того, что существуют разные схемы управления SL/TP. Поэтому я предлагаю расширить систему, чтобы показать, что у меня получилось запрограммировать и какие результаты. Я добавил в общей сложности 4 вариантов PM (Position Manager). Каждая система нужна для конкретного стиля торговли, но прежде чем применять, нужно оптимизировать параметры, чтобы понять, что лучше подходит для конкретной стратегии.

 

Вариант 1. Trailing_Only — трэйлинговый стоп-лосс по ATR. Расписывать формулы не буду, их в интернете полно.

Параметры и их количество:

ATR_Stop_loss:  от 2 до 20 с шагом 2 = 10 вариантов

base_x:               от 1 до 4 с шагом 0,2 = 16 вариантов

trail_X:                 от 1 до 4 с шагом 0,2 = 16 вариантов

final_x:                 от 1 до 4 с шагом 0,2 = 16 вариантов

Итого: 10 × 16 × 16 × 16 = 40 960 комбинаций

Вариант 2. Trail+ATRtake — трэйлинговый стоп-лосс по ATR + тейк по ATR:

ATR_Stop_loss: от 2 до 20 с шагом 2 = 10 вариантов

ATR_take: от 2 до 10 с шагом 2 = 5 вариантов

base_x:     от 1 до 4 с шагом 0,2 = 16 вариантов

trail_X:      от 1 до 4 с шагом 0,2 = 16 вариантов

final_x:      от 1 до 4 с шагом 0,2 = 16 вариантов

Итого: 10 × 5 × 16 × 16 × 16 = 204 800 комбинаций
 

Вариант 3. Trail+Perake — трэйлинговый стоп-лосс по ATR + процентный тейк:

ATR_Stop_loss: от 2 до 20 с шагом 2 = 10 вариантов

base_x:              от 1 до 4 с шагом 0,2 = 16 вариантов

trail_X:                от 1 до 4 с шагом 0,2 = 16 вариантов

final_x:                от 1 до 4 с шагом 0,2 = 16 вариантов

percent_take:      от 1 до 4 с шагом 0,2 = 16 вариантов

Итого: 10 × 16 × 16 × 16 × 16 = 655 360 комбинаций
 

Вариант 4. PercSL+PerTake — процентный трэйлинговый стоп-лосс с процентным тейком:

percent_take:        от 1 до 4 с шагом 0,2 = 16 вариантов

start (стоп-лосс): от 3 до 5 с шагом 0,2 = 11 вариантов

trail:                        от 0,6 до 4,2 с шагом 0,2 = 19 вариантов

final:                        от 0,4 до 4 с шагом 0,2 = 19 вариантов

Итого: 16 × 11 × 19 × 19 = 63 536 комбинаций

Сводка по всем PM:

Trailing_Only: 40 960 комбинаций

Trail+ATRtake: 204 800 комбинаций

Trail+Perake: 655 360 комбинаций

PercSL+PerTake: 63 536 комбинаций

Всего по 4 PM: 964 656 комбинаций

Теперь вернемся к тому, что у нас еще 2 EMA и 4 состояния
 

EMA и состояния:

Правило №1: 10 вариантов (10–100, шаг 10)

Правило №2: 11 вариантов (100–200, шаг 10)

Фильтров состояний: 2

Итого зон: 4

На один PM: 10 × 11 × 4 = 440 комбинаций

По всем PM:

Trailing_Only: 40 960 × 440 = 18 млн

Trail+ATRtake: 204 800 × 440 = 90 млн

Trail+Perake: 655 360 × 440 = 288 млн

PercSL+PerTake: 63 536 × 440 = 28 млн

Итого: 424 миллиона вычислений

Картинка №3 - Оптимизация в TSlab

 

Я сделал замер в TSLab на том PM, который описывал в самом начале статьи — 39 710 комбинаций. Время оптимизации заняло 1 минуту 43 секунды.

1 минута 43 секунды = 103 секунды

39 710 / 103 = 385 комбинаций в секунду

Теперь считаем, сколько займет полный перебор всех 424 миллионов комбинаций:

424 448 640 / 385 = 1 101 294 секунды

1 101 294 / 3600 = 305,9 часов

305,9 / 24 = 12,7 дней

Итог:  TSLab на этом примере выдает примерно 385 комбинаций в секунду. Чтобы прогнать все 424 миллиона комбинаций для одной стратегии, потребуется почти 13 дней.

Картинка №4 - характеристики компьютера

Я специально взял старый компьютер, что бы показатель в будущем инженерные и архитектурные решения!
В следующей части покажу замеры в программе ARANEA. Надеюсь информация была интересной и у нас получилось немного познакомиться!
ссылка на видео обзор оптимизации https://youtu.be/cTyJZ0mMrl8?si=zkMk8NMCXtgqlqYp 

Картинка №1.png

Картинка №2.png

Картинка №3.png

Картинка №4.png

Edited by ARANEA
забыл вставить ссылку

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • Аукционная теория в коде: торговый бот на Volume Profile, POC и walk-forward отборе монет

      Аукционная теория в коде: торговый бот на Volume Profile, POC и walk-forward отборе монет Алготрейдинг постепенно вырастает из эпохи «пересечений скользящих средних». Классические индикаторы вроде RSI, MACD и EMA — это производные от цены, и они почти всегда запаздывают. Эти сигналы видят все: их обрабатывают маркет-мейкеры, HFT-фонды и десятки тысяч розничных ботов. Преимущество, которое размазано на всех, перестаёт быть преимуществом. Гораздо интереснее выглядят системы, работающие

      in Софт для трейдинга

    • CryptoLogix – Умный Торговый Ассистент - Автотрейдинг

      Всем Привет! Хочу показать проект, которым активно занимаюсь последние несколько месяцев — CryptoLogix Bot. Это Telegram-бот для анализа криптовалютного рынка и автоматической торговли на Binance Futures. Проект создаётся как полноценная система с собственным алгоритмом, AI-анализом и публичной статистикой сделок. 🔗 Ссылки 🤖 Бот: @CryptoLogixBot 📈 Live-сделки: @CryptoLogixAgent 💬 Поддержка: @LogixMikhail 📌 Что умеет бот CryptoLogix анализирует более 400+ кр

      in Трейдинг криптовалютами

    • Торговый бот hamster-bot и портфельный бэктест

      Бот для бирж BitMEX, FTX, Bybit, Binance, Huobi, OKX, HTX, Kucoin, Phemex, MEXC, Bitget, BingX. (список пополняется) Проект hamster-bot является официальным партнером биржи BitMEX    https://blog.bitmex.com/ru_ru-bitmex-x-hamster-bot-automated-trading-with-just-a-few-clicks/  А также официальный партнер (список ссылок на пруфы) FTX, Bybit, official Binance API broker, Phemex_1, Phemex_2, Bitget_1, Bitget_2, Huobi HTX Сайт https://hamster-bot.com/  Telegram канал https://t.me/

      in Маржинальная торговля

    • dexbot.vip - бесплатный торговый бот на DEX с AI ассистентом, который работает напрямую в блокчейне с вашим кошельком

      Всем привет! Хочу поделиться своим проектом — DEXBOT, который я разрабатывал с нуля последние месяцы. Это не арбитражник, не очередной «кликер по API», а полноценный торговый бот для децентрализованных бирж, который работает непосредственно с вашим Web3-кошельком (MetaMask, OKX Wallet, Rabby и т.д.).   🧠 В чём суть: Большинство ботов заточены под централизованные биржи, требуют депозита, API-ключей, а иногда — даже доверия к сторонним серверам. DEXBOT делает всё наоборот:

      in Софт для трейдинга

    • Торговый бот по ошибке перевел неизвестному инвестору 167 эфиров

      В сети Эфириум торговый бот по ошибке отправил неизвестному пользователю 167 ETH стоимостью около $300 000. На странную транзакцию обратили внимание специалисты блокчейн-платформы PeckShield. Причиной перевода стала ошибка в алгоритме бота либо некорректная настройка параметров, предположили ончейн-аналитики. Вместо целевого смарт-контракта средства были отправлены на случайный адрес. Речь идет о программном сбое, а не о взломе, подчеркнули специалисты по безопасности.   Владелец бота

      in Новости криптовалют

×
×
  • Create New...