Главная - Сбербанк
Тестирование стратегий в excel. Тестер ручных стратегий – какой выбрать? Дополнение стратегии торговли на откатах шортовой составляющей

Каждая потеря депозита ставит трейдера перед вопросом – что делать дальше? Оптимизировать свою торговую стратегию? Лучше контролировать эмоции при торговле? А может быть поступить радикально и приобрести торгового советника?

Именно третье решение в последнее время становится наиболее популярным. Хотя и здесь есть свои преимущества и недостатки. Действительно, советники не подвержены эмоциям, имеют четкие критерии открытия и закрытия позиций, мгновенно реагируют на изменяющуюся рыночную ситуацию. Что говорить – любая торговая стратегия в исполнении робота всегда эффективнее той же самой стратегии в ручном исполнении трейдера.

Однако такое решение имеет один существенный недостаток – любая торговая система, индикатор или советник, до использования в торговле, нуждается в тестировании и оптимизации. И это является самой большой проблемой трейдеров. Ведь не каждый трейдер сталкивался с этим вопросом и способен качественно сделать эту работу. Но время диктует свои требования и для эффективной торговли трейдеру необходимо совершенствовать свои знания и навыки. Именно этой теме – теме тестирования торговых стратегий мы посвятим настоящую статью.

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

Таким образом, основными целями тестирования служит проверка таких параметров:

  • показатели производительности, заложенные в стратегию;
  • рыночные показатели торговой стратегии – ликвидность, риск, проскальзывание, издержки;
  • оптимальность исходных параметров стратегии;
  • ошибки программного кода.

Результатом должен стать отчет со статистическими и графическими данными результатов тестирования.

Как уже было сказано выше, тестирование может производиться на двух видах данных:

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

Для тестирования можно использовать несколько различных способов. Широко используется математическое программное обеспечение, например от компании MatLab или MS Excel с биржевыми плагинами, механические системы MetaStock, Wealth-Labили Omega, языки программирования или тестеры, встроенные в торговые платформы. Последние получили наибольшее распространение в среде трейдеров в силу своей простоты и доступности.

Тестирование проводится в несколько этапов:

  • проводится визуальный тест торговой системы или индикатора на достаточно длительном промежутке исторических данных с помощью тестера ручных стратегий;
  • создается торговый советник;
  • проводится тест советника на длительном промежутке истории в автоматическом режиме. В процессе тестирования подбираются параметры индикаторов – советник оптимизируется;
  • после получения стабильных положительных результатов тестирования в автоматическом режиме проводится тест советника на демо или центовом счете.

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

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

Результат работы тестера формируется в виде статистического блока информации и графика изменения первоначального депозита. Статистика отражает такие данные, как прибыль и убыток, количество прибыльных и убыточных сделок, факторы риска и другие показатели.

Механизм тестирования торговых стратегий «Форвард» очень полезен при оптимизации торговой стратегии. Алгоритм его работы заключается в делении исторических данных на две части, на первой из которых проводится оптимизация, а на втором результаты этой оптимизации проверяются. Часто в алгоритм тестера закладывается методика распределенного тестирования, когда вычисления производятся с помощью сетевых средств.

Для качественного тестирования необходимо тщательно отобрать исторические данные. Период истории должен быть достаточно протяженным – не менее 5 лет. При этом в истории должен присутствовать период с кризисной динамикой, например с кризисом 2008-2009 годов. При использовании меньшего периода история должна включать как трендовые, так и флетовые участки.

Тестирование проводится на большом количестве сделок. Считается, что их должно быть не менее 300. Обязательным условием является тестирование стратегии на нескольких высоколиквидных инструментах.

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

Тестирование может различаться по способам расчета:

  • по ценам открытия – самый быстрый метод тестирования, но и самый неточный – на коротких периодах истории большинство тестируемых стратегий могут показать полное отсутствие открытых сделок;
  • по контрольным точкам – сбалансированный метод тестирования, но с невысоким уровнем доверия к получаемым данным;
  • по тикам – наиболее предпочтительный метод, более всего приближенный к реальному рынку.

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

Результаты тестирования можно увидеть на итоговом графике, на котором будут отображены точки входа и выхода сделок, данные применяемых индикаторов. На графиках легко обнаружить ошибки стратегии.

При загрузке истории необходимо помнить, что история котировок не должна иметь разрывов или поставляться из разных источников – котировки для тестирования должны идти непрерывным потоком, без сдвигов и пропусков.

Здравствуйте, господа трейдеры! Сегодняшняя статья будет интересна как начинающим трейдерам, так и профессионалам! Как известно, в торговом терминале MT4 есть так называемый , предназначенный для тестирования автоматических торговых систем, то есть . Но что делать, если у вас ручная стратегия, как ее протестировать? Конечно, можно протестировать стратегию на истории, но это слишком долго и неудобно. И потом, когда вы уже знаете, как поведет себя цена на истории, то начинаете бессознательно подтасовывать результаты стратегии, мол, здесь я бы вышел по безубытку или закрыл сделку раньше и т. д. Если вы хотите объективно оценить свои возможности трейдера или прибыльность стратегии, то вам пригодится симулятор торговли на Форекс. Это специальный тренажер, который поможет вам получить двухлетний опыт трейдинга всего за одну неделю. Сегодня мы рассмотрим различные программы для тестирования стратегий, сравним их возможности, а также преимущества и недостатки.

Что такое тестер стратегий Форекс?

Тестер ручных стратегий – это специальная программа, которая симулирует торговлю на Форекс. Внешне она напоминает торговый терминал MetaTrader 4. В тестере стратегий можно загружать котировки валютных пар, выбирать торговый период и таймфрейм, устанавливать индикаторы и шаблоны, открывать сделки, включая отложенные ордера, размещать стоп-лоссы и тейк-профиты – в общем делать все то, что и в обычном торговом терминале. Например, вы можете установить дату торговли перед и проверить, выдержит ли ваша стратегия ценовые колебания во время проведения референдума в Великобритании. Или вы скачали на нашем сайте и хотите проверить ее эффективность – в этом тоже поможет тестер стратегий. А если вы еще новичок, то тестер стратегий поможет вам получить бесценный опыт торговли на Форекс за несколько дней. В отличие от демо-счета, где торговля осуществляется в реальном режиме, в тестере стратегий можно ускорить время, и протестировать стратегию за несколько дней. Это особенно актуально в выходные дни, когда рынок закрыт. При помощи тестера стратегий также можно поработать над своими эмоциями и отточить навыки торговли.

1. Forex Tester 3

Forex Tester – это самая популярная программа для тестирования стратегий. С его помощью можно быстро протестировать ручную стратегию или советник, сэкономив время и деньги.

Преимущества Forex Tester 3


Недостатки Forex Tester 3

Единственным недостатком Форекс Тестера является то, что он платный. Однако у вас есть возможность оценить его возможности бесплатно на демо-версии. Но у нее есть свои ограничения:

  • тестирование на временном интервале не более 1 месяца исторических данных;
  • непрерывное тестирование не может длиться более 1 часа (по окончании нужно запускать тестирование сначала);
  • нельзя сохранять проекты, шаблоны и результаты тестирования;
  • остальные возможности такие же, как и в полной версии программы.

На сегодняшний день Forex Tester 3 является самым реалистичным и функциональным симулятором трейдинга. Ниже будут рассмотрены его бесплатные аналоги, имеющие похожий принцип работы, но более узкий функционал.

Смотрите также, в чем преимущества торговли на .

2. Simple Forex Tester

Simple Forex Tester – это бесплатный тестер стратегий, скачать который вы сможете в конце обзора. Главное его преимущество заключается в том, что тестирование стратегий осуществляется в привычном торговом терминале MetaTrader 4, и не нужно привыкать к интерфейсу новых программ. Перед тем как приступить к тестированию, необходимо скачать Simple Forex Tester. В архиве вы найдете две папки. Содержимое первой папки необходимо скопировать в корневой каталог с торговым терминалом, то есть туда, куда вы устанавливали свой MT4.

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

После потребуется перезапуск торгового терминала и можно приступать к тестированию. Для этого необходимо нажать на значок «Тестер стратегий», который мы используем для тестирования советников. В списке советников выбираем SimpleFXTester_v2.ex4, а затем все как обычно – выбираем валютную пару, таймфрейм, модель тестирования, ставим дату тестирования и галочку напротив Визуализации, а также перемещаем ползунок скорости тестирования в крайнее правое положение. После чего жмем на Старт.

Спустя некоторое время появится такое окно.

Нужно нажать OK, и запустится Simple Forex Tester.

После этого все управление тестированием стратегии будет осуществляться через эту программу. Здесь вы можете запускать тестирование и ставить его на паузу, регулировать скорость тестирования, нажав на Place New Order, открывать новые сделки (в том числе отложенные ордера), выставлять стоп-лосс и тейк-профит, запускать трейлинг-стоп, а также модифицировать ордера и закрывать позиции.

В торговом терминале вы можете наблюдать за ценой и, когда по вашему мнению появился сигнал, в окне Simple Forex Tester ставить тестирование на паузу и открывать сделку. Также на графике вы можете следить за статистикой тестируемой стратегии, какой у вас баланс, сколько было открыто и закрыто ордеров и какой текущий профит. По желанию статистику можно отключить в настройках программы.

Но самое главное это то, что вы можете установить на график любой индикатор или шаблон, то есть протестировать любую стратегию. Вот, например, мы установили шаблон стратегии .

Преимущества Simple Forex Tester

  • Привычный интерфейс программы, встроенной в торговый терминал MT4;
  • Тестер стратегий является полностью бесплатным;
  • Можно тестировать любые индикаторы и шаблоны стратегий.

Недостатки Simple Forex Tester

  • Минимальный функционал;
  • Нельзя протестировать мультивалютную стратегию (в Forex Tester 3 эта возможность есть);
  • Низкая скорость тестирования (не хватает Турбо-режима);
  • Могут возникнуть проблемы с загрузкой котировок (может потребоваться импорт котировок из других источников);
  • Программа часто зависает и вылетает, приходиться начинать тестирование с начала;
  • У программы нет технической поддержки, обновлений не было свыше 5 лет и вероятно больше уже не будет.

Simple Forex Tester имеет три неоспоримых преимущества – это простота, бесплатность и возможность работы с любыми индикаторами. Она отлично подходит для новичков, которые только знакомятся с рынком Форекс. В остальном программа имеет много косяков и минимальный функционал, поэтому мы не можем рекомендовать ее профессиональным трейдерам.

Выводы

Таким образом, тестер стратегий – это отличный инструмент для получения навыков торговли на Форекс, а также тестирования стратегий. Какую выбрать программу для тестирования стратегий решать вам. Если вы еще новичок, то можете начать с Simple Forex Tester, она простая и бесплатная. Профессиональным трейдерам мы рекомендуем использовать симулятор торговли Forex Tester 3. Деньги, потраченные на его приобретение, очень скоро окупятся сохраненными депозитами. Кроме того, с тестером стратегий вы можете навсегда забыть про демо-счета и потраченное впустую время. Профитной вам торговли!

Рис. 1. Оптимизация многомерного пространства алгоритмов торговых стратегий.

Оптимизация торговых стратегий

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

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

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

Классическая проблема стохастических алгоритмов оптимизации заключается в том, что при не больших объемах фактических исследований и малых выборках они не репрезентативны. Например, Монте-Карло не эффективен в многоэкстремальном пространстве, он акцентирует исследование на глобальном экстремуме упуская из вида локальные, но не менее интересные экстремумы. Алгоритм не ставит перед собой таких задач, ему просто нужно найти самую прибыльную стратегию. Генетический алгоритм также может пойти не удачной веткой мутаций и остановиться на каком-нибудь локальном экстремуме и т.д.
Все потому, что данным алгоритмам оптимизации на начальных этапах приходится принимать решения на ограниченном объеме данных в еще не изученном пространстве и из исследования могут легко выпасть важные области. Чтобы этого избежать нужно увеличивать выборки данных и время исследования, а в нашем случае время на вес золота. Нужно при минимальных затратах времени максимально подробно исследовать экстремумы пространства. При этом в быстро меняющихся условиях биржевой торговли важно уделять внимание не только прибыльным, но и стабильным параметрам торговых стратегий. Под стабильными понимаются параметры формирующие кластеры с похожими результатами. Прибыльные стратегии, находящиеся вне кластеров, могут оказаться не стабильными и привести к серьезным убыткам. В свою очередь стратегия из кластера в меньшей степени подвержена изменениям на рынке.

