neophyte
neophyte личный блог
09 ноября 2021, 19:01

Лекарство от нетерпения - диапазонный робот SWT_Range

Лекарство от нетерпения - диапазонный робот SWT_Range

 В апреле этого года я занялся разработкой диапазонного робота. В дополнение к трендовому, который разработан раньше.

Назвать эту разработку новой трудно по трем причинам:
1. Основа программного кода в общем-то одинакова, отличаются только правила открытия и закрытия позиций.
2. Направление торговли определяется по основным правилам SWT-метода, идентичным правилам трендового робота. Отличие в управлении открытой позицией, наращивании ее объема и в правилах закрытия.
3. Сетка и мартингейл, добавленные к основному алгоритму, для меня тоже не новы. Сетка использовалась в модификациях трендового робота до 2021 года, затем была исключена, как чужеродный элемент. А алгоритм мартингейла я модифицировал под свои задачи еще в 2006 году, правда использовался он в ручной торговле и был немного другим. Автоматика позволила добавить и гибкости и пару интересных примочек.
В детали вдаваться не буду, это будет предметом отдельной публикации. Коротко остановлюсь на двух моментах: зачем это делалось и что получилось.

1. Зачем? 
Рынки постепенно меняются. Тенденция, которую я отметил для себя (возможно я ошибаюсь)  — следствие роботизации маркетмейкеров. Роботы зажимают диапазон и держат его до последнего, а потом ситуация резко срывается в тренд и уходит к новому узкому диапазону.
Понятия узкий диапазон и тренд условны, но длительное простои моего трендового робота, которые достигали месяцев, выматывают нервы и заставляют делать ошибки. А стремительность перехода к тренду такова, что робот или всегда успевает открыть позицию и отработать движение или, при уменьшении глубины анализа, сваливается в пилу при повышенном быстродействии.
Поэтому я решил разделить торговлю по тренду и в диапазоне и сделать диапазонный робот, который торговал бы по маленькой, пока трендовый робот в простое.


 

2. Что получилось?
То, что получается обычно в сетке + мартингейл. Эквити плавно растет, но склонна к срыву и краху счета.
Но тут пришел на помощь SWT-метод, который позволяет рассчитать диапазон возможного движения по любому из трендов (циклов).
За основу берутся измерения пиковой волатильности среднесрочного тренда с циклом примерно полгода. Полученный диапазон разбит 32 части и принято предположение, что рынок за эти полгода не пройдет направленное расстояние от края до края края без откатов на 1/32 диапазона. Деление на 32 части выбрано из соображений ММ, но шаг сетки можно масштабировать.
Для евро, например, этот диапазон на текущий момент составляет около 500 пунктов в четвертом знаке после запятой, а шаг сетки примерно 15 пунктов. 

Начинали мы с такого графика.

Лекарство от нетерпения - диапазонный робот SWT_Range

Дальше тестирование на исторических данных с 1999 до 2021 года, по по ходу которого выявлялись критические звенья алгоритма. Результаты публиковались, в том числе и на настоящем ресурсе.

По результатам теста внесены незначительные правки в алгоритм и второстепенные корректировки, уменьшающие риски. И провели повторный тест на данных 2021 года на основе откорректированной программы.

Результаты теста:
Лекарство от нетерпения - диапазонный робот SWT_Range

На этом отладку планировалось завершить, но, как известно, программирование нельзя закончить, можно только прекратить силовым путем. Но оно того стоило. Тест за 10 месяцев этого года финальной ( я практически прекратил править код) версии робота, которому присвоена название SWT_Range. 
Лекарство от нетерпения - диапазонный робот SWT_Range
 Ну, и дополнительный бонус. Сходные результаты получены и на других рынка. Протестированы еще не все доступные инструменты, принцип действия алгоритма позволяет надеяться, что неожиданностей не будет.
8 Комментариев
  • Sprite
    09 ноября 2021, 20:59
    А где можно почитать про SWT? Или это что-то ваше эксклюзивное?
    UPDATE: Нашел в вашем профиле, вопрос снимается.
  • Simix
    10 ноября 2021, 00:01
    Качество моделирования = 25% 
    Вот и качество вашего тестирования 25%
      • Simix
        12 ноября 2021, 02:12
        Николай Скриган, У меня подобный робот (канальный) лет 5 наверно уже молотит и уж поверьте я разобрался что такое «качество моделирования» в тестере MQL.
        В реале эквити будет у вас совсем не такая гладкая — скорей всего она будет похожа на теоретическую с вероятностью 25% — на это и был шутливый намёк.
        С удовольствием посмотрю на результаты реальной работы, хотя бы года за 2.
          • Simix
            12 ноября 2021, 12:28

            Николай Скриган, Я на 5-минутках работаю.
            Кривая не такая ровная в реале получается и провалы глубже. Поэтому ещё пишу не с яхты )
            ОК, Хотел сказать только что тест и реал всё-таки разные вещи.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн