
Статья описывает опыт разработки торговой системы «TOD Pivot» в несколько этапов: от разработки правил, до оптимизации и форвардного анализа.
Для кого может быть полезен этот опыт: для трейдеров, занимающихся разработкой торговых алгоритмов, для тех, кто только начинает изучать тему алготрейдинга.
Повторить этот опыт можно без владения языками программирования, поскольку торговые стратегии можно создавать, используя конструктор Visual JForex.
Немного забегая наперед, скажем, что опыт тестирования именно этой стратегии обнаружил один недостаток, который позволяет найти много прибыльных конфигураций на истории, но не при реальном трейдинге. Исправление этой ошибки в любом алгоритме гарантирует повышенную надежность исторических тестов.
Цель статьи — вызвать дискуссию по вопросам «подводных камней», с которыми приходится сталкиваться во время бэктеста любой алгоритмической стратегии.
«TOD» означает time of day — время дня. Идея создать торговый алгоритм, где идет привязка к часу открытия сделки, появилась во время подготовки материала «Почему доллар дешевеет в 14 часов? Внутридневные паттерны на Форекс».
Паттерны активности торгов и объема внутри дня на Форекс очень хорошо заметны, их можно использовать. Поэтому на первом месте в алгоритме — время дня, на втором — направление сделки. Оно определяется по индикатору Pivot.
Правило входа: если в строго определенный час предыдущий Н4 бар закрылся выше пивота, то покупка, если ниже — то продажа (шорт). Выход по стоп-лоссу или тейк-профиту.
Чтобы не ограничиваться таким трендовым подходом, мы решили добавить контртрендовый, при котором сделка открывалась в обратную сторону — по направлению к Pivot. Если предыдущий бар Н4 закрылся выше пивота, по цене открытия следующего бара открывается шорт. Если бар закрылся ниже пивота, то лонг. Т.е. для наглядности на картинке выше поменяйте лонг и шорт местами.
Возвращаемся к правилам:

Для каждой сделки час ее открытия всегда одинаковый, кратный 4. Например: 12:00, 16:00 и т.д.

Всегда фиксированы, размер тейк-профита всегда должен превышать размер стоп-лосса.

При каждой сделке максимум 1% капитала отводится для убытка.
Поскольку правила очень просты, оказалось легко реализовать код робота, используя конструктор Visual JForex. По ссылке скачайте файл, он пригоден для тестирования валютных пар «мажоров».
Чтобы найти оптимальные настройки робота, всего сканировалось 528 конфигураций для каждой валютной пары.
Инструменты: 28 валютных пар, составленных из EUR, GBP, USD, JPY, CHF, CAD, AUD, NZD.
Рабочий таймфрейм: Н4. Время входа в рынок привязывалось к закрытию каждого 4-часового бара. Какого именно — покажет оптимизация по каждому инструменту.
Стоп-лосс: фиксированный, в диапазоне от 20 до 50 пунктов с шагом в 10 пунктов.
Тейк-профит: фиксированный, в диапазоне от 30 до 180 пунктов с шагом в 15 пунктов. Из оптимизации исключались серии, где стоп-лосс был равен или превышал тейк-профит, а значит — часть комбинаций исключалась (около 15-20%).
Направление сделки (momentum): в сторону уровня Pivot либо в обратном направлении.
Время входа: по закрытию одного из Н4 баров, с 0:00 до 20:00. В день могла совершаться только одна сделка.
Оптимизация проводилась по трем временным окнам:
За этим стоит простой принцип: одно окно — это 24 недели, начало следующего окна сдвигается на четверть, т.е. на 6 недель вперед. Лучшие результаты каждого окна предполагалось запустить в форвард-анализ и «склеить», что дало бы 24 непрерывные недели как бы реальных торгов. Далее мы приведем результаты бэк- и форвард-теста только по одному окну — первому.
Как говорится, «плохих бэктестов не бывает». «TOD Pivot» не стал исключением. Некоторые валютные пары выдавали более 70-ти прибыльных конфигураций из 528-ми. Это более 13% даже без учета серий, не сыгравших по причине малого тейк-профита.
Рекордсменами в 1-м историческом окне стали: GBPUSD — 86 прибыльных серий, EURJPY — 78, EURUSD — 74. По другим окнам картина схожая.
На бэктестах удавалось получать подобные кривые доходности — см. рис. ниже.
Результаты, прямо скажем, фантастические! Они сильно вдохновили всю команду оптимизаторов. Но затем последовало столкновение с реальностью, которое многому научит любого трейдера.
Итак, какой же результат эти настройки дали в будущем?
Запуск роботов с этими же настройками (на рис. выше) в следующие 12 недель дал следующие результаты.
Какие причины могли вызвать убытки на форвард-тесте? Вероятно, новый год, на который приходится форвард-тест, или небольшие окна бэк- и форвард-теста. Одна из причин «вшита» в саму стратегию, в ее правила. Попробуйте ее определить, глядя как совершаются сделки на бэктесте в визуальном режиме.
Поскольку работа над стратегией продолжается, планируется обновление этой статьи.
А тем временем приглашаем вас к дискуссии на тему бэктеста этой стратегии и алгоритмического трейдинга вообще.
Обязательно поделитесь вашими мыслями по поводу этого опыта. Ведь тщательная работа с одной только стратегией и трудности в достижении профитного результата показывают, насколько пагубно следование стратегиям, выложенным в интернете и не снабженными подобными тестами!
Спасибо за ваше внимание!
Empirix Prime · 7 дней за 0 ₽
Лаборатория системного и алгоритмического трейдинга
Исследования стратегий, бэктесты с 2008 года и разборы на вебинарах с командой.
Новое в блоге
ИП Овсянников Павел Андреевич, ИНН 771387871944, ОГРНИП 320774600169552. Empirix.ru не осуществляет брокерскую деятельность и не оказывает услуги Форекс-дилинга. Материалы сайта представлены в обучающих целях и не являются инвестиционными рекомендациями. Трейдинг на финансовых рынках имеет рискованный характер, возможность получения прибыли неразрывно связана с риском получения убытков.
Мы используем cookie