Метод стохастической кластерной оптимизации

Учитывая особенности оптимизации биржевых стратегий был разработан гибридный алгоритм (см. ) у которого оказался один приятный побочный эффект - он успешно выделял и исследовал кластеры. Я дал название полученному алгоритму - «Метод стохастической кластерной оптимизации».

Процесс исследования поэтому алгоритму проходит в два этапа:

  1. Исследование пространства стратегий с удалением убыточных и подверженных риску областей
  2. Подробное исследование экстремумов и кластеров пространства
Этап 1. Исследование пространства стратегий с удалением убыточных и подверженных риску областей.

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

Работа ведется в следующем порядке:

  • Формируется многомерное пространство из всех возможных параметров торговой стратегии.
  • Из пространства случайно выбираются стратегии и тестируются на исторических данных с указанными параметрами.
  • По результатам тестирования вокруг самых убыточных стратегий удаляются пограничные микрообласти. Тем самым уменьшается пространство исследования и делается акцент на более прибыльные и стабильные области в дальнейших итерациях.
  • Итерации тестирования проводятся до тех пор, пока пространство стратегий не будет исследовано в нужной степени
На Рис. 2 видно, как исследование смещается в сторону экстремумов при этом риск упустить маленькие кластеры с возможно хорошими и стабильными параметрами минимален.
Рис. 2. Первый этап алгоритма «Stochastic Cluster Optimization» - исследование пространства стратегий.

Этап 2. Подробное исследование кластеров и экстремумов.

После первого этапа исследования становятся хорошо виды экстремумы. Однако, в силу особенностей алгоритма (вырезается множество микрообластей) пространство получается «рваным» и некоторые экстремумы могут быть исследованы не очень подробно. Чтобы полностью изучить все интересные кластеры алгоритм оптимизации начинает процесс исследования в точности наоборот. Для этого выбираются все лучшие стратегии и вокруг них дополнительно выделяются микрообласти. Если в этих областях обнаруживаются еще не исследованные стратегии, то они дополнительно тестируются (см. Рис. 3).


Рис. 3. Второй этап алгоритма «Stochastic Cluster Optimization» - подробное исследование экстремумов.

В результате после работы алгоритма исследуются все интересные нам области пространства и подробно тестируются кластеры с прибыльными стратегиями. При этом фактический объем исследования, как правило, составляет не более 25-50% от общего объема пространства вариантов стратегий (см. Рис. 4).

Рис. 4. Скорость исследования алгоритма «Stochastic Cluster Optimization» (слева) в 2-4 раза выше скорости алгоритма «Brute Force» (справа).

Walk Forward оптимизация

Казалось бы оптимизировали параметры и можно начинать торговать. Однако на этом процесс иссдедования еще не завершается. Процесс оптимизации подвержен риску «подгонки» или переоптимизации параметров под используемые в процессе исторические данные, поэтому нужно дополнительно проверить полученные результаты. Для этого используется метод Walk Forward . Суть метода заключается в том, что параметры стратегий тестируются на исторических данных отличных от тех, которые использовались в процессе оптимизации.

Для этого весь диапазон исторических данных разбивается на выборки, состоящие из наборов:

  • IS («In Sample») - выборка, используемая для оптимизации
  • OOS («Out Of Sample») - выборка, используемая для тестирования результатов оптимизации
Причем диапазоны выборок формируются таким образом, чтобы данные OOS следовали последовательно друг за другом (см. Рис. 5).
Рис. 5. Схема Walk Forward оптимизации.

Для уменьшения объемов исследования на этапах проверки результатов, можно после оптимизации сразу отфильтровать стратегии с плохими показателями, тем самым сокращая общее время тестирования. В результате такой проверки мы получим объективные параметры торговых стратегий, защищенные от переоптимизации (см. Рис. 6 и Рис. 7).


Рис. 6. Результаты оптимизации на данных «In Sample».
Рис. 7. Проверка результатов оптимизации на данных «Out Of Sample».

