Как сделать качество моделирования 99
Как получить Качество Моделирования 99% в Тестере Стратегий Metatrader 4
Здравствуйте, дамы и господа форекс трейдеры!
Любой, кто хоть раз делал бэктест советников в МТ4, замечал, что качество моделирования не поднимается выше 90%. Причина в том, что по умолчанию терминал использует минутные бары, вместо тиковых данных. И если советник скальпирует (тейк профит 3-15 пунктов) или использует небольшой трейлинг стоп, разница в качестве моделирования может очень сильно изменить результат теста. В сегодняшнем материале мы узнаем как получить Качество Моделирования 99% в тестере стратегий MetaTrader 4.
Бэктест одного и того же эксперта с одинаковыми настройками за год
1. Качество Моделирования 90%:
2. Качество Моделирования 99%:
Разница в 2000 пунктов очевидна.
Для получения подобного результата вы можете использовать 3 способа:
Методы разные, конечная цель та же.
Установка и настройка Tick Data Suite
Здесь скачиваем последнюю версию программы и устанавливаем на компьютер. Бесплатный пробный период составляет 2 недели, чего вполне достаточно для тестирования возможностей программы. В процессе установки не нужно указывать каталог конкретного терминала, программа находит установленные на компьютере терминалы автоматически.
После запуска Tick Data Manager вы увидите примерно такое окно. В самом верху расположена кнопка выбора источника котировок – Dukascopy или TrueFX (в будущих релизах список будет пополняться). Dukascopy предоставляет качественную тиковую историю с 2003 года по сегодняшний день и, к слову, является поставщиком ликвидности для ECN-счетов Alpari. У TrueFX история только с 2009 года.
Рабочая область поделена на три части:
Все, что вам нужно, чтобы загрузить данные по символу, это кликнуть на крайнюю кнопку в правой части строки. Параметры закачки вы можете отрегулировать, нажав на кнопку с тремя точками.
В основных настройках программы вы можете указать дополнительные параметры предварительной подготовки данных.
Тестирование на истории
Программа встраивается прямо в интерфейс тестера стратегий, так что управлять ее работой крайне просто. Для активации тиковой истории укажите режим тестирования по тикам и поставьте галочку напротив “Use tick data” (Использовать тиковые данные). Если тиковая история закачана, можно начинать тестирование!
По кнопке “Tick data settings” (Настройки тиковых данных) открывается окно расширенных настроек теста. Здесь вы можете корректировать часовой пояс котировок и способ перевода на летнее время (1), новые файлы истории будут сгенерированы из уже имеющихся тиковых данных. Чуть ниже находятся галочки, отвечающие за включение плавающего спреда (“Use variable spread” – Использовать плавающий спред) и включение случайного проскальзывания (“Enable slippage” – Включить проскальзывание). Кнопка “Defaults” (Значения по-умолчанию) позволяет перенять параметры текущего аккаунта (2).
Здесь вы можете указать параметры максимального и минимального плавающего спреда.
Динамическое проскальзывание можно включить/отключить для отдельных типов ордеров, таких как лимит/стоп ордера, тейк профиты и стоп лоссы. Также, можно указать как фиксированное проскальзывание, так и динамическое, с указанием вероятностного перевеса.
На вкладке “Advanced” можно переопределить базовые настройки счета, вроде кредитного плеча, размера и шага лота, а также размера комиссии, взимаемой со сделок.
На вкладке “Expert” находятся настройки непосредственно касающиеся торговли и открытия сделок. Чтобы переопределить какой-либо из параметров – просто установите галочку и введите нужное значение в соседнее поле.
Настройки способа учета маржи. В большинстве случаев здесь ничего менять не требуется.
Базовые настройки программы. Первая галочка включает использование FXT-файлов для ускорения процесса оптимизации. В целом, можно оставить настройки по умолчанию.
После запуска тестер генерирует HST файлы, если параметры теста были изменены после предыдущего прохода. После генерации начинается непосредственно тестирование советника. В целом, процесс аналогичен тому, как тестер закачивает недостающую историю.
Качество моделирования 99%.
P.S. Хочу заметить, что даже 99% бэктест может выдавать не тот результат, который был в реальности, поэтому полагаться целиком и полностью на тестер стратегий не стоит. Ничто не заменит теста в реальном времени на реальном счету.
Tickstory Lite: тестирование с точностью 99%.
Рис. 1. Ссылка на скачивание программы Tickstory Lite на официальном сайте.
Работа с программой Tickstory Lite.
Рис. 3. Окно с настройками программы Tickstory Lite.
В первой вкладке задается путь к папке расположения данных, то есть папки, где будут храниться скачанные данные.
Во вкладке Настройки MT4 необходимо задать папку терминала, в которую программа Tickstory Lite будет сохранять сконвертированные файлы для тестирования:
Скачивание тиковых данных.
Либо кликом правой кнопки мыши по выделенному инструменту вызывается контекстное меню, из которого выбирается задача Скачать :
Рис. 6. Скачивание данных через контекстное меню.
Независимо от того, какой способ был выбран, будет открыто окошко, в котором задается период, за который необходимо скачать котировки:
Рис. 7. Выбор периода котировок для скачивания.
Клик по кнопке ОК и скачивание начнется:
Рис. 8. Отображение процесса скачивания котировок.
Рис. 9. Завершение процесса скачивания котировок.
Экспорт тиковых данных в MT4.
Рис. 10. Меню для экспорта котировок в МетаТрейдер 4.
Появится окно, где будут задаваться необходимые параметры экспорта.
Во вкладке Экспорт данных доступны для установки следующие параметры:
Рис. 12. Вкладка с информацией о МетаТрейдер.
Стоит заметить, что в процессе русификации перевод этой вкладки был значительно искажен, поэтому разберём её подробно. В строке Описание указывается название виртуального движка программы для генерирования. Смысл программы в том, чтобы модифицировать данные, полученные с DukasCopy, и использовать их в дальнейшем для тестирования с учётом брокера:
Справа задаются настройки для маржи:
Ниже следует блок с параметрами торгового инструмента:
Рис. 14. Советник TickstoryInfoExpert в окне Навигатор торгового терминала.
Чтобы подгрузить полученный файл в нашу программу для тестирования в разделе Информация о MetaTrader необходимо нажать на кнопку Загрузить (смотрите рисунок 12) и выбрать файл. Эти действия позволяют нам получить информацию непосредственно с торговой платформы, на которой ведётся торговля. Следует учитывать, что в файле будет содержаться информация, актуальная на момент запуска советника.
После заполнения всех данных по инструменту, можно осуществлять экспорт в торговый терминал.
Дополнительные возможности программы Tickstory Lite.
Помимо описанных возможностей программа Tickstory Lite обладает и рядом других полезных возможностей:
Заключение.
Программа Tickstory Lite является отличным инструментом трейдера, использующего в своей торговле автоматические торговые системы (АТС). Tickstory Lite повышает качество тестирования советников до 99%, а, следовательно, и эффективность их использования в реальной торговле в последующем. При этом программа интуитивно понятна и проста в использовании. Ну а с помощью этого обзора Вы всегда сможете более детально ознакомиться с настройкой и работой программы Tickstory Lite и повысить качество моделирования до 99% при тестировании Ваших советников!
P. S. Программа Tickstory Lite стала полностью платной, и поэтому получить качество тестирования советников в 99% с этой программой бесплатно уже не получиться. Но есть способ, как это сделать бесплатно! Об этом читайте в новой статье «Бесплатный способ тестирования советников с качеством 99% в терминале МТ4».
Вот мой развернутый ответ.
Котировки… Эээх… Ну давайте о наболевшем. Все мы знаем, что в МТ4 очень большие проблемы с оптимизацией роботов. Я и мои товарищи провели целую «эпопею» связанную с тем, можно ли доверять оптимизированным данным МТ4 или нет. В этом посте я попытаюсь рассказать что мешало нам в процессе работы и как мы решали эти проблемы. Данный текст не претендует на последнею инстанцию — это всего лишь мое мнение сформированное в длительном рабочем процессе.
Нашли «приблуду» которая проверяет котировки на целостность «History Data Analysis»
Получается, что у Вас образуется лишний день в неделе. Вроде бы ничего, говорят некоторые… В нете не нашли, что бы кому то это не понравилось — все на это подзабили. Но для систем использующих дневой АТР — это убийственно, потому, что на дневках образуются дневные свечки состоящие всего из одного часа и значит они серьезно искажают средние показатели ATR — попросту врут. Мы этот вопрос решили, сложными манипуляциями, но все же решили.
Скачали самые точные котировки для МТ4 и исправили часовое смещение.
Но на этом решили не останавливаться. В интернете есть КУЧА статей про 99% моделирование и мол оно самое точное. Давайте разберемся для чего оно. Есть программа Tickstory Lite с помощью нее ребята делают 99% моделирования. Суть состоит в том, что они скачивают данные состоящие не только из минутных данных (Цена открытия, Закрытия, Максимум, Минимум и Объем), но и включающие тиковые изменения цен. Такие данные нужны для теста внутридневных систем использующие ну ооооочень короткие стопы. Если Вы используете стопы «нормальные» не меньше 10% от АТР — Вам такие данные не к чему.
Мне кажется «идеальных» котировок не найти, но можно просто сделать максимально пригодный материал для тестирования своих роботов. Мы проделали трудную работу по созданию правильных котировок, но я все же выложу скажем USD/JPY, так что можетескачать котировки тут.
Что касается МТ5, то я не использую его по одной простой причине — в МТ5 не возможно сделать OFF-LINE тестирование.
Вопрос по принципу работы тестера (качество моделирования)
Хотелось бы для себя выяснить следующую особенность работы тестера, которая давно меня интересует.
Беру к примеру советник, использующий для своей работы информацию по M5 таймфрейму.
Ставлю его в тестере на тестирование при следующих параметрах: Период M5, Все тики, ставим период с 15.11.2005 по настоящее время, ставлю галку Пересчитать. Получаем прибыль 848 USD, сделок 30, качество моделирования 89,99%. Баров в истории 16670, тиков 181503.
Далее в настройках тестера меняю ТОЛЬКО Период тестирования на M1. Получаем прибыль 737 USD, сделок 29, качество моделирования 5,29%. Баров в истории 454741, тиков 687072.
Заранее сообщаю, что имеющиеся котировки периода M1 начинаются от 04.10.2004. Котировки M5 начинаются от 14.11.2005. При анализе результатов тестирования видно, что имеются некоторые отличия в проведённых сделках.
В связи с этим имеются следующие вопросы:
1. Какому из вариантов тестирования всё-таки следует доверять больше? На М1 с указанным в результатах качеством моделирования 5,29%, или на М5, с указанным качеством моделирования 89,99%?
2. Исходя из простой логики тестирование на М1 наверняка должно нести больше достоверной информации нежели моделирование на в 5 раз более крупном таймфрейме М5? Всвязи с этим почему указанное качество моделирования на М1 (5,29%) столь низко по сравнению с качеством моделирования на М5 (89,99%), хотя логично было бы поменять эти цифры местами? Я прекрасно понимаю, что данные цифры получены не с потолка, а согласно формуле из статьи «MQL4: Что означают цифры в отчёте тестирования эксперта» Тогда может быть имеет смысл переименовать данный параметр «качество моделирования» в какое-нибудь «качество учёта меньших таймфреймов», или сделать какое-нибудь специальное разъяснение в хелпе или в указанной выше статье, что данный параметр не должен приниматься во внимание при тестировании на периоде М1, поскольку М1 по определению является самым точным таймфреймом для тестирования? Либо можно поступить гораздо проще. При выборе в тестере периода тестирования М1 (Все тики) в результатах тестирования автоматически устанавливать качество моделирования равным 100% ну или чуть меньше (это уже Вы как разработчики должны сами определить). Введение данной особенности сразу же снимет повторяющиеся вопросы начинающих по поводу того какому тестированию стоит больше доверять.
3. Если второй мой вопрос неуместен в приниципе, то, пожалуйста, объясните как тогда происходит тестирование советника, использующего информацию из PERIOD_M5 на периоде М1? Я так себе представляю, что тестер берёт котировки периода М1 и из них уже рассчитывает котировки периода М5 или я ошибаюсь? Или же тестер упорно пытается сначала найти уже готовые котировки М5 из самого терминала? Если это так, то почему в таком случае возникает разница в результатах тестирования? Почему получается разная прибыль 848USD и 737USD на разных периодах тестирования?
А я её и не снимал. В настройках менял только период тестирования. Или для чистоты эксперимента нужно было её снять, а потом опять поставить?
После проверки я обязательно стеру эксперт.
Тоже заметил, что качество вычисляется не верно. Тестирую на Н1 по всем тикам. История около 3 лет. Но качества, как оказалось сильно зависит от периода на котором происходит тест. Если тестить на промежутке в 1 месяц, то качество около 1.9, если на промежутке в 1 год, то около 20.
Я так понимаю, что проблема с разными цифрами при расчёте качества моделирования на разных промежутках времени тестирования кроется либо в самой формуле, либо в реализации формулы расчёта в самом тестере, либо в некорректности самого названия “качество моделирования”:
Рассмотрим несколько примеров тестирования на тестере.
1. Возьмём стандартный эксперт MACD Sample из поставки терминала с установками по умолчанию. Возьмём историю котировок EURUSD периода М1 длиною в 455863 баров (с 04.10.2004 по настоящий момент времени). Выставим период тестирования М1 (Все тики, галка пересчитать установлена) и время тестирования, ограниченное 01.01.2006-10.02.2006. В результате получаем качество моделирования 2.96%. Чистая прибыль –5.7, прибыльность 0.59, матожидание выигрыша –0.57, всего сделок 10.
2. Далее снимает ТОЛЬКО галку с ограничения времени тестирования, то есть тестируем советник по ВСЕЙ доступной истории. Получаем качество моделирования 25%. Чистая прибыль –65.4, прибыльность 0.56, матожидание выигрыша –0.59, всего сделок 110.
3. Повторяем пункт 1 при установке периода на М5. Получаем качество моделирования 41,67%. Чистая прибыль –8.6, прибыльность 0.72, матожидание выигрыша –0.43, всего сделок 20.
4. Повторяем пункт 2 при установке периода на М5. (Котировки периода М5 имеются ТОЛЬКО за период с 14.11.2005 по настоящее время.) То есть сделки проводятся в отличие от пункта 1 только за время с 14.11.2005 по настоящее время! Таким образом смотрим только интересующий нас параметр “качество моделирования”, которое оказывается равным 89,99%.
Теперь можно опять повторить абсолютно те же самые вопросы из моего первого поста.
1. Какому из вариантов тестирования следует доверять больше? Исходя из параметра “качество моделирования” то расчёту по 4му пункту (89,99%). Хотя логика говорит о том, что более надёжными результатами следует считать из 2пункта хоть качество моделирования и равно 25%.
2. Вопрос о применимости данной формулы расчёта качества моделирования для разных частных случаев, например при указанных в пунктах 1 и 2 расчёта (Автоматическое фиксированное выставление значений параметров в результатах тестирования в особых частных случаях)
3. Почему отличаются численные результаты моделирования (прибыль, количество сделок и т.д.) по пунктам 1 и 3? И чему верить, а чему нет? Сравните 10 сделок против 20 ЗА ТОТ ЖЕ САМЫЙ ПРОМЕЖУТОК ВРЕМЕНИ.
Renat, скриншоты и котировки М1 и М5 я Вам вышлю на мыло. Я пришлю скриншоты по описанным в этом посте тестам. Дело совершенно не в каких-то особенностях моего эксперта, а в принципах работы самого тестера.
Хотелось бы для себя выяснить следующую особенность работы тестера, которая давно меня интересует.
Беру к примеру советник, использующий для своей работы информацию по M5 таймфрейму.
Ставлю его в тестере на тестирование при следующих параметрах: Период M5, Все тики, ставим период с 15.11.2005 по настоящее время, ставлю галку Пересчитать. Получаем прибыль 848 USD, сделок 30, качество моделирования 89,99%. Баров в истории 16670, тиков 181503.
Далее в настройках тестера меняю ТОЛЬКО Период тестирования на M1. Получаем прибыль 737 USD, сделок 29, качество моделирования 5,29%. Баров в истории 454741, тиков 687072.
Заранее сообщаю, что имеющиеся котировки периода M1 начинаются от 04.10.2004. Котировки M5 начинаются от 14.11.2005. При анализе результатов тестирования видно, что имеются некоторые отличия в проведённых сделках.
В связи с этим имеются следующие вопросы:
1. Какому из вариантов тестирования всё-таки следует доверять больше? На М1 с указанным в результатах качеством моделирования 5,29%, или на М5, с указанным качеством моделирования 89,99%?
2. Исходя из простой логики тестирование на М1 наверняка должно нести больше достоверной информации нежели моделирование на в 5 раз более крупном таймфрейме М5? Всвязи с этим почему указанное качество моделирования на М1 (5,29%) столь низко по сравнению с качеством моделирования на М5 (89,99%), хотя логично было бы поменять эти цифры местами? Я прекрасно понимаю, что данные цифры получены не с потолка, а согласно формуле из статьи «MQL4: Что означают цифры в отчёте тестирования эксперта» Тогда может быть имеет смысл переименовать данный параметр «качество моделирования» в какое-нибудь «качество учёта меньших таймфреймов», или сделать какое-нибудь специальное разъяснение в хелпе или в указанной выше статье, что данный параметр не должен приниматься во внимание при тестировании на периоде М1, поскольку М1 по определению является самым точным таймфреймом для тестирования? Либо можно поступить гораздо проще. При выборе в тестере периода тестирования М1 (Все тики) в результатах тестирования автоматически устанавливать качество моделирования равным 100% ну или чуть меньше (это уже Вы как разработчики должны сами определить). Введение данной особенности сразу же снимет повторяющиеся вопросы начинающих по поводу того какому тестированию стоит больше доверять.
3. Если второй мой вопрос неуместен в приниципе, то, пожалуйста, объясните как тогда происходит тестирование советника, использующего информацию из PERIOD_M5 на периоде М1? Я так себе представляю, что тестер берёт котировки периода М1 и из них уже рассчитывает котировки периода М5 или я ошибаюсь? Или же тестер упорно пытается сначала найти уже готовые котировки М5 из самого терминала? Если это так, то почему в таком случае возникает разница в результатах тестирования? Почему получается разная прибыль 848USD и 737USD на разных периодах тестирования?