-
ФорумРазделы
Ошибки рассогласования графиков
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 — Оптимизация форекс советника
-
#1
Подскажите, пожалуйста, как избежать ошибок рассогласования графиков в МТ4 при компьютерном тесте стратегий, которые очень сильно влияют на результат теста?
-
#3
о каком рассогласовании идет речь?
отсутствие свечек выходных дней?
просто нехватка свечек за какой то период? тогда просто надо подгрузить котировки. Посмотрите соответствующий скрипт в разделе скриптов.
В отчете тестера МТ4 есть строка: «Ошибки рассогласования графиков». От их количечества очень зависит результат теста, по крайней мере для некоторых стратегий. В чем состоят эти ошибки сказать затрудняюсь, предполагаю, что это несовпадения ценовых данных различных таймфреймов. перезагрузка котировок во время нового тестирования не помогает, кол-во ошибок остается тем же. Есть ли у кого-то аналогичная проблема, как ее можно решить?
Ошибки рассогласования графика в мт4 — что это?
Это ошибки на сервере дилингового центра: приходящие тики не достаточно тщательно обрабатываются на некоторых временных периодах.
Тестирование сразу после непосредственной архивной загрузки не идентифицирует ошибок, так как загружаются лишь минуты, которые преобразуются в другие временные периоды по алгоритму. На тот момент погрешностей и рассогласования нет. Затем, когда начинается поступление котировок в реальном режиме времени, рассогласования накапливаются снова.
Должно ли это как-то обескураживать трейдера?
Нет, конечно! Например, было время, когда золото торговалось по 300 долларов за тройскую унцию. Прошло несколько лет и все увидели цену в 1300 долларов. Насколько важны ошибки для позиционных трейдеров? Они им вообще не интересны. Цена на презренный металл росла из года в год, и кто хотел получить прибыль – получил ее! Многие спекулянты реинвестировали прибыль в торговлю, и доходы у них росли в геометрической прогрессии. Отвлекаться на рассогласование, которого зачастую нет, им было некогда. В последнее время график нефти шел вниз. Кто хотел заработать на понижении цены, тот зарабатывал. Нефть с 110 долларов падала до 30 долларов за баррель. Такие большие перепады цены некоторые трейдеры в состоянии «поймать». Тратить время на недовольство им просто некогда.
Скальперы могут негодовать по поводу рассогласования графика, но они, как правило, работают на иностранных площадках, где подобное фактически не происходит. Отечественные дилинговые центры для скальперов не подходят, потому что они берут комиссию, которая больше, чем цена за угаданный тик рынка. Позиционным трейдерам вполне удобно работать в отечественных дилинговых центрах. Трейдеры, торгующие внутри торговой сессии, как правило, не задерживаются надолго в этом бизнесе. Внутри дня зарабатывать практически невозможно. Рассогласование графика внутри дневных спекулянтов может интересовать, но фиаско они терпят не из-за рассогласования, а из-за неправильной методики торговли.
Содержание данной статьи является исключительно частным мнением автора и может не совпадать с официальной позицией LiteFinance. Материалы, публикуемые на данной странице, предоставлены исключительно в информационных целях и не могут рассматриваться как инвестиционный совет или консультация для целей Директивы 2004/39 /EC.
Всем привет! Механические торговые системы так же стары, как и рынки. С развитием в 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
Пожалуйста, подскажите.
Есть валютная пара CADCHF, история загружена стандартно самим метатрейдером. При прогоне советника на истории появляются ошибки рассогласования графиков. Полез искать что-нибудь похожее на форуме. Нашел вот это: https://alpariforum.com/post1110290-1392.html . Воспользовался скриптом PERIOD_CONVERTER_ALL. Не понял только вот это:
Инструкция: открыть оффлайновый график M1 нужной валютной пары, запустить скрипт.
Почему запускать скрипт нужно на оффлайновом M1? Разве тестер берет данные с оффлайнового графика?
Запустил на онлайновом, скрипт отработал, тестер пишет Ошибок рассогласования графиков 0. Ничего не трогаю, просто еще пару раз запускаю тестер — Появляются ошибки рассогласования.
В чем дело? И все-таки хотелось бы пояснений по поводу оффлайн графика.
Всем привет. Если вы скачали перспективного советника, но пока побаиваетесь его бросить в работу на реальном счете, то для вас я написал эту статью и показал как протестировать советника.
Обязательные настройки перед тестированием советника
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 и тестирую советника на реальном рынке в течение месяца.
Так и только так можно понять на сколько хорошо торгует робот. Переоценивать возможности робота, анализируя данные из тестера, нет никакого смысла. Велика вероятность поплатиться за свою жадность.
Удачи в тестировании советников, ну и конечно рассказывайте в комментариях о ваших наработках.
Перед тем, как применить торговую стратегию на реальном счете трейдеры обязательно должны протестировать систему вручную или применить торговый советник на тестере стратегий. Это необходимо для того, чтобы определить: совпадают ли основные показатели торговой стратегии с требованиями трейдера (ТЗ для программиста), то есть в первую очередь — насколько она безопасна и результативна.
В данной статье мы разберем как тестировать торговый советник через тестер популярнейшего торгового терминала МТ4 (MetaTrader 4). Предположим, что Вы уже скачали и установили МТ4 и торговый советник по интересующей Вас торговой стратегии, так что останавливаться на описании установки данного процесса.
Для тестирования торгового советника необходимо использовать исторические данные, на основании которых будет проводиться анализ. Тестировать ТС необходимо на графике от полугода до 2 лет, чтобы была возможность анализировать и прогнозировать работу стратегии в долгосрочной перспективе. Некоторые брокеры, предоставляя демо-счет, ограничивают доступную историю котировок. Если Вы столкнулись с такой проблемой, то необходимо загрузить историю котировок в терминал.
Историю котировок для терминала МТ4 по умолчанию предоставляет разработчик данной торговой платформы – компания MetaQuotes. Для загрузки необходимо выполнить следующие действия:
1. В терминале в меню «Сервис» необходимо войти «Настройки» (горячие клавиши Ctrl+O).
2. В «Настройках» необходимо выбрать вкладку «Графики» и установить максимальное количество символов, как указано на картинке ниже.
3. Для загрузки истории котировок Вам необходимо выбрать в меню «Сервис» — «Архив котировок» (горячая клавиша F2).
В открывшемся окне необходимо выбрать интересующую Вас валютную пару, выделить минимальный таймфрейм (M1), и нажать «Загрузить». После загрузки снова щелкаем по таймфрейму несколько раз, пока серый значок не превратится в желто-зеленый. После этого необходимо прощелкать остальные таймфреймы, пока все значки не станут желто-зеленого цвета.
Если Вам необходимо для анализа несколько торговых инструментов, то для каждого последующего необходимо проводить такие же операции.
Если в данном списке нет интересующего Вас торгового инструмента, но Вы уверены, что доступ к нему предоставляется брокером, то необходимо войти в «Обзор рынка» (соответствующая кнопка на панели инструментов), либо нажать горячие клавиши Ctrl+M. В «Обзоре рынка» необходимо щелкнуть правой кнопкой мыши на котировках, и, в появившемся контекстном меню нажать «показать все символы». Это позволит Вам получить доступ ко всем доступным торговым инструментам брокера.
Теперь переходим непосредственно к тестированию советника в терминале МТ4.
Тестер торгового терминала МТ4.
Для того, чтобы открыть тестер советников в МТ4 необходимо выбрать соответствующую иконку на панели инструментов, либо нажать комбинацию горячих клавиш Ctrl+R.
Тестер открывается в нижней части окна МТ4 и имеет следующий вид:
Далее рассмотрим подробнее каждую функцию тестера МТ4.
Тестер позволяет анализировать работу, как торговых советников, так и индикаторов. Выбрать тип программы можно в левом верхнем углу окна тестера. Для примера мы будем рассматривать советник.
Настройка тестируемого советника
- Список загруженных торговых советников (индикаторов). Необходимо выбрать интересующий советник, который был заблаговременно загружен в папку с программами торгового терминала.
- Список торговых инструментов, на которых планируется тест советника (необходимо заблаговременно загрузить историю котировок).
- Тип модели обработки — очень важный фактор в тестировании советника. Существует 3 типа модели обработки:
- По цене открытия;
- По контрольным точкам;
- По всем тикам.
Тест по цене открытия
Наиболее быстрый способ тестирования, что и является главным преимуществом данного способа. В данном случае, для тестирования советника учитывается только цена открытия (O, Open) каждого элемента графика. Однако данный тип идеально подходит только тех торговых советников, которые контролируют открытие свечей, и производят открытие и закрытие ордеров при открытии новой японской свечи. Тест по цене открытия не подойдет для тех торговых советников, которые применяют трейлинг стоп, Stop loss и Take Profit.
Тест по контрольным точкам
Контрольными точками для тестирования в данном случае выступают данные цены ближайшего меньшего таймфрейма. Данный метод дает грубые результаты тестирования, так как исходные данные меньшего таймфрейма не всегда способны перекрыть диапазон текущего таймфрейма. В таких случаях недостающие данные генерируются автоматически на основании шаблонов. Тестовые данные, рассчитанные на основании контрольных точек, рекомендуется рассматривать как общие, промежуточные, а не как конечный результат.
Тест по всем тикам
Является наиболее точным методом тестирования торгового советника. Тест по всем тикам подразумевает что в процессе учитываются абсолютно все исходные данные, с текущего и всех меньших таймфреймов. При этом крайне важно, чтобы была загружена история котировок за весь тестируемый период, особенно на минутном таймфрейме (M1). Тестирование по всем тикам может занимать достаточно много времени и ресурсов, однако точность тестирования максимально приближена к работе на реальном рынке.
Таким образом, для качественного тестирования необходимо выбирать тестирование по всем тикам.
4. Временной промежуток для тестирования. Необходимо установить «галочку» и указать начало и конец интересующего срока. Если «галочка» не установлена, то тестер будет обрабатывать всю доступную в терминале историю котировок. Для корректного теста торгового советника (стратегии) необходимо брать период от 1 до 3 лет.
5. Настройки визуализации. В новых версиях МТ4 данная функция включена автоматически. Визуализация позволяет наглядно видеть процесс работы советника на графике, что дает возможность глубже понимать алгоритм работы программы и стратегии в целом.
В правой части окна тестера терминала МТ4 расположены следующие кнопки:
Период
Под периодом подразумевается таймфрейм на котором будет тестироваться торговый советник. Тестирование доступно на таймфреймах от одной минуты (M1) до дня (D1).
Спред
Можно установить либо текущий спред валютной пары, либо установить фиксированный спред от 2 до 100 пунктов. Размер спреда может значительно повлиять на результаты тестирования, следовательно, и на оценку торговой стратегии.
Изменить эксперта
Данная функция позволяет вносить изменения в программный код торгового эксперта напрямик в файле с разрешением «.mq4». При нажатии кнопки «Изменить эксперта» открывается редактор программного кода для внесения необходимых коррективов. Следует помнить, что не стоит вносить изменения в программный код советника, если Вы не имеете специальных знаний и навыков. Кроме того, самостоятельно корректируя программу, Вы принимаете риски на себя, так как в данном случае советник уже будет отличаться от оригинальной версии программы.
Открыть график
Открывается график торгового инструмента с произведенными советником сделками при тестировании для визуального анализа торговой стратегии.
Свойства символа
Информация о свойствах торгового инструмента, где отображаются все необходимые параметры.
Свойства эксперта
Настройки непосредственно торгового советника. В окне находятся три вкладки: «Тестирование», «Входные параметры» и «Оптимизация».
Свойства эксперта: Тестирование
В данной вкладке выставляется условный размер и валюта депозита для тестирования. В списке «Позиции» можно выбрать направления сделок, которые будут производиться: либо только на покупку (Long), либо только на продажу (Short), либо и на покупку и на продажу одновременно (Long&Short). Эти параметры существенно влияют на результаты тестирования советника.
«Оптимизируемый параметр» предполагает выбор основного выходного параметра для оценки тестирования. Параметры следующие:
- Balance — учитывается конечный размер баланса на депозите;
- Profit Factor — учитывается конечное соотношение сумм всех убыточных и прибыльных сделок (прибыльность советника должна быть > 1);
- Expected Payoff —учитывается конечное математическое ожидание, иными словами, средний показатель прибыли на 1 сделку (показатель должен быть больше размера спреда);
- Maximal Drawdown — учитываются величины просадок депозита. Данный показатель демонстрирует реальные риски для депозита. Если при тестировании выявлены значительные просадки, которые могут достигать размера первоначального депозита, то стоит пересмотреть торговую стратегию.
- Drawdown Percent — учитывается процент максимальной просадки по отношению к текущему депозиту. Данный параметр полезен при тестировании торговых советников, в торговой стратегии которых лежит торговля нефиксированными объемами торгового лота.
Генетический алгоритм позволяет тестировать советник только по указанным параметрам. Если убрать галочку «Генетический алгоритм», то тестер будет обрабатывать абсолютно все варианты работы советника, что может занять долгое время.
Свойства эксперта: Входные параметры
В данной вкладке находятся настройки всех переменных торгового советника. Настраивать советник можно как вручную, так и при помощи файла с готовыми настройками (расширение файла «.set»), который обычно предоставляется вместе с советником.
Для того чтобы установить настройки необходимо нажать кнопку «Загрузить», и выбрать файл «название советника.set», который должен находится в той же папке, что и установленный советник. После этого параметры должны автоматически настроиться. Единственное за чем следует проследить – параметр «фиксированный лот» (FixLot), который должен быть равен 0.1 лота. Это означает, что 1 торговый пункт будет равен 1 базовой валюты депозита.
Свойства эксперта: Оптимизация
Сама по себе оптимизация означает подстройку советника под текущие особенности рынка. Вкладка «Оптимизация» в свойствах эксперта предназначена для упрощения и ускорения оптимизации советника. Здесь можно выставить различные ограничения, такие как размер минимального баланса, максимальная просадка, непрерывный выигрыш/проигрыш и так далее.
Тестирование торгового советника
После того, как Вы убедитесь в правильности всех настроек и параметров, следует начинать непосредственное тестирование советника. После нажатия кнопки «Старт» начинается тест, который может занять достаточно продолжительное время (чем больше параметров, больше период тестирования, таймфрейм, тем дольше будет производиться тест советника). О завершении тестирования оповещает звуковой сигнал и полностью загруженная зеленая полоса в нижней части панели тестера. После этого появляются новые вкладки в левом нижнем углу окна тестера: Настройки, Результаты, График, Отчет, Журнал.
Вкладка «Результаты»
В данной вкладке находится полный список всех ордеров, которые были исполнены советником за период тестирования.
Вкладка «График»
Данная вкладка открывает график кривой доходности торговли при тестировании.
Вкладка «Журнал»
В «Журнале» отображаются абсолютно все процессы, которые были во время тестирования: торговые сигналы, открытие и закрытие ордеров, ошибки и так далее. Коды ошибок при тестировании советника имеют расшифровку, с которой Вы можете ознакомиться в отдельной статье на нашем сайте.
Вкладка «Отчет»
Важнейший раздел при тестировании торгового советника, так как в данной вкладке представляется отчет о работе эксперта за тестируемый период.
Баров в истории — отображает общее количество элементов графика за тестируемый период, что отображает глубину истории котировок.
Смоделировано тиков — общее количество тиков, которые были смоделированы, что демонстрирует размер последовательности. Записи последовательности являет собой состояние элемента графика (OHCLV) на каждый момент времени. В зависимости от многих факторов в одном элементе графика может быть множество состояний. Допустим, за время формирования часовой японской свечи цена двигалась от точки максимальной (H) до минимальной точки (L), и соответственно каждое положение является смоделированным тиком.
Качество моделирования — дает общую качественную оценку построенной модели для тестирования. Шкала ниже наглядно отображает качество котировок. На примере шкала полностью зеленая, так как имеет место высокое качество моделирования. Поэтому рассмотрим отдельный пример шкалы качества моделирования из другого теста советника.
Серый цвет – котировки отсутствуют;
Красный (розовый) цвет – доступны котировки только текущего таймфрейма;
Зеленый (салатовый) – доступны котировки меньших таймфреймов. Чем меньше таймфрейм доступен, тем ярче зеленая шкала. Если доступны котировки минимального таймфрейма M1, то шкала становится ярко салатовой (как в нашем примере).
Ошибки рассогласования графиков — количество ошибок, которые возникают в случаях, когда графики разных таймфреймов не совпали. Если при тестировании была зафиксирована хоть одна такая ошибка, то следует удалить всю историю котировок и загрузить её заново. Это можно сделать, нажав в меню «Файл» терминала кнопку «Открыть каталог данных». В нем будет открыто окно с папками торгового терминала, где следует найти папку «History», далее папка с названием текущего счета. После этого следует закрыть терминал и удалить все файлы имеющие расширение «.hst». После всех этих манипуляций необходимо заново загрузить историю котировок, запустить терминал и тестирование советника.
Начальный депозит — сумма средств для тестирования.
Спред — размер спреда, используемого в тестировании.
Общая прибыль — общая сумма прибыли за время тестирования.
Общий убыток — общая сумма убытков за время тестирования.
Чистая прибыль — разница между суммой прибыли и суммой убытков при тестировании.
Прибыльность — соотношение общей прибыли к общему убытку.
Матожидание выигрыша — математическое ожидание выигрыша, иными словами, средний показатель прибыли на 1 сделку.
Абсолютная просадка — показатель разницы между первоначальным депозитом и минимальным значением баланса счета за период теста.
Максимальная просадка — показатель наибольшей разницы между локальным верхним экстремумом графика цены и последующего нижнего экстремума баланса. На рисунке ниже отображены просадки баланса депозита, где последняя является максимальной просадкой.
Относительная просадка — демонстрация отношения между наибольшей просадкой к соответствующему локальному верхнему экстремуму.
Последующие графы отчета тестирования торгового советника не требуют описания, в силу своей простоты.
Отчет о тестировании торгового советника можно сохранить в html-формате, щелкнув по нему правой кнопкой мыши и выбрав «Сохранить как отчет».
Заключение
Сегодня мы описали как тестировать торговый советник на МТ4. Данный процесс абсолютно не сложный, если однажды в нем разобраться. Благодаря тестеру торгового терминала MetaTrader 4 Вы сможете внедрять в свою торговлю всё новые и новые стратегии и программы для торговли. Скачать торговые советники под МТ4 вы сможете на нашем сайте. Заказать торговый советник для МТ4 Вы можете у опытных программистов в разделе «Автоматизация трейдинга».
Сразу скажем, что об этих нюансах знают далеко не все, так что многим информация может оказаться даже полезной. Естественно, процесс тестирования программного обеспечения называемого советников, вообще для многих непонятен. И даже не очень очевиден. Все дело в том, что люди не хотят возиться с подготовкой, а предпочитают сразу срываться с места в карьер. А ведь это недопустимо, и может привести к серьезным денежным потерям. Давайте разберемся с этим моментом.
Начать стоит с того, что советники тестируются на истории. А качественная ли история? На самом деле не у всех. Следовательно, вы можете протестировать один и тот же советник у разных брокерских компаний, и получить диаметрально противоположный результат на площадках. Хотя казалось бы, все параметры были исходными и не менялись.
Современный трейдинг уже давно предполагает использование советников на рынке Форекс. Даже удивления они сегодня не вызывают. Потому что торговые роботы появляются практически каждую неделю. Они бывают платными. А иногда и бесплатными. Естественно, начинать процесс торговли без проверки точно не стоит. Потому что в среднесрочной перспективе, использование заведомо «провального» советника может привести к реальным денежным потерям. Следовательно, начинать надо всегда с предварительного тестирования.
Давайте разберемся с тем, как тестировать роботов на примере MetaTrader 4.
Начните торговать на Форекс с лицензированным брокером
Первый этап: с чего начинаем?
Начнем с азов. Робот будет проверяться через историю торговых сессий. Следовательно, трейдеру придется заполучить архивные котировки по какой-то конкретной валютной паре. Откройте в терминале меню под названием «Сервис». Здесь есть архив котировок, откройте его. Кстати, есть и клавиша быстрого доступа, это F2. Правда открывать сервис все равно придется.
Выберите интересующий вас таймфрейм и валютную пару. Нажмите ЛКМ 2 раза по интересующим парам и графикам. После чего выбираем функцию загрузки.
Не стоит забывать о том, что финальное качество истории торговых сессий, может сильно варьироваться, в зависимости от брокера. Постарайтесь исключить тех брокеров, чьи данные разительно отличаются от других. Проверить это достаточно просто: прогоняем советника по истории 4-5 брокеров. После чего смотрим на совпадения. Если у четверых брокеров советник вел себя однотипно, а на пятом вдруг «сломался», значит проблема именно с этой площадкой.
Далее, нам нужно выбрать в тестере пару валют. Следующий пункт это вид моделирования. Далее нужно определиться с таймфреймом и спредом. Ну и конфигурация советника на заключительном этапе.
Тут есть еще 1 важный момент, это размер спреда, который устанавливается брокерской компанией. Ведь по умолчанию, в размере тестирования устанавливается текущий спред по умолчанию. Дело тут вот в чем: у вас могут получиться невиданные результаты. Это касается выходных дней в особенности.
Начните торговать на Форекс с лицензированным брокером
О типе моделирования
Тестировать будем по тикам (всем). Потом перейдем к точкам (контрольным). Заключительный этап по ценам на открытие. Далее вы проверяете разницу.
В тестере возможно моделирование по трем сценариям:
- Тики (все).
- Точки (контрольные).
- Цены открытия.
Первый сценарий один из самых доступных и точных подходов к моделированию. Но времени на это уйдет крайне много. Естественно, в случае с некоторыми советниками, вы можете тестировать и по ценам на открытие или контрольным точкам. Но для этого в системе должны быть изначально учтены условия на открытие позиции, уже с нового бара на графике.
Если же вам не удалось разобраться с советником, попробуйте поэкспериментировать. Например, провести процесс тестирования по тикам. После чего прогоните алгоритм по контрольным точкам. Ну а потом уже по ценам на открытие. Далее смотрим на разницу. Если же показатель разницы не столь серьезный, то оптимизация пройдет довольно быстро. После оптимизации нужно прогонять алгоритм по тикам.
Если же разница оказалась существенной, то грубая оптимизация идет по упрощенному методу. А вот тонкая оптимизация будет осуществляться по тикам. Естественно, если разница оказалась аномально большой, то ничего сделать не удастся. Придется заняться очень скрупулёзной оптимизацией, по всем тикам. Да, это долго, но ничего не поделать.
Еще есть отдельная категория советников, в которых таймфрейм (рабочий) уже в конфигурации. И результат вообще никак не зависит от выбранного периода. Да, такие алгоритмы тестируются довольно неплохо. Даже без утери точности результата по контрольным точкам. Да, результат будет достигнут быстрее, при этом разницы существенной особо не будет.
Не забываем провести оптимизацию быстрым способом. Наилучший вариант прогоняем по тикам, и убеждаемся что все нормально.
Начните торговать на Форекс с лицензированным брокером
О самых важных параметрах
Количественный показатель по сделкам
Обязательно обращайте внимание на этот показатель. Ведь от этого результат зависит напрямую. Чем шире выборка, тем лучше. Номинальный предел, при котором тестирование вообще имеет смысл, это 150-200 сделок. В противном случае результат получится не самый качественный, стоит об этом помнить.
Если же вы не достигли номинального предела, то расширяйте диапазон по времени. Потому что только так вы получите объективную картинку.
О просадках и прибылях
Еще трейдеру придется учесть соотношение просадки к прибыли. Для этого нам нужен будет восстановительный коэффициент. Это один из самых популярных параметров для калибровки результата после оптимизации. Восстановительный коэффициент это отношение:
- Прибыли.
- Максимальной просадки.
Высчитать его можно очень просто. Переделите прибыль на просадку столбцами (естественно в долларах США.). Проблема только с сортировкой. Результаты отсортировать через тестер попросту не получится.
Если у вас есть доступ к исходному коду алгоритма, то уместно применить простой скрипт. Его прописываем в конец исходного кода вашего советника. Вставляем следующее.
double GetRecoveryFactor( void ) {
double Res = 0;
double MaxDD = TesterStatistics(STAT_EQUITY_DD);
if (MaxDD != 0)
Res = TesterStatistics(STAT_PROFIT) / MaxDD;
return(Res);
}
double OnTester( void ) {
return(GetRecoveryFactor());
}
Далее нужно провести повторную компиляцию. Если все сделано правильно, в процессе оптимизации появляется новый столбец, под названием OnTester (результат). Это и есть восстановительный коэффициент. Нажмите на заголовок этого столбца, здесь можно будет провести сортировку по параметру.
Видео по тестированию — вам в помощь
Ошибки рассогласования
Нередко появляется и другой вид проблем. В этом случае отчет по тестированию будет содержать пустую строчку качества моделирования. Пустота строчки определяется надписью n/a. Плюс к тому, появляется ошибка рассогласования по графикам.
Что же делать в этом случае?
Источник происхождения ошибок подобного характера, как раз чаще всего связан с расхождением по котировкам. Все дело в том, что разница образуется между двумя видами котировок: теми что из архива, и другими, полученными от брокерской платформы.
С этим расхождением придется «повоевать». Удаляем историю котировок по рабочей валютной паре. Откройте раздел «Файл», после чего зайдите в каталог данных. Там найдите раздел с историей. Оттуда открываем имя торгового сервера. Сотрите все содержимое формата «Рабочая пара».hst.
После того как файлы были удалены, придется перезапустить терминал. Т.е. выключить и включить заново. Далее, возвращаем котировки тем же способом, что описан в самом начале страницы.
Если все проделано правильно, то проблем с рассогласованием больше не будет. А моделирование станет качественнее. Возможно точность моделирования начнет увеличиваться до 90 процентов.
Заключение
Ну и в конце скажем о том, что процесс тестирования прост в освоении. Даже если трейдер занимается этим впервые. Просто стоит заняться этим всерьез, и не лениться. Да, тут много тонкостей, но стоит их изучить. Прежде чем выходить с роботом на рынок.
Начните торговать на Форекс с лицензированным брокером
Читайте полезные разделы сайта для успешной торговли: | |||||
АНКЕТА |
|
Сколько по вашему реально можно зарабатывать трейдеру на Форекс?
При любом использовании материалов с данного сайта, ссылка на FOREXAREAL.RU — ОБЯЗАТЕЛЬНА!
Надеемся данная статья была интересна и полезна для Вас. Не забывайте делиться в социальных сетях и поставить отметку «звездочками» ниже. Спасибо.
Оцените статью, пожалуйста |