Анализ результатов

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

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


Рис. 8. Пример сечения пространства по оптимизируемым параметрам и целевой функции.

Для комплексной оценки результатов Walk Forward оптимизации строится матрица со всеми шагами и параметрами, прошедшими фильтрацию. Зеленым цветом выделяются шаги, на которых параметры подтвердили свои показатели и красным, соответственно, если не подтвердили. Параметры, показавшие себя хорошо на большом количестве шагов можно считать более пригодными для торговли (см. Рис. 9).


Рис. 9. Матрица Walk Forward со всеми результатами провеки на данных OOS.

В случае необходимости полученные результаты можно экспортировать в сторонние системы анализа для более детального исследования. Например, в R, Excel или Mathlab (см. Рис. 10).


Рис. 10. Экспорт результатов оптимизации в Excel.

Чтобы окончательно убедиться в правильности выборанных параметров проводятся детальные тесты стратегий, оценивается плавность кривой доходности, выводятся заявки на график и изучается лог торговых сделок (см. Рис. 11).


Рис. 11. Подробный анализ параметров торговой стратегии.

Заключение

После оптимизации и всех проверок у нас останутся стратегии потенциально пригодные к реальной торговле на Бирже.

Наконец мы все перепроверили, наверное, уже можно начинать торговать? На самом деле мы только на полпути, еще рано отправлять торговые алгоритмы в бой. Далее предстоит:

  • Проверить стратегии на «живых» данных с Биржи для подтверждения показателей, полученных во время тестирования.
  • Сформировать портфель из торговых стратегий для диверсификации рисков. Кстати, его тоже нужно оптимизировать.
  • В процессе реальной торговли периодически сводить полученные результаты с результатами тестов для корректировки настроек тестера-оптимизатора.
Но об этом, наверное, в другой раз.
Всем удачной торговли!

Теги: Добавить метки


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

Функционал. Кроме быстрого прогона позиции (Старт) и просмотра эквити (процедуру обработки ускорил) и прогона «шаг за шагом» (StepByStep) добавил профиль и учет изменения волатильности.

Как пользоваться. (см. предыдущий блог). Чтобы просто посмотреть результат жмем старт. Чтобы смотреть шаг за шагом, ставим галочку слева от StepByStep. Чтобы посмотреть профиль позиции жмем Профиль. Если жмете StepByStep и не хотите каждый раз жать Профиль, то поставьте галочку слева от кнопки Профиль. Если хотите смотреть обычный (стандартный) профиль, то уберите галочку Волатильность. Если Галочка стоит (Волатильность), то профиль рисуется с учетом изменения (возможного изменения) волатильности. (коричневая линия на графике).

В данной статье мы покажем результаты тестирования простой торговой стратегии в 3-х режимах: "OHLC на M1 " с использованием только цен Open,High, Low и Close минутных баров; затем детальное моделирование в режиме "Все тики ", и самое достоверное тестирование в режиме "Каждый тик на основе реальных тиков " с использованием записанных тиков из истории.

Это позволит нам понять, какого качества мы достигаем на разных режимах, и покажет, как правильно пользоваться тестером для быстрого получения результатов. Режим "OHLC на M1" позволяет получить быстрое оценочное тестирование, моделирование в режиме "Все тики" дает нам хорошее приближение к реалиям, а тестирование на реальных тиках дает самые точные результаты, но требует соответствующих затрат времени. Кроме того, ошибки в логике торгового робота могут влиять на количество торговых операций и приводить к тому, что результаты проверки стратегии на истории зависят от выбранного режима тестирования.

Какую торговую стратегию мы тестировали

Мы создали простую торговую стратегию на основе прорыва диапазона за последние RangeLength баров. Правила торговли в нем таковы: на новом только что открывшемся баре вычисляется диапазон самых высоких и самых низких цен за последние N баров. В приложенном советнике параметр RangeLength по умолчанию равен 20 барам и означает ширину окна, в котором мы строим диапазон.

После первого же прорыва диапазона вверх или вниз начинает накапливаться статистика поступающих тиков: сколько тиков оказалось выше уровня пробитого диапазона, и сколько - ниже. Как только пришедших тиков станет больше или равно TicksForEnter =30, принимается решение о входе в рынок по текущей цене. Если диапазон был пробит вверх, то количество тиков выше уровня пробития должно быть больше количества тиков ниже этого уровня. В этом случае совершается покупка. Для входа в короткую позицию всё наоборот.

