-
ФорумРазделы
Ошибки рассогласования графиков
2016.03.13 11:15
#1
Я поступаю так: Захожу в «Сервис->Архив котировок», разворачиваю нужный инструмент, выбираю таймфрейм М1, жму «Загрузить», после окончания загрузки выбираю рабочий таймфрейм (например Н1), аналогично загружаю и его. Затем на рабочем таймфрейме повторно жму «Загрузить». MT в этом случае обычно предлагает пересчитать таймфреймы, соглашаемся. Если не предлагает, пробуем загрузку рабочего таймфрейма повторно. Загруженные в архиве таймфреммы как правило покоцаны — отсутствуют данные в конце. Открываем графики таймфрейма М1 и рабочего таймфрейма, нажимаем в каждом правой кнопкой мыши и «Обновить». Недостающие данные восстанавливаются. Снова идем в архив котировок, выбираем рабочий таймфрейм, жмем «Загрузить», соглашаемся на пересчет таймфреймов. После этих танцев с бубном обычно количество ошибок рассогласования в тестере равно нулю.
2016.03.13 13:54
#2
ouch:
Я поступаю так: Захожу в «Сервис->Архив котировок», разворачиваю нужный инструмент, выбираю таймфрейм М1, жму «Загрузить», после окончания загрузки выбираю рабочий таймфрейм (например Н1), аналогично загружаю и его. Затем на рабочем таймфрейме повторно жму «Загрузить». MT в этом случае обычно предлагает пересчитать таймфреймы, соглашаемся. Если не предлагает, пробуем загрузку рабочего таймфрейма повторно. Загруженные в архиве таймфреммы как правило покоцаны — отсутствуют данные в конце. Открываем графики таймфрейма М1 и рабочего таймфрейма, нажимаем в каждом правой кнопкой мыши и «Обновить». Недостающие данные восстанавливаются. Снова идем в архив котировок, выбираем рабочий таймфрейм, жмем «Загрузить», соглашаемся на пересчет таймфреймов. После этих танцев с бубном обычно количество ошибок рассогласования в тестере равно нулю.
Попробую
2016.03.13 15:14
#3
Почему то после загрузки котировок, история котировок уменьшилась до трех месяцев. Как загрузить котировки года за три?
2016.03.13 16:31
#4
В «Сервис->Настройки->Графики» максимум баров в истории сколько? Там должно быть 3-4 миллиона и больше, если нужен такой большой период истории.
2016.03.14 13:18
#5
ouch:
В «Сервис->Настройки->Графики» максимум баров в истории сколько? Там должно быть 3-4 миллиона и больше, если нужен такой большой период истории.
100 000 000, дневной период до 1999 года, что достаточно. Хотелось бы минутный период года три, а он только на три месяца, до 2015 года.
2016.03.14 13:22
#6
Пробуйте с сервера Альпари загрузить, там должны быть минутки за очень большой период.
2016.03.14 13:35
#7
ouch:
Пробуйте с сервера Альпари загрузить, там должны быть минутки за очень большой период.
у меня демо-счет альпари. Может нужно где то конкретно прописать откуда загружать?
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- Форексный VPS бесплатно на 24 часа
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
- Войти через Google
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
- Войти через Google
Мастер класс «Работа с тестером стратегий MetaTrader4″ — часть 3
Способы борьбы с ошибками рассогласования
Как бороться с ошибками рассогласования? Существует два пути: закачка котировок центра исторических данных (History Data Center — HDC) компании Meta Quotes и создание всех временных периодов на основании имеющейся минутной истории.
Первый способ намного проще, но требует затрат Интернет-трафика. Для этого всего лишь нужно зайти в пункт главного меню МТ4 «Сервис» и выбрать подпункт «Архив котировок» или просто нажать F2. В открывшемся окне выбрать валютную пару двойным кликом левой клавиши мышки, а затем период «1 минута». После этого жмем «Загрузить», читаем появившееся сообщение, которое извещает о том, что будут закачаны данные с сервера компании Meta Quotes, жмем «ОК» и далее ждем окончания загрузки. После окончания загрузки будет задан вопрос о пересчете всех таймфреймов (периодов), на который необходимо ответить утвердительно. В результате мы получим историю минутных котировок с 1999 года. Сразу нужно заметить, что она не будет полностью совпадать с историей котировок вашего брокера, хотя и будет похожа.
Второй способ немного сложнее в реализации и дает меньше истории, но это будут точные котировки вашего брокера. Откройте минутный график нужной валютной пары и подкачайте историю котировок до конца, нажимая Home. При этом автопрокрутка графика должна быть выключена. Затем в окне Навигатора (Ctrl+N) найдите раздел «Скрипты», а в нем скрипт «period_converter». Перетащите его мышкой на график валютной пары. Единственный входной параметр ExtPeriodMultiplier выставьте равным 60 (если необходимо создать часовой период) и жмите «ОК». Подождите несколько секунд, за которые скрипт должен успеть отработать, а затем удалите скрипт с графика – нажмите правой клавишей мышки для вызова контекстного меню и выберите «Удалить скрипт». Для создания других периодов повторяем операцию с такими значениями параметра ExtPriodMultiplier: для М5 – 5, М15 – 15, М30 – 30, Н4 – 240, D1 – 1440.
Какой бы способ вы не выбрали, следует помнить, что для устранения ошибок рассогласования на свежей истории (та, которая появилась после подкачки истории или конвертации) необходимо повторить описанные операции.
И вновь результаты тестирования
А теперь вернемся к рассмотрению результатов тестирования (см. рис. 4). Конечно же, наиболее интересным является пункт «Чистая прибыль». Но сам по себе он мало что значит. Его необходимо соотносить с параметром «Максимальная просадка» — это максимальное количество денег, которое было потеряно. При чем неважно, на каком этапе это произошло – вначале, в середине или в конце теста. Вследствие этого показатель максимальной просадки может быть больше начального депозита (сначала мы заработали, а затем потеряли и заработанные, и начальные средства). Оптимальное отношение чистой прибыли к максимальной просадке должно быть около единицы. То есть, для получения прибыли мы рискуем примерно такой же суммой. Хотя конечно никто не станет возражать, если подобное отношение будет намного больше единицы. В приведенном примере по пути к заработку в 100 долларов мы на каком-то периоде потеряли 40.
Идентичен максимальной просадке пункт «Абсолютная просадка» — сумма, на которую уменьшался наш начальный депозит. Показатель относительной просадки – это максимальная просадка, позволяющая оценить потери в процентах от начального депозита.
Также представляют интерес показатели «Прибыльность» и «Математическое ожидание выигрыша». Прибыльность – это отношение общей прибыли к общему убытку. Чем выше этот показатель, тем лучше (как правило, значения больше двух). В нашем отчете прибыльность отсутствует, так как не было убыточных сделок (то есть вышло значение «плюс бесконечность»). Показатель матожидания — это чистая прибыль, деленная на количество сделок. Он измеряется в валюте депозита, поэтому для анализа лучше переводить его в пункты (для микролотов умножать на 10, для полных лотов – делить на 10). Большие значения этого показателя также более предпочтительны, в то время как малые (меньше 10 пунктов) говорят о том, что стратегия быстро режет прибыльные сделки и долго держит убыточные.
Остальные показатели должны быть понятны. Коснемся лишь максимального количества непрерывных проигрышей. На основании этого показателя можно судить насколько долгими бывают серии убытков в стратегии. Ведь на реальном счете очень тяжело морально выдержать, например, 10 убыточных сделок подряд. Рядом с количеством сделок в скобках указывается выражение убытков в валюте депозита. Взгляните на эту сумму и решите, можете ли вы рисковать такими деньгами для получения прибыли, указанной как чистая. Но в нашем примере не было серий убыточных сделок, так как сделок всего две и обе прибыльные.
Такое малое количество сделок объясняется тем, что мы применили самый простой метод тестирования. Проведите тест на модели «Все тики», используя тот же временной период, и увидите, как количество сделок возрастет до девяти (см. рис. 5).
Тут же стоит заметить, что качество моделирования у нас достигло максимального показателя 90% (на минутном периоде максимальный показатель 25%). Вместе с количеством сделок выросла и чистая прибыль, так как по-прежнему у нас нет убыточных сделок. Но не стоит обольщаться – мы просто выбрали довольно удачный для этого советника исторический период. К тому же, никогда не стоит всерьез воспринимать результаты тестирования с небольшим количеством сделок. Минимальная выборка должна быть порядка 100 сделок, оптимальная – 1000. К тому же, исторический период должен быть не меньше года. Подтверждением вышесказанного будет тестирование этого советника с начала 2007 года по сегодняшний день. Там ситуация менее привлекательная.
Текущие результаты тестирования, даже если оно еще не закончилось, можно увидеть, переходя на закладки окна тестера «Результаты» и «График». В результатах построчно отображается каждая проведенная операция – открытие, модификация, закрытие ордера. Также отдельной строкой выводится информация о срабатывании стопа и профита позиции. В случае большого количества одновременно открытых позиций, для того, чтобы понять, с какой именно позицией произведены действия, необходимо посмотреть значение колонки «Ордер», в которой каждому новому ордеру или позиции присваивается уникальный номер.
Полученные результаты можно сохранить. Для этого выбираем пункт «Сохранить как отчет» из контекстного меню (для вызова такого меню нажмите правой клавишей мышки) закладки «Результаты».
В закладке «График» можно увидеть наглядную историю изменения счета, где синяя линия – это график изменения баланса, а зеленая – эквити (средств которые останутся при закрытии всех позиций). Если тестирование производится не постоянным объемом средств (в нашем примере объем постоянен — 0.1 лота), то в нижней части графика выводится гистограмма изменения объема сделок.
Еще одна важная закладка окна тестера – «Журнал». Здесь дублируется информация о совершаемых операциях. Также сюда выводятся все сообщения об ошибках. Поэтому всегда стоит сюда заглядывать, даже если тестирование прошло без видимых ошибок. Наиболее распространенными ошибками при написании советников являются попытки выставления отложенных ордеров слишком близко к рыночной цене, близкое выставление стопов и профитов, некорректное изменение параметров ордера или позиции. Последняя ошибка характерна как раз для советника MACD Sample. Если вы просмотрите весь журнал, то наверняка найдете такое сообщение об ошибке: «MACD Sample EURUSD,H1: OrderModify error 1». Это происходит из-за того, что советник несколько раз пытается изменить уровень стопа в безубытке на такое же значение. В дальнейшем мы немного подправим код советника, чтобы такая ошибка не появлялась.
В большинстве случаев в закладке «Журнал» отображаются только последние операции. Весь журнал можно просмотреть, открыв файл из папки МТ4testerlogs с именем, представляющим текущую дату. Если производить один тест за другим, то в один и тот же файл журнала будет попадать информация из различных проходов тестирования. Чтобы журнал всегда содержал информацию только о текущем тесте, можно удалять этот файл самому или нажимать в закладке «Журнал» пункт контекстного меню «Стереть все журналы». К тому же чистить файлы журналов тестера иногда просто необходимо, так как частенько они занимают довольно большие объемы памяти.
Остальные статьи мастер класса «Работа с тестером стратегий MetaTrader4»
- Часть 1 — Начало работы
- Часть 2 — Тестирование советника
- Часть 4 — Визуальное тестирование в MT4
- Часть 5 — Оптимизация форекс советника
Всем привет! Механические торговые системы так же стары, как и рынки. С развитием в 20 веке компьютерных технологий и сети интернет стало возможным торговать не выходя из дома, а в начале 21 века, с появлением платформы MetaTrader, еще и в автоматическом режиме. Ресурсы современного настольного компьютера позволяют воплощать в жизнь любые, даже самые сложные алгоритмы, а встроенный в терминал MetaTrader редактор MetaEditor дает возможность написать робота даже человеку, мало знакомому с программированием. В результате околофорексовый рынок заполнен различными предложениями купить чудо-советники и некоторые из них действительно достойны внимания. Но как же понять, стоит ли применять на реальных счетах тот или иной форекс советник? Сегодня я расскажу, как тестировать торгового робота на исторических данных при помощи программы MetaTrader 4.
Как тестировать форекс советник в тестере MT4
Подготовка к тестированию
Мы не будем сегодня разбирать, как установить советник в терминал – для этого есть соответствующая статья в блоге. Будем считать, что советник мы уже установили. Теперь необходимо подумать о котировках, которые вы будете использовать. Большинство брокеров не имеют собственной исторической базы, исключение составляют Alpari и Ducascopy, остальные же используют котировки, предоставляемые компанией MetaQuotes. Сказать, что эти котировки вообще годятся для тестов я не берусь – они очень низкого качества (много пробелов, ошибок и неточностей). Как скачивать котировки от компании Ducascopy – тема отдельной статьи, к тому же это не так просто сделать новичку. Поэтому для тестов советников мы скачаем именно терминал от компании Alpari. Внимание! Чтобы получить доступ к исторической базе котировок Альпари, в терминале вы должны быть подключены именно к реальному счету! С недавних пор этот брокер не предоставляет свою базу котировок для владельцев демо-счетов.
Именно из-за различий в котировках тесты одного и того же советника по одной и той же паре с теми же настройками и при прочих равных скорее всего будут отличаться, иногда очень сильно.
Для начала нам нужно кое-что настроить, для чего идем во вкладку Сервис -> Настройки или жмем Ctrl+O
Появится окно с настройками терминала:
Выбираем вкладку «Графики» и в графах «Макс. баров истории» и «Макс. баров в окне» и заполняем как у меня на рисунке вверху (по умолчанию там стоит 65000 баров).
Для того, чтобы котировки по нужной нам паре стали доступны в терминале для проведения по ним теста, открываем вкладку Сервис -> Архив котировок или жмем F2.
Открывается следующее окно:
Выбираем нужную нам пару и период М1 и нажимает кнопку “загрузить”. Через некоторое время котировки загрузятся, выключаем терминал и включаем его снова. Заходим обратно в архив, кликаем левой кнопкой мыши несколько раз по периоду М1 нужной нам пары до тех пор, пока изображенная перед периодом серая батарейка не загорится желто-зеленым цветом. Остается прощелкать мышкой остальные периоды, чтобы котировки просчитались и для них. Если вы хотите протестировать советник на нескольких валютных парах, закачайте котировки требуемых валютных пар. Закройте терминал и откройте его снова. Затем снова войдите в архив котировок и пройдитесь по всем периодам нужной вам пары, несколько раз нажимая левой кнопкой мышки по каждому из них. Все эти шаманские действия нужны в последних версиях терминала, поскольку часто котировки загружаются некорректно. На этом подготовительный этап завершен.
Тестер терминала. Основной функционал
Итак, чтобы приступить к тестированию советника открываем тестер стратегий или нажимаем Ctrl+R.
Снизу в терминале появится вот такая панель:
Давайте остановимся на каждой функции поподробнее.
Первое, что вы увидите слева вверху панели – переключатель советник-индикатор:
В новых билдах терминала появилась возможность посмотреть на работу индикатора в визуальном режиме (о котором речь пойдет ниже). Надо сказать, что такая возможность была и раньше, но неофициально. Теперь же под тестирование индикаторов отведена отдельная кнопочка.
Итак, выбираем советник.
Под цифрой 1 у нас находится выпадающий список с доступными для тестирования советниками. Тут вы найдете только те советники, которые загружены в ваш терминал. Цифра 2 – выпадающий список валютных пар, выбираем нужную. Не забудьте закачать для нее котировки в архив котировок. Если вы вдруг не смогли найти нужную вам пару в списке, хотя уверены, что она у брокера доступна для торговли, включите обзор рынка или нажмите Ctrl+M:
Далее правой кнопкой мыши кликните прямо в окне навигатора и нажмите «Показать все символы»:
На пункте 3 остановимся немного подробнее. Тут мы можем выбрать необходимую нам модель тестирования. Для качественного тестирования торговой стратегии важно выбрать адекватный способ моделирования развития ценовых баров. Всего доступны три варианта:
– По ценам открытия (быстрый метод на сформировавшихся барах, только для советников с явным контролем открытия баров)
Использует грубую оценку стратегии. При каждой свече генерируется только один тик. Достоинство – самый быстрый способ проверки. В этом режиме сначала моделируется открытие бара (Open = High = Low = Close, Volume=1), что дает возможность эксперту точно идентифицировать окончание формирования предыдущего ценового бара. Именно на этом зарождающемся баре запускается тестирование эксперта. На следующем шаге выдается уже полностью сформированный текущий бар.
– Контрольные точки (очень грубый метод на основе ближайшего меньшего таймфрейма, результаты нельзя принимать во внимание)
Метод моделирования контрольных точек предназначен для грубой оценки экспертов, торгующих внутри бара. Для этого метода необходимо наличие исторических данных ближайшего меньшего таймфрейма. В некоторых случаях имеющиеся данные меньшего таймфрейма не полностью покрывают временной диапазон тестируемого таймфрейма. При отсутствии данных меньшего таймфрейма развитие бара генерируется на основе предопределенных волновых шаблонов.
Как только появляются исторические данные меньшего таймфрейма, интерполяция применяется уже к этим данным. Однако точно существующие цены OHLC меньшего таймфрейма выступают в качестве контрольных точек. В большинстве случаев результаты тестирования экспертов по методу контрольных точек могут приниматься во внимание только как оценочные, а не как окончательные. Такие результаты имеют промежуточный оценочный характер.
– Все тики (наиболее точный метод на основе всех доступных меньших таймфреймов)
Этот режим позволяет наиболее точно смоделировать движение цены внутри бара. В отличие от “контрольных точек” потиковый метод использует для генерации данные не только ближайшего меньшего таймфрейма, но и всех доступных меньших таймфреймов. При этом, если на какой-то временной диапазон одновременно существуют данные более одного таймфрейма, то для генерации используются данные самого меньшего таймфрейма. Так же, как и в предыдущем методе, генерируются контрольные точки на основе данных OHLC наименьшего доступного таймфрейма. Для генерации движения цены между контрольными точками также используется интерполяция на основе предопределенных шаблонов, поэтому крайне желательно наличие минутных данных, покрывающих весь диапазон тестирования. Возможна ситуация, когда генерируется несколько одинаковых тиков подряд. В этом случае дублирующиеся котировки фильтруются, и фиксируется объем последней из таких котировок.
При тестировании по всем тикам объём сгенерированных тиков может быть довольно большим, поэтому терминал может потреблять довольно много ресурсов.
Для тестирования советника всегда выбираем метод все тики. Да, это самый медленный, но и самый надежный метод. Многие применяют в своих советниках контроль закрытия бара, то есть специально выжидают момент открытия новой свечи и открытие ордеров совершается только в этот момент. Но часто советники используют стопы, тейки, тралы, которые могут сработать в любой момент внутри свечи. Применять метод по ценам открытия можно только для советников, которые не используют трейлинг стоп, стоплосс и тейк профит, а открывают и закрывают позиции в момент открытия новой свечи, а таких советников крайне мало.
Пункт 4 – использовать дату. Ставим галочку и выбираем желаемые даты начала и окончания тестирования. Если галочка не проставлена, тестирование проводится по всей истории котировок, загруженных в терминал. Тестер не сможет провести тестирование на периоде, по которому нет котировок в архиве котировок, то есть вы не сможете сделать тест с 1300 года, если у вас нет котировок за этот период.
Пункт 5 – визуализация, о которой мы поговорим позже.
Настройки на панели тестера справа:
Период – выбор периода для тестирования советника. Доступны периоды вплоть до D1. W1 и MN1 недоступны для тестирования. Кроме того, если у вас не загружена история котировок нужного периода, тест вы выполнить не сможете.
Спред – можно задать любое значение или же использовать текущий спред по паре. Сделано это для удобства – например, по ночам и на выходных текущий спред обычно завышен и если вы тестируете советник в это время есть смысл задать спред вручную. Если у вас выбран текущий спред, результаты тестов могут сильно отличаться в зависимости от времени суток и дня недели, особенно при тестировании по всем тикам.
Кнопка «Изменить эксперта» доступна только если у вас есть исходный код советника (файл с расширением mq4). Она открывает редактор кода советника, где вы сможете внести в советник необходимые изменения.
Кнопка «Открыть график» открывает график с нанесенными на него индикаторами и сделками, совершенными советником во время теста (нажать можно после того, как тест выполнен).
Кнопка «Свойства символа»
Поменять здесь ничего нельзя, это просто справочная информация по используемой валютной паре.
Кнопка «Свойства эксперта»
Нажав на кнопку, вы увидите окошко, изображенное сверху. Доступны три вкладки: «Тестирование», «Входные параметры» и «Оптимизация».
Вкладка «Тестирование».
Тут вы можете ввести используемый для теста депозит и валюту депозита. Также при желании можно выбрать направление сделок, например разрешить эксперту торговать только в покупки или только в продажи. Настройки оптимизации в рамках данной статьи рассматриваться не будут. Также как и вкладки «Оптимизация».
Вкладка «Входные параметры»
Тут находятся все управляющие переменные самого эксперта, его настройки. Кстати, окно масштабируемо – если вы потянете мышкой за нижний правый угол, можно увеличить или уменьшить его в размерах. Вместе с экспертами как правило обычно поставляются файлы с настройками, имеющие расширение *.set. Причем чаще всего для каждой пары свой файл с настройкой. Чтобы загрузить правильные настройки для нужной пары нажимаем кнопку «Загрузить» и выбираем нужный файл. Часто после установки эксперта в терминал они оказываются не в нужной папке. После нажатия на кнопку «Загрузить» мы оказываемся в папке тестера (у меня это C:UsersSilentspecAppDataRoamingMetaQuotesTerminalFE03BE71CD8F9E8F4C70E0FDAFC997E5 ester). Если нужных файлов там не оказалось, идем в папку FE03BE71CD8F9E8F4C70E0FDAFC997E5MQL4Presets, скорее всего файлы там. Итак, выбираем и загружаем нужный настроечный файл. После загрузки нам нужно найти параметры манименеджмента советника и выставить фиксированный лот 0.1 – в этом случае каждый доллар прибыли или убытка будет равен 1 старому пункту. Для чего это – я расскажу ниже.
Тестирование советника. Результаты теста
Теперь у нас все готово для теста. Проверьте еще раз настройки и нажимайте кнопку «Старт». Спустя некоторое время тест будет выполнен, о чем нас известит звуковой сигнал, похожий на издаваемый резиновой детской игрушкой с пищалкой.
Настало время взглянуть в нижний левый угол тестера:
Тут мы можем заметить вкладки «Настройки», «Результаты», «График», «Отчет» и «Журнал».
Во вкладке «Результаты» доступен список всех сделок, совершенных советником за время теста.
На вкладке «График» можно полюбоваться кривой доходности советника.
Если советник не совершил ни одной сделки, стоит заглянуть во вкладку «Журнал». В ней вы найдете описание всего, что случилось во время теста. Вполне вероятно, что в советнике какая-нибудь ошибка. Расшифровку номера ошибки можно посмотреть в разделе Коды ошибок.
Во вкладке «Отчет» доступна вся статистика работы эксперта на выбранном отрезке времени:
Баров в истории – количество баров в истории, показывает глубину истории, на основе которой производилось моделирование.
Смоделировано тиков – количество смоделированных тиков, показывает размер смоделированной последовательности. Каждая запись последовательности представляет собой состояние бара (OHLCV) на тот или иной момент времени. В зависимости от таймфрейма, метода моделирования и от наличия исторических данных меньших таймфреймов в пределах бара может быть смоделировано разное количество состояний бара.
Качество моделирования – качество моделирования.
Ошибки рассогласования графиков – ошибки, возникающие при моделировании тиков по различным таймфреймам. Если есть хоть одна такая ошибка, удаляем всю историю из терминала и закачиваем заново. Удалить можно так: Файл -> Открыть каталог данных -> Откроется окно с папкой терминала – > папка history -> Выбираем нужный нам тип счета (тот, что вы используете в данный момент) -> Закрываем терминал и удаляем все файлы с расширением *.hst. Далее закачиваем заново котировки в архиве котировок.
Панелька с сигнализатором качества котировок (у меня она зеленая, поэтому для примера нашел в интернете):
Серым цветом – отсутствующие котировки, красным – котировки только текущего периода, зеленым – котировки доступны и предыдущих периодов, при этом чем ярче зеленый цвет, тем более младшие периоды доступны. При доступности периода М1 индикатор будет как у меня – ярко зеленый.
Начальный депозит – депозит, с которым проводилось тестирование.
Спред – спред, с которым проводилось тестирование.
Общая прибыль – сколько всего было заработано во время работы советника
Общий убыток – сколько всего было потеряно.
Чистая прибыль – прибыль, которая была заработана экспертом за заданный период. Если тест сделан лотом 0.1, то эта прибыль в валюте депозита равна количеству заработанных старых пунктов. То же справедливо и для всех остальных параметров, указанных в валюте. Чистая прибыль = Общая прибыль – Общий убыток.
Прибыльность – прибыльность, показывает отношение между общей прибылью и общим убытком. Рассчитывается по формуле Прибыльность = Общая прибыль/ Общий убыток.
Матожидание выигрыша – математическое ожидание выигрыша.
Абсолютная просадка – это разница между начальным депозитом и наименьшим значением баланса в процессе тестирования.
Максимальная просадка – это максимальная разница между одним из локальных верхних экстремумов графика изменения баланса и последующих нижних экстремумов.
На следующем рисунке цифрами показаны основные стадии изменения величины максимальной просадки в процессе тестирования. Итоговое значение максимальной просадки выделено утолщенными стрелками.
Относительная просадка показывает отношение максимальной просадки к значению соответствующего локального верхнего экстремума.
Думаю, остальные данные теста, такие как средняя прибыльная сделка, максимальное количество непрерывных проигрышей и так далее, вполне понятны и объяснения тут не нужны.
Если кликнуть по отчету правой кнопкой мышки, можно сохранить этот отчет в виде html файла:
Сверху отчета располагаются основные данные об условиях проведения теста – период, валютная пара, модель тестирования, параметры советника и прочее. Ниже – статистические данные теста и график кривой доходности. Далее в виде таблицы следует список всех совершенных сделок.
Режим визуализации
Этот режим обеспечивает возможность буквально увидеть в ускоренном режиме как в прошлом отработал бы советник при тех изменениях котировок, которые имели место. Например, если сигналы на вход и выход советника основаны на сигналах какого-нибудь индикатора, то на график визуализации можно установить нужный индикатор и тогда появление сделок и закрытие сделок будет еще нагляднее.
Другими словами, визуализация помогает понять и прочувствовать логику алгоритма советника, так как все будет происходить у вас перед глазами.
Кроме того, визуализацию также применяют, когда хотят увидеть природу происхождения какого-нибудь конкретного участка в прохождении советника (момент начала слива или же, наоборот, самого профитного периода).
Прогнав робота в режиме визуализации вы можете понять принцип его работы и будете знать, чего можно ожидать от него в будущем. Это очень полезный инструмент, особенно для разработчиков советников.
Заключение
В этой статье был рассмотрен основной функционал тестера стратегий терминала MetaTrader 4 и особенности закачки котировок. Также мы познакомились с результатами теста советника и визуальным режимом тестирования. Хочу обратить внимание, что это лишь основы работы с советниками. Способ тестирования советника, рассмотренный в статье, подойдет для советников на периодах от Н1 и выше. Для скальперов, работающих на более мелких периодах, такой способ тестирования подходит условно, он носит чисто информативный характер. Если вы собрались зарабатывать при помощи советников, необходимо также освоить оптимизацию советников. Также нелишним будет получить более глубокие знания о тестировании и оптимизации советников с более высоким качеством моделирования, недоступным, к сожалению, в стандартном исполнении терминала.
С уважением, Дмитрий аkа Silentspec
TradeLikeaPro.ru
Всем привет. Если вы скачали перспективного советника, но пока побаиваетесь его бросить в работу на реальном счете, то для вас я написал эту статью и показал как протестировать советника.
Обязательные настройки перед тестированием советника
MetaTrader 4, имеет встроенный тестер советников, в котором происходит тестирование торговых роботов, экспертов и индикаторов. Разработчиками не раз отмечалось, что подобное тестирование, очень грубое вне зависимости от используемых настроек.
Чтобы хоть как то приблизить реальные показатели, требуется произвести ряд обязательных настроек.
1. Зарегистрироваться у одного из ведущих брокеров, а именно Alpari или Dukascopy. При чем не просто открыть демо счет, а открыть реальный счет, с потоком реальных котировок.
Пояснение!! На момент тестирования советников, депозит можно не пополнять. На важно, чтобы в терминале были реальные котировки с реального рынка Forex. Тем самым мы увеличиваем вероятность получения реалистичных данных.
У вас может возникнуть вопрос, почему именно эти брокеры? Дело в том, что по отзывом реальных программистов, да и по своему личному опыту прогона стратегий в тестере, понял что лучшие котировки, точнее более правдоподобные, были в Alpari. Что касается Dukascopy, так здесь вообще все просто, это мощный швейцарский банк, через свои дочерние компании дающий возможность торговать на Forex.
2. Установить размер исторических данных для котировок в терминала MetaTrader 4. Сделать это можно пройдя в пункт меню «Сервис» → «Настройки» или «Ctrl» + «O», далее во вкладке «Графики» в поле «Макс. баров истории», устанавливаем интересующее значение из расчета: один год минутных данных содержит 60 х 24 х 365 = 525600 баров. Новое значение параметра вступит в силу только после перезапуска терминала.
3. На следующем этапе, переходим в «Архив котировок» нажатием клавиши «F2», либо выбрав «Сервис» → «Архив котировок». В этом пункте нам нужно подгрузить полные данные котировок, чтобы во время тестирования не было ошибок.
Найдите из списка слева нужную валютную пару, щелкните по ней два раза. Откроется выпадающее меню с предустановленными таймфреймами. Лучше всего будет подгрузить каждый таймфрейм путем выбора его и нажатии на кнопку «Загрузить». Повторите процедуру, пока на экране не появится сообщение «Нет новых данных», для точного понимания, что терминал подгрузил все котировки.
4. В моей практике встречались случаи, когда вроде как все котировки подгружены, но тестер все равно не видит часть котировок. Мне помогал простой способ прокрутки графика как можно дальше по истории. После этого, все работало нормально. Так что, сделайте тоже самое.
Запуск тестирования советника
Основная настройка произведена и наш терминал готов к тестированию. Открываем тестер стратегий клавишами «Ctrl» + «R», либо выберите «Вид» → «Тестер стратегий».
Настройки тестера советников
В одной из ближайших статей, расскажу как оптимизировать торговых советников на извлечение максимальной прибыли с наименьшими последствиями. В этой статье на стоит такой задачи, поэтому будем тестировать советник с данными, которые предоставил разработчик.
Тестер стратегий, имеет несколько важных полей, это:
- Выбираем с чем будем работать: Expert Advisor (Советник) или Indicatior (Индикатор).
- Из выпадающего списка, выберите тестируемый советник или индикатор (изучите статьи: как устанавливать советник в MT4 и как установить индикатор в MT4). В моем случае, буду использовать советник Vip-Test_Profit-FX_2-00.ex4.
- Symbol (Символ). Выберите интересующий торговый инструмент и задайте таймфрейм для тестирования (по заверениям опытных программистов, тестер стратегий лучше все работает во время тестирования среднесрочных и долгосрочных стратегий, при использовании скальперских стратегий, большая вероятность недочетов).
- Model (Модель). Предустановлены 3 варианта моделирования:
- Все тики. Самый точный метод. Используется котировки М1, для детальной реализации происходящих событий. Метод точный, но очень долгий.
- Контрольные точки. Используется ближайший таймфрейм, что существенно снижает точность.
- По ценам открытия. Используется метод: Open = High = Low = Close. Худшая точность.
- При торговле в онлайн, трейдер сталкивается со спредом. При тестировании советника, можно установить либо фиксированное значение спреда, либо оставить значение Current (Текущий.)
- Use date (Использовать дату). Установите галочку и выберите в поле From, дату начала тестирования, а в поле To, дату окончания тестирования.
- Visual mode (Визуализация). Установленная галочка будет означать, что тестер должен визуализировать весь процесс торговли. Ползунок либо увеличивает, либо уменьшает скорость. Кнопка Play и Пауза, соответственно либо запускает либо останавливает процесс тестирования.
Для тестирования ручных стратегий, достаточно настроить эти пункты и приниматься за дело. В случае если мы имеем дело с автоматизированными советниками, придется настроить еще и «Свойства эксперта», поэтому, нажимаем кнопку Expert properties (Свойства эксперта) и приступаем к настройке.
Изменение свойств эксперта
Нас интересуют две вкладки:
- Testing (Тестирование);
- Inputs (Входные параметры).
Во вкладке «Тестирование», нам следует установить:
- Initial deposit (Начальный депозит). Думаю все ясно, единственное замечание, при тестировании советника, используйте не абстрактный депозит, а именно тот, с которым планируете работать в будущем.
- Наименование валюты. Не самый важный пункт, но по умолчанию стоит USD.
- Positions (Позиции). Выбираем как будет торговать советник. Предусмотрены варианты: 1) только Short, 2) только Buy и 3) Short и Buy.
Вкладка Inputs (Входные параметры), нужна для ввода полученных путем оптимизации настроек. В этой статье, разбираться как происходит оптимизация не будем, а просто загрузим .set файл, в котором уже хранятся оптимизированные настройки разработчиками.
Анализ результатов тестирования советника
Теперь мы готовы к тестированию советника. Нажимаем кнопку Start и ждем окончания работы тестера стратегий. По окончанию прогона, в тестере, буду доступны следующие вкладки:
- Настройки. Эта вкладка нам известна, с ней уже разобрались.
- Результаты. По сути, это аналог известной вкладки «История счета», где хранится информация о закрытых ордерах.
- График. Строится кривая доходности.
- Отчет. Для анализа результатов, в большей степени будет интересовать эта вкладка, о ней и поговорим подробнее.
- Журнал. Хранится информация о возникновении каких либо ошибок во время тестирования.
Если вы устанавливали галочку в пункте Visual Mode (Визуализация), то так же можно проанализировать сделки на графике, которые будут отмечены метками входа и выхода из позиции. Если такой галочки вы не ставили, но все же хотите оценить работу советника визуально, нажмите во вкладке «Настройки» кнопку Open Chart (Открыть график).
Теперь давайте посмотрим, результаты тестирования советника. И первое что нас должно интересовать, это пункт «Ошибки рассогласования».
Как исправить ошибки рассогласования
Ошибки рассогласования, возникают когда величина или объект отклоняется от необходимого и нужного значения, приводя к расхождениям и нестыковкам. И хотя рассогласование не является точной мерой ошибки, и может частично возникать, вследствие неточности измерителя рассогласования, все же попытаемся добиться нулевого значения, а не как на скрине 19 ошибок.
Результаты тестирования советника считается точными, если индикатор качества моделирования (на скрине Modelling quality) составляет 90% и более, а также показатель ошибок рассогласования равен нулю. Если ваши результаты не дотягивают до этих показателей, то результаты тестирования советника не следует принимать в расчет, а следует поработать над исправлением ошибок.
Исправить ошибки поможет удаление истории котировок из терминала и загрузка ее заново. Сделаем следующее:
- Выбираем «Файл» → «Открыть каталог данных».
- Переходим в папку «History».
- Выберите папку с актуальным счетом.
- Найдите и удалите все файлы с расширением .hst.
- Перезапустите торговую платформу MetaTrader4.
- Загрузите заново котировки, через Архив котировок.
Результаты тестирования советника на истории
Прежде чем протестировать советника на истории, мы должны выбрать актуальный период для теста. Глупо запускать тест на 20 летних исторических котировках. Какой от этого смысл? Есть мнение, что стратегию нужно проверять хотя бы за 2 — 5 лет. Может это и так, но про какие стратегии речь? Скальперские или долгосрочные?
Лично я считаю, что чтобы проверить внутридневную стратегию, достаточно одного — трех месяцев. Кто понимает, сразу разберемся в потенциале испытуемого.
Я не стал тратить много времени, цель другая, покажу на примере тестирования одного месяца, советника Vip-Test_Profit-FX_2-00.ex4 и посмотрим что из этого выйдет.
Ознакомьтесь с результатами тестирования советника на исторических данных.
В тестировании участвовал советник Vip-Test_Profit-FX_2-00.ex4 — скачать и попробовать.
Время тестирования: с 01 марта 2019 года по 31 марта 2019 года.
Валютная пара: EURUSD.
Таймфрейм: М15.
Метод моделирования: Все тики.
Брокер: Alpari.
Из графика доходности можно понять, что в советнике используются принципы мартингейла. На это указывают зеленые линии на графике и растущие столбики объема.
В отчете обращаем внимание на несколько полей:
- Ошибки рассогласования. Здесь понятно, если есть ошибки, результаты тестирования не засчитываем;
- Expected payoff (Матожидание выигрыша). Математическое ожидание выигрыша (чем больше, тем лучше), у нас 2.09;
- Total net profit (Чистая прибыль). Прибыль, которая останется на счету в конце тестирования. Прибыль равна $557,89;
- Maximal drawdown (Максимальная просадка). Процент максимальной просадки по депозиту. У нас достойный показатель, около 5%;
- Maximal consecutive losses (Максимальное количество непрерывных проигрышей). Скорее работает на психологию. Сможете ли вы высидеть продолжительное количество убыточных сделок подряд и не отключить советника?
На мой взгляд, тестируемому советнику можно поставить зачет и попробовать его в деле на реальном рынке. Считаете что у вас на достаточно знаний для анализа стейтментов? Изучите статью Стейтмент торгового счета | Зачем он нужен и на что обратить внимание.
Результаты тестирования на реальном рынке
Этого же советника установил на VPS и проработал он у меня с 26 марта по 31 марта. Результаты интересные.
Не знаете какой VPS сервер лучше выбрать? Посмотрите мой Рейтинг виртуальных VPS/VDS серверов для Forex.
Ознакомьтесь с результатами тестирования советника на реальном рынке Forex.
В тестировании участвовал советник Vip-Test_Profit-FX_2-00.ex4 — скачать и попробовать.
Время тестирования: с 26 марта 2019 года по 31 марта 2019 года.
Валютная пара: EURUSD.
Таймфрейм: М15.
Метод моделирования: Все тики.
Брокер: Alpari.
В отличии от предыдущих данных, при тестировании советника на истории, здесь в глаза бросается уменьшившееся мат ожидание (было 2.09, на реальном рынке 0.66). Все остальные показатель сравнивать бессмысленно, ввиду не одинакового время тестирования.
В любом случае, считаю что советник тестирование прошел.
Ну и в заключении. В этой статье были разобраны моменты по тестированию советника в MT4. На протяжении всей статьи, не раз упомянал, что тестирование советника в тестере и тестирование советника в реальном рынке, это две большие разницы.
Для себя принял следующее решение по работе с советниками и их тестированию:
- Оптимизирую советника по нынешние рыночные условия.
- Тестирую на периоде в пол года.
- Если результаты плохие, значит работать дальше с советником смысла нет. Если результаты тестирования положительные, открываю минимальный реальный счет, устанавливаю советника на надежный VPS для Forex и тестирую советника на реальном рынке в течение месяца.
Так и только так можно понять на сколько хорошо торгует робот. Переоценивать возможности робота, анализируя данные из тестера, нет никакого смысла. Велика вероятность поплатиться за свою жадность.
Удачи в тестировании советников, ну и конечно рассказывайте в комментариях о ваших наработках.
Технологии развиваются со всё возрастающей скоростью.
Раньше анализ рынка проводили по котировкам, которые поступали по телеграфной ленте, графикам, от руки нарисованным на миллиметровой бумаге. Это был долгий и трудоёмкий процесс, когда подготовка к анализу занимала больше времени, чем сам анализ.
Компьютерные технологии изменились и продолжают эволюционировать, что предоставило возможность каждому иметь доступ к рыночным данным и торговать прямо у себя из дома. При этом современные терминалы обладают широчайшим инструментарием для проведения анализа рыночной ситуации. И, если раньше стоял вопрос, как получить выход на рынок, чтобы сделать хоть какой-то обзор рыночной ситуации, то сейчас основная задача, что выбрать из доступного разнообразия инструментов анализа.
Кроме того, всем стал доступен автоматический трейдинг. Современные торговые терминалы обладают средами разработки, которые позволяют даже людям, глубоко не знакомым с программированием, создавать торговых роботов. Поэтому рынок роботов для автоматической торговли сейчас изобилует всевозможными предложениями советников.
Среди них есть немало тех, кто могут принести действительно хорошие результаты. Но чтобы понять, насколько эти роботы эффективны, необходимо их протестировать и убедиться, что хотя бы на прошлых исторических данных они показывали стабильные результаты. После чего уже можно переходить к тестированию на реальном рынке и непосредственно самой торговле.
В терминале MetaTrader есть встроенный тестер стратегий, на котором и можно протестировать форекс советника с получением подробной статистики по результатам.
Подготовка
О том, как устанавливать советник в терминал, вы можете прочитать в этой статье.
Чтобы тестирование было корректным прежде всего нужно его нужно проводить на качественных котировках.
У большинства брокеров нет своего архива котировок, они используют котировки от компании MetaQuotes — разработчика терминала MetaTrader. Это далеко не самые качественные данные, в их архиве котировок полно пробелов и неточностей. Данные от тестирования на таких данных не будут нести практической пользы и могут сильно отличаться от результатов, которые бы были на реальном рынке.
Свой архив котировок есть, например, у брокеров Ducascopy и Alpari. У вторых, чтобы его получить необходимо иметь реальный счёт, а не демо-счете доступ к таким котировкам не предоставляется.
В первую очередь нужно сделать базовые настройки.
Нужно нажать Ctrl+O или мышкой выбрать меню «Сервис->Настройки».
В открывшемся окне «Настройки» нужно выбрать вкладку «Графики». В пунктах «Макс. баров истории» и «Макс. баров в окне» прописываем 1 000 000 000.
Затем идём в пункт меню «Сервис->Архив котировок». Его можно вызвать нажатием клавиши F2.
Откроется окно, где можно выбрать нужную валютную пару и временной интервал. Выбираем период M1 и жмём «Загрузить».
Как котировки загрузятся, нужно перезагрузить терминал.
Затем мы снова заходим в меню Архива котировок, опять выбираем нужную валютную пару, кликаем мышкой по периоду m1, пока слева от неё значок не загорится жёлто-зелёным цветом.
После нужно также пройтись по всем остальным периодам этой валютной пары, чтобы котировки просчитались для них для всех.
Если тестирование будет проводиться по нескольким валютным парам, то эти манипуляции нужно сделать для каждой из них.
На этом с подготовкой всё.
Тестер стратегий и его базовые возможности
Нажатие Ctrl+R открывается панель тестера стратегий. Также его вызвать можно, нажав соответствующую клавишу в верхней панели терминала.
В нижней части терминала откроется рабочая панель тестера стратегий:
Слева сверху есть пункт, где по нажатию мышки выпадает меню и можно выбрать, что вы хотите тестировать: советник или индикатор в визуальном режиме просмотра. В нашем случае выбираем «Советник». А напротив этого пункта справа в выпадающем меню можно выбрать собственно сам советник, который необходимо протестировать. Но для выбора доступны, конечно же, только те советники, которые установлены на вашем терминале.
В поле «Символ» вы выбираете валютную пару или любой другой финансовый инструмент, который есть в терминале, и брокер предоставляет его котировки. Если вдруг вы не можете найти нужную пару, но точно знаете, что она есть, то зайдите в окно «Обзор рынка» на верхней панели терминала, и в ней кликните правой клавишей, а затем в меню выберете «Показать все символы».
В пункте «Модель» выбирается способ, как будут выдаваться котировки, и как будут рисоваться свечи или бары.
Доступны следующие виды моделирования графика для тестирования:
- По ценам открытия. При этом способе бары рисуются сразу целиком в один тик. И нет информации в реальном времени о том, как цена вела себя во время формирования свечи. Свечи рисуются быстро, это ускоряет процесс. Но такой способ подходит только для тестирования тех советников, где нужен контроль открытия баров.
- Контрольные точки. Тоже очень грубый способ оценки. Если упростить, то при нём берутся данные с предыдущего таймфрейма, а именно цены OHLC (то есть Open, High, Low и Close), и по ним моделируется построение бара. Его показания можно использовать только для оценочной прогонки советника, но не для полноценного тестирования.
- Все тики. В этом методе уже используются цены не только с ближайшего младшего таймфрейма, но и со всех младших временных интервалов. Если на формирование какого-то промежутка времени есть данные от нескольких таймфреймов, то берётся самый младший. Если вдруг данных между точками нет, то используется интерполяция на основе заданных шаблонов. Если вдруг котировки дублируются, то происходит фильтрация, и берётся объём последней котировки. Этот способ более требователен к ресурсам, что может ощутимо нагружать терминал.
Как становится понятно, последний способ наиболее надёжен и точен для тестирования большинства советников, ведь предоставляет более точные ценовые данные, максимально приближённые к рыночным условиям.
Далее в пункте «Использовать дату» можно выбрать период тестирования по времени. Если пункт этот не трогать, то тестер проведёт тестирование по всем котировкам, которые ему доступны. Если же напротив него поставить галочку, то станут доступны поля, в которых можно указать начало и конец временного интервала, за который вы хотите провести тестирование.
Справа в панели тестера есть также несколько пунктов для настройки тестирования.
В пункте «Период» выбирается таймфрейм, на котором будет проходить тестирование. Максимум для тестирования доступен D1. И нужно обязательно загрузить историю котировок именно того временного интервала, на котором собираетесь тестирование проводить.
В поле «Спред» по умолчанию будет выбран текущий спред. Если же вам нужно протестировать советник, который, например, торгует ночью, а у вашего брокера в это время спред увеличен, то можно вручную задать его интересующую величину.
Если вам доступен файл советника с расширением .mq4, то можно нажать кнопку «Изменить эксперта», вызвав тем самым редактор кода, где можно делать свои правки.
После окончания теста становится доступна функция кнопки «Открыть график». От её нажатия открывается график пары с индикаторами советника и сделками, которые он совершил за время тестирования.
Нажав «Свойства символа», вы откроете информационное окно со спецификацией финансового инструмента, на котором проводите тест.
«Свойства эксперта» вызывает окно с тремя вкладками, как на скриншоте ниже.
Во вкладке «Тестирование» можно менять размер депозита и валюту счёта. Также можно дать указание советнику открывать только покупки, только продажи или всё вместе.
Во вкладке «Входные параметры» отображены настройки советника. Если к советнику уже идут готовые пресеты настроек, например, под определённые пары и временные интервалы, то их можно залить, нажав кнопку «Загрузить» и выбрав файл настроек с расширением *.set.
Вкладку «Оптимизация» разбирать не будет, как и сам процесс оптимизации советника. Это отдельная глубокая тема, которая не убирается в рамки данной статьи.
Последнее, что нужно сделать перед началом тестирования, это выставить торговый лот в 0,1 лота, чтобы каждое изменение в 1 пункт по старым четырём знакам после запятой равнялось 1 доллару. Это будет удобно по ходу тестирования оценки результатов.
Процесс тестирование и анализ результатов
Нажатие кнопки «Старт» запускает тестирование.
Когда оно заканчивается, звучит звуковой сигнал детской резиновой игрушки.
Для оценки результатов нам в помощь вкладки внизу панели тестера стратегий: «Настройки», «Результаты», «График», «Отчёт», «Журнал».
В Результатах можно найти перечень всех сделок советника за период тестирования и результаты по ним.
В Графике рисуется кривая доходности, по которой можно бегло оценить стабильность торговли советника, скорость прироста депозита и другие моменты.
В Журнале отображаются системные сообщения о событиях за время тестирования. Если с советником что-то не так, и произошла какая-то ошибка, то как раз здесь можно найти информацию о ней.
В Отчёте собрана вся важная статистика.
Баров в истории — сколько баров взято для тестирования за выбранный период времени.
Смоделировано тиков — количество воссозданных тиков, учитывающих данные по ценам Open, High, Low и Close и по volume (объёмам). Это количество может быть разным в зависимости от модели тестирования, временного интервала и качества котировок.
Качество моделирования — отображает качество в процентах.
Ошибки рассогласования графиков — показывает, есть ли ошибки при воссоздании тиков по разным временным интервалам. Ошибок быть не должно, иначе результаты будут далеки от реальности.
Если хоть одна ошибка есть, нужно обновить архив котировок. А для начала стоит удалить старый архив. Чтобы это сделать, нажимаем «Файл -> Открыть каталог данных -> History -> выбрать папку текущего торгового счёта -> закрыть терминал, не закрывая папку -> удаляем все файлы .hst».
Потом снова обновляем архив котировок, как это было описано в начале статьи.
Пример, как отображаются ошибки на панели ошибок рассогласования графиков ниже.
Серым показываются котировки, которых не хватает, красным котировки с текущего временного интервала, зелёным показаны котировки, которые доступны и на текущем, и на более младших временных интервалах. Более ярким зелёным показываются более младшие временные интервалы.
Если ошибок нет и доступны котировки с m1, то вся шкала будет ярко-зелёного цвета.
Начальный депозит — первоначальная сумма старта.
Спред — тот, на котором тестировался советник.
Общая прибыль — сколько заработано.
Общий убыток — сколько потеряно.
Чистая прибыль — это разница между общей прибылью и общим убытком. При тестировании 0.1 лота каждый доллар прибыли равен 1 заработанному пункту.
Прибыльность = общая прибыль/общий убыток.
Матожидание выигрыша — говорит само за себя.
Абсолютная просадка — показывает разницу, на которую от начального депозита падал баланс.
Максимальная просадка — максимальная разница между самой верхней точкой кривой доходности советника и самой её низкой точкой.
Относительная просадка = максимальная просадка/значение самой высокой точки кривой доходности советника.
Что показывают остальные данные, легко понять по их названиям и показаниям.
По нажатию правой кнопки мыши, можно сохранить детализированный отчёт результатов тестирования в формате .html.
Режим визуализации
Если в этом пункте поставить галочку, то после нажатия кнопки «Старт» откроется отдельный график, на котором в ускоренном режиме будут рисоваться свечи по ранее загруженным котировкам из архива.
Такой наглядный режим удобен, если нужно посмотреть своими глазами, как советник отрабатывал те или иные моменты на рынке, как он открывает и закрывает сделки. То есть его там можно лучше понять.
Если вам известно, на основе какого индикатора построен советник, то можно на график визуализации этот индикатор накинуть и проверить качество и точность входов советника.
Кроме того, можно смотреть вживую. как советник ведёт себя в какие-то переломные рыночные моменты или в момент выхода важных новостей.
Одним словом, получая возможность визуализации, вы получаете больше контроля над тестированием любого робота.
Заключение
Стоит сказать, что такой способ тестирования советников подходит больше для роботов, которые работают на интервалах от m30-h1 и выше.
Для скальперских роботов, которые торгуют на младших временных интервалах, нужны другие способы тестирования, где качество моделирования гораздо лучше, точнее, ближе к реальным показателям рыночных котировок у брокера.
Для тех же, кому нужно протестировать на тестере в ускоренном режиме какие-либо ручные торговые системы, подойдёт тестер TradeSystem2, который имеет ряд удобных преимуществ в сравнении со стандартным тестером терминала MetaTrader.
Разбор тестирования экспертов в тестере стратегий терминала мт4
Здравствуйте уважаемые клиенты, в этой статье нам бы хотелось вам детально описать тестирование эксперта ( советника ) в тестере стратегий.
Чтобы оценить полноту и точность тестирования, последовательно выполняем следующие шаги
а) заходим в меню/сервис/настройки/графики и устанавливаем максимальное кол-во баров в окне и максимальное кол-во баров истории по 99999999999 ( до упора)
Формула расчета баров, к примеру 1 года, считается так 60 * 24* 365 =525600 , в которой 60 ( кол-во минут в часе), 24 ( кол-во часов в сутках) , 365 ( кол-во дней в году) , Соответственно, если вы хотите рассчитать кол-во баров за более длительный промежуток времени ( например за 5 лет) то и умножать надо: ( 5 лет) * 365= 1825. Тогда общая формула для расчета общего кол-ва баров которое понадобится для тестирования за указанный промежуток времени будет следующей : 60*24*1824 = 2626560 ( такое числовое значение придется указать в окне) . Чтобы вам этого не делать, не рассчитывать нужное кол-во баров для тестируемого промежутка времени, мы предлагаем вам устанавливать в окнах значения по 999999999999 ( максимум 9 до упора в боковую границу) .
изменяя значение баров, путем вызова меню/сервис/настройки/графики вы подгружаете с серверов MQ (метаквотс) исторические данные ( котировки) для тестирования. При активации этой опции — создается дополнительная нагрузка на клиентский пк, также загрузка графика свечей ( баров) становится значительнее медленнее.
Чтобы активируемая опция в меню/сервис/настройки/графики вступила в силу, нужно после нажатия на кнопку «Ок» перезапустить терминал.
б) необходимо загрузить котировки. Для этого переходим в раздел :
меню/сервис/архив котировок
в появившемся окне выбираем нужную валютную пару ( например евро/доллар) и загружаем котировки минутного интервала. Так как минутные котировки хранят в себе переменные изменения цены каждую минуту, что позволяет в дальнейшем оценивать полноту и точность тестируемого промежутка времени. После загрузки минутный котировок выбираем нужный тф для тестируемого советника и подгружаем для него котировки.
Тестирование эксперта в тестере стратегий
Давайте рассмотрим само окошко тестера стратегий
тестер стратегий можно вызвать путем меню/вид/тестер стратегий или комбинацией клавиш Ctrl+R
Теперь рассмотрим детально окошко тестера стратегий
А) в поле советник выбираем загруженный ранее советник
б) в поле символ выбираем нужную валютную пару для которой загружали котировки
в) в поле модель — выбираем тип моделирования тиков, есть 3 вида
—- Все тики — точный метод моделирования на основе ближайших меньших таймфреймов для генерации каждого тика. Данный режим позволяет наиболее точно смоделировать поведение цены внутри бара на испытуемом промежутке времени. Тестирование по тикам использует для генерации тиков данные не только меньших ближайших тф, а переменные всех меньших тф. Пример, если вы хотите протестировать систему на периоде ( тф 30м) то тестер будет считывать информацию с минутных тиков, пятиминутных, пятнадцатиминутных и конечно же заданного тф в настройках. Как вы понимаете, что тип моделирования по всем тикам позволяет наиболее четко оценить доходность тестируемого вами советника, точность моделирования , как правило при данном типе составляет 90%.
——- по ценам открытия ( быстрый метод на сформировавшихся барах).
Некоторые механические торговые системы не зависят от особенностей внутрибарного моделирования, они торгуют на сформировавшихся барах. То, что текущий ценовой бар полностью сформировался, можно узнать по появлению следующего. Именно для таких экспертов предназначен этот режим моделирования
————— По контрольным точкам ( грубый метод моделирования) грубый и неточный метод моделирования, больше подходит лишь для проверки работоспособности системы ( очень удобно использовать при тестировании на впс сервере, так как затрачивает мало ресурсов для генерации тиков ) Для этого метода необходимо наличие исторических данных ближайшего меньшего периода (таймфрейма).
г) В поле период задаете период тестирования ( таймфрейм) как правило, рекомендуемый период торговли предлагает сам автор продукта.
д) В поле спред задаем значение спреда для вашей валютной пары. спред — разница между ценами bid/ask . Если в поле вы выбираете значение спреда «текущий» то значение спреда берется то, которое сейчас на рынке. Как понимаете, это является не совсем верно, так как диапазон колебания спреда по выбранному форекс инструменты ( валютной паре) всегда колеблется, а в период сильной волатильности рынка или в период выхода новостей спред может завышаться в разы. Поэтому, рекомендуется использовать средне значение спреда ( для альпари и робофорекс значение будет равно 10)
е) Свойства эксперта
а) рассмотрим поле тестирование
1) в поле депозит можно задать баланс при котором будет производиться само тестирования и также валюту депозита. Тоже может внести некую долю в анализе системы, так как при использовании разной валюты система может либо быть прибыльна, либо сливать
2) в поле позиции
— можно указать Long and Short – чтобы сделки советник открывал на тестируемом промежутке как в сторону покупки так и в сторону продажи;
—- можно указать Only Long – только длинные сделки – покупка;
—- можно указать Only Short – короткие сделки – продажа
3) Оптимизируемый параметр следует рассматривать в оптимизации системы, поэтому рекомендуем оставлять значение Balance
4) Генетический алгоритм — незабываем поставить галочку- это упрощает процесс тестирования ( делает его быстрее)
Входные параметры для каждого советника свои, поэтому детально на них останавливаться не будем. Насчет входных параметров тех или иных наших систем можно найти тут http://myfxbank_apollon.support-desk.ru/ выбираем нужный раздел ( вопросы по советнику зевс, аполлон, личный банк) и смотрим описание.
ж) В поле использовать дату задаем дату тестируемого промежутка времени.
незабываем, что дату тестирования нужно устанавливать с учетом загруженных котировок. Т.е, если ваши котировки после их загрузки начинаются с 01.01.2000 то именно с этого момента и надо устанавливать дату тестирования.
Тестирование и анализ торгового робота.
Теперь перейдем непосредственно к самом тестированию, когда все настройки сделаны, котировки для нужного тф и для нужной валютной пары загружены, можно нажимать на кнопку «Старт»
Вкладка результаты
в таблице «результаты» собраны все операции, которые выполнял советник за тестируемый промежуток.
вкладка «График»
Синяя кривая- график баланса
зеленая — свободные средства, обычно, зеленую линию невидно из-за кривой баланса, так как она протекает вместе с линией баланса. если зеленая часто выпадает от синей, то это говорит о том, что позиции советник часто передерживает. На рисунке коричневым выделен участок, где как раз и виден момент выпадения зеленой линии.
вкладка «Журнал»
Здесь показаны работы советника ( эксперта) ( время открытия сделки, валюта, цена и тд, ) также тут отображаются различного рода ошибки ( помечены красным цветом).
вкладка «Отчет»
рассмотрим детально важные моменты отчета и на что обращать внимание.
1) качество моделирования должно быть 90% , это видно по индикаторной шкале, шкала может быть трех оттенков
а) серая — эта часть имеющихся данных не участвовала в тестировании.
б) красный — на этом отрезке моделирование не проводилось за неимением данных более мелкого периода. При этом использовались только данные выбранного в настройках периода ( тф)
в) Зеленый — моделирование на данном участке проводилось. Причем, чем ярче цвет, тем более качественным было моделирование.
Вывод, если после тестирования ваша шкала имеет неярковыраженный яркий зеленый оттенок- то повторите процесс тестирования заново ( загрузите повторно котировки), возможно как раз при их загрузке не хватало определенного промежутка котировок, например 1-2 дня .
2) Ошибки рассогласования графиков 0, если у вас стоит значение не 0, а например 1,2…. то тогда вам также нужно будет повторно загрузить котировки и провести тестирование заново.
3) Чистая прибыль — сколько заработал советник в целом от стартового депозита за тестируемый промежуток времени.
4) кол-во сделок количественная характеристика, позволяет определить как часто система проявляет активность на рынке.
5) Общая прибыль — сумма всех прибыльных сделок в денежных единицах.
6) Мат ожидание выигрыша — математическое ожидание выигрыша. Этот статистически рассчитываемый показатель отражает среднюю прибыльность/убыточность одной сделки. Также можно считать, что он отражает предполагаемую прибыльность/убыточность следующей сделки.
7) Максимальная просадка -наибольший убыток от сделок идущих следом друг за другом. Выражается как и в денежном эквиваленте, так и в процентах.
Прибыльные сделки в % от всех — позволяет с небольшой погрешностью понять насколько система прибыльна, каков % прибыльных сделок от общего их числа.