Выход из открытой позиции происходит по времени, через BarsForExit баров. Как видите, правила торговли простые. Для наглядности они представлены на рисунке:

Посмотрим, как меняются результаты тестирования этой стратегии в трех различных режимах моделирования тиков.

Как мы тестировали

Торговая стратегия была протестирована на EURUSD на H1 на первых 6 месяцах 2016 года - с 01.01.2016 по 30.06.2016. Все параметры советника были установлены в значения по умолчанию, ведь нашей задачей было простое тестирование стратегии в разных режимах моделирования.


Сравнение результатов при разных режимах тестирования

Результаты тестирования в разных режимах сведены в таблицу. В первую очередь в глаза бросается различие в количестве торговых операций. Соответственно, и все остальные показатели тестирования тоже разные. При этом тестирование в режиме "OHLC на M1" прошло за 1.57 секунды, что в 23 раза быстрее, чем в режиме "Все тики". Такая разница будет иметь большое значение при оптимизации входных параметров торговой системы.

В свою очередь, режим "Каждый тик на основе реальных тиков" был еще затратнее по времени - 74 секунды против 36.7 секунд в режиме "Все тики". Это легко объясняется тем, что при использовании реальных тиков было смоделировано более 34 миллионов тиков, что почти в 2 раза больше, чем в режиме "Все тики". Таким образом, чем больше тиков мы используем при тестировании, тем больше времени требуется на один проход в тестере стратегий.

Параметр
OHLC на M1
Все тики
Каждый тик
на основе реальных
Тиков
731 466
18 983 485
34 099 141
Чистая прибыль
169.46 -466.81
-97.24
Трейдов
96
158 156
Сделок
192
316 312
Просадка по эквити (%)
311.35 (3.38%)
940.18 (9.29%)
625.79 (6.07%)
Просадка по балансу 281.25 (3.04%)
882.58 (8.76)
591.99 (5.76%)
Прибыльные трейды (%)
50 (52.08%) 82 (51.90%) 73 (46.79%)
Средняя непрерывная серия выигрышей
2
2
2
Время тестирования, включая вермя генерации тиков
1.6 секунды
36.7 секунд
74 секунды (1 минута 14 секунд)

Отчеты тестирования в разных режимах моделирования мы собрали в виде анимированных GIF-рисунков, чтобы можно было видеть разницу в статистике.


Соответственно, графики баланса и собственных средств также имеют различия. Но при этом видно, что данная простая стратегия не выглядит привлекательной - период роста сменяется периодом спада, и графики каждого тестирования выглядят как цепь случайностей. Торговать по такой системе нельзя, результат будет похож на подбрасывание монетки.



Торговые системы, зависящие от поступления тиков

Продемонстрированная торговая система очень сильно зависит от способа моделирования - от количества поступающих тиков и порядка их поступления. При тестировании в режиме "OHLC на M1" у нас моделируется меньше всего тиков, и для входа в рынок их не всегда может оказаться достаточно. Режимы "Все тики" и "Каждый тик на основе реальных тиков" могут иметь совершенно различный порядок поступления тиков. При моделировании "Все тики" у нас может получиться монотонно возрастающая или монотонно убывающая последовательность тиков, что практически гарантирует вход в рынок при прорыве диапазона. При тестировании же в режиме "Каждый тик на основе реальных тиков" используется записанная история тиков, и там динамика изменения цены может быть совершенно неожиданной.

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



Четыре режима генерации тиков

Тестер стратегий в терминале MetaTrader 5 позволяет проверять торговые стратегии в четырех режимах моделирования тиков, они описаны в статье Основы тестирования в MetaTrader 5. Самый быстрый и грубый - режим "Только цены открытия ", при котором торговые операции могут совершаться только на открытии нового бара. В этом режиме советнику недоступны никакие действия внутри бара, и он хорошо подходит для тестирования стратегий, не учитывающих того, как развивается цена внутри бара.

Далее по точности моделирования идет режим "OHLC на M1 ", при котором моделируются цены Open, High, Low и Close каждого минутного бара, входящего в тестируемый диапазон истории. Таким образом, при тестировании на таймфрейме H1 в течение часа эксперт будет вызван 240 раз: на каждом из 60 минутных баров обработчик OnTick() будет вызван 4 раза - по разу для каждой цены OHLC. При таком моделировании уже можно использовать Trailing Stop, просматривать развитие цены на других таймфреймах и индикаторах, если это необходимо. Например, тестировать стратегии типа "3 экрана Элдера ".

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

Начните разработку системы с режима "OHLC на M1"

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

Прежде чем приступить к тестированию торговой стратегии, необходимо четко отдавать себе отчет в том, что от выбранного режима моделирования зависит точность результатов и объем времени, затрачиваемый на их получение. Если необходимо быстро оценить и проверить торговую стратегию, используйте режим "OHLC на M1". В нем вы сможете быстро оценить потенциал торговой системы.

Следующий этап - отладка и режим "Все тики"

Если предварительные результаты оказались удовлетворительными, то можно продолжить доводку и анализ торговой системы в более точных режимах моделирования. Здесь на помощь придет отладка стратегии в режиме тестирования - вы можете выставить точки останова и проверять состояние переменных и выполнение заложенных в советника условий. Здесь вас могут ожидать неприятные сюрпризы, если вы забыли предусмотреть некоторые нюансы вашей системы.

Точность тестирования против скорости

Как видно из результатов тестирования описанной торговой системы в трех режимах, трейдер всегда может и должен выбирать подходящий для его торговой стратегии режим моделирования тиков. Если вы тестируете систему на дневном таймфрейме, то вам вполне подойдет режим "Только цены открытия " - высокая скорость тестирования не будет в ущерб качеству полученных результатов.

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

Между этими двумя крайними режимами находятся "OHLC на M1 " и "Все тики ", которые работают быстрее, чем "Каждый тик на основе реальных тиков ", но дают меньшую точность тестирования. В общем виде можно сформулировать закон, описывающий время и точность тестирования:

Чем быстрее проходит тестирование, тем ниже точность моделирования торговли. Чем детальнее и точнее моделируется развитие цены на истории, тем больше времени требуется на проведение тестирования.

Торговые сервера уже много лет накапливают реальную тиковую историю, и тестер стратегий в MetaTrader 5 в режиме "Каждый тик на основе реальных тиков" скачает всю необходимую историю автоматически. Но чем достоверней проводится тестирование, тем больших ресурсов оно требует. Поэтому выбирайте баланс между точностью и скоростью.

Не для всех стратегий необходимо детальное моделирование на начальных этапах разработки. Правильный выбор режима тестирования поможет вам сэкономить время и отсеять большее количество неправильных стратегий!

И только после решения основной задачи - создания прибыльной автоматической торговой системы - вы можете проводить оптимизацию на реальных тиках. На этом этапе вам уже пригодятся мощности вычислительной распределенной сети .

 


Читайте:



Льготы по налогу на имущество организаций

Льготы по налогу на имущество организаций

Чиновники утвердили новый порядок применения кода налоговой льготы 2010257 по налогу на имущество в 2018 году. Проверьте, кто имеет право на эту...

Торговая стратегия ADX и RSI

Торговая стратегия ADX и RSI

DMI - Directional Movement Indicator (Индикатор направленного движения)Направленное движение - это концепция, которую Дж. Уэллс Уайлдер младший...

Дарение квартир нерезидентом резиденту в россии Дарение квартиры между близкими родственниками нерезиденту

Дарение квартир нерезидентом резиденту в россии Дарение квартиры между близкими родственниками нерезиденту

В частности, это относится к: двоюродные сестры или братья; сестры или братья супруги; племянники; двоюродные дедушки и бабушки; теща и тесть;...

Как забрать вклад из банка в случае отзыва у него лицензии или банкротства - рекомендации для вкладчиков Порядок выплаты по вкладам при ликвидации банка

Как забрать вклад из банка в случае отзыва у него лицензии или банкротства - рекомендации для вкладчиков Порядок выплаты по вкладам при ликвидации банка

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

feed-image RSS