Рекомендации по не использованию тестера стратегий MetaTrader 4

 

Еще в MetaTrader 3 было замечено, что бесполезно использовать на реальном счете стратегию, которая дает прибыль при тестировании на тестере стратегий. В те времена единственным выходом было тестирование в реальном времени. Немного выручало использование версии советника для периода M1. В новом терминале MetaTrader 4 разработчики добавили в тестер стратегий модель "Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого)". Казалось бы: если есть полная история минуток, то для периодов M5, M15, M30, H1, H4, Daily - всегда будет формироваться одинаковый набор тиков. А вот и нет. Пишем любую тиковую стратегию и пытаемся её протестировать на разных периодах. Если стратегия имеет прыбыльность выше 1, то чем выше период, тем заоблачнее получаются результаты. Более того, если перевести стратегию, которая показывает прибыль на периоде, скажем, H1, в вариант, работающий на периоде M1, то почти всегда оказывалось, что стратегия убыточная. Перевод в форму, не зависящую от периода, в MQL4 позволяют функции группы "Доступ к таймсериям": iClose(), iHigh(), iLow(), iOpen(), iTime(). Второй параметр этих функций позволяет явно обратиться к значениям графика определенного периода.

Вывод
. Обязательно перед тестированием переводите стратегию в форму, не зависящую от периода и всегда тестируйте на периоде M1. Ещё более реальные результаты можно было получить, тестируя на тиковом графике. Но MetaQuotes всячески избегает внедрения тиковых технологий в свой терминал. Дело, видимо, не сложности, а в привлекательности и упрощенности. На это в первую очередь западают все начинающие исследователи рынков. Другий путь - применение тестеров сторонних производителей, использующий тиковую историю котировок. Только после отработки стратегии на таком тестере имеет смысл переложить код стратегии на язык MQL4.

© Херург

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

Многие начинающие ищут решение своих проблем в микроанализе, пытаясь залезть на уровень тиков и занимаясь пипсовкой. В результате их стратегии терпят катастрофу из-за отклонений в 1-2 пипса. Такое происходит сплошь и рядом. Никто не может устоять от попыток анализа шума :-)

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


Мы отлично понимаем желание каждого наступить на грабли пипсовочного микроанализа. На них на самом деле надо наступить.
 
Интерсено. Действительно ли тики на разных таймфремах по разному генерируются (при наличие минутной истории), или проблема в том, что минутная история не перекрывает весь период старших таймфреймов?


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

Многие начинающие ищут решение своих проблем в микроанализе, пытаясь залезть на уровень тиков и занимаясь пипсовкой. В результате их стратегии терпят катастрофу из-за отклонений в 1-2 пипса. Такое происходит сплошь и рядом. Никто не может устоять от попыток анализа шума :-)

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


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

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

Многие начинающие ищут решение своих проблем в микроанализе, пытаясь залезть на уровень тиков и занимаясь пипсовкой. В результате их стратегии терпят катастрофу из-за отклонений в 1-2 пипса.
Замечу, что разработанные мною на заказ стратегии показывали весьма хорошие результаты на периодах M15 - H4. Имели цели порядка 30 - 200 пипсов, трейлинг-стоп и стоп-лосс. Но потом поступали жалобы, что на реале это не работает. Эти стратегии никак нельзя было назвать пипсовочными. После перевода в форму, не зависящую от периода, и тестировании на периоде M1 было обнаружено, что стратегии убыточны. Нельзя ничего отлаживать на крупных периодах. Поток тиков тестера стратегий сильно различается от периода к периоду и совсем не соответствует природе реального рынка. Теханализ в таких условиях бесполезен. Только максимально приближенный к реальному поток котировок может дать объективное тестирование. И речь вовсе не от ловле 1-2 пипсов.

© Херург
 
Integer писал (а):
Интерсено. Действительно ли тики на разных таймфремах по разному генерируются (при наличие минутной истории)...?
Пишем любую тиковую стратегию и пытаемся её протестировать на разных периодах. При этом выбирает модель "Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого)". Лично я убедился, что даже при наличии полной истории минуток результаты очень разные. См. здесь и здесь. Период H1 показывает заоблачные результаты. Период M1 более реальные и скромные. Технология исключительно тиковая и не зависит от периода.

© Херург 
 
Renat писал (а):
Вы забыли более концептуальное эмпирическое (для тех, кто реально потратил много лет на тестирование) правило: переход на самые мелкие таймфреймы приводят к неминуемым провалам.

Многие начинающие ищут решение своих проблем в микроанализе, пытаясь залезть на уровень тиков и занимаясь пипсовкой. В результате их стратегии терпят катастрофу из-за отклонений в 1-2 пипса. Такое происходит сплошь и рядом. Никто не может устоять от попыток анализа шума :-)

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


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

Да все очень просто, на самом деле... Модель должна быть как можно ближе к реальности... а ещё лучше, если это будет сама история реальности... и не надо нас пугать шумами... :) Вопрос был задан не однократно - зачем моделировать то, что и так известно?..:)
 
mandor:
Integer:
Интерсено. Действительно ли тики на разных таймфремах по разному генерируются (при наличие минутной истории)...?
Пишем любую тиковую стратегию и пытаемся её протестировать на разных периодах. При этом выбирает модель "Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого)". Лично я убедился, что даже при наличии полной истории минуток результаты очень разные. См. здесь и здесь. Период H1 показывает заоблачные результаты. Период M1 более реальные и скромные. Технология исключительно тиковая и не зависит от периода.

© Херург

Если я Вас правильно понял, что не видите разницы между разными периодами? То есть, стратегия, написанная для H1, должна нормально/также хорошо работать и на M1?

Если Вы на самом деле будете утверждать это (тестирование стратегии на разных таймфреймах должно быть одинаковым), то я выражаю искренние соболезнования Вашим заказчикам. Это совершенно дикое непонимание ситуации или попытка играть словами в режиме "если что не так сказал, то вы меня просто не так поняли".
 
Renat писал (а):
Если я Вас правильно понял, что не видите разницы между разными периодами? То есть, стратегия, написанная для H1, должна нормально/также хорошо работать и на M1?

Если Вы на самом деле будете утверждать это (тестирование стратегии на разных таймфреймах должно быть одинаковым), то я выражаю искренние соболезнования Вашим заказчикам. Это совершенно дикое непонимание ситуации или попытка играть словами в режиме "если что не так сказал, то вы меня просто не так поняли".
Я имел ввиду только то, что тестер стратегий выдает разный набор тиков на разных периодах при использовании модели "Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого)" и при наличии полной истории минуток для тестируемого интервала. Я не исследовал насколько разный этот набор. Видимо существенно разный, если прибыльные стратегии для H1 становятся убыточными на M1, при том, что по прежднему используются данные графика H1 с помощью функций группы "Доступ к таймсериям": iClose(NULL,PERIOD_H1,...), iHigh(NULL,PERIOD_H1,...), iLow(NULL,PERIOD_H1,...), iOpen(NULL,PERIOD_H1,...), iTime(NULL, PERIOD_H1,...). Ну как еще побробнее объяснить этот момент предводителю дворянства (MQ)?

Никаких статегий специально для M1 я в качестве заказов не получал и не писал. Речь идет только о способах тестирования. Тестер на H1 выдает совершенно далекий от рыночного набор тиков.

© Херург
 
Registr:

Да все очень просто, на самом деле... Модель должна быть как можно ближе к реальности... а ещё лучше, если это будет сама история реальности... и не надо нас пугать шумами... :) Вопрос был задан не однократно - зачем моделировать то, что и так известно?..:)

Удачи на граблях :) Тестирование на основе минуток работает практически идеально. Ну не понимаете Вы еще - вот и пытаетесь сделать/сказать то, что подсказывает банальная логика любого начинающего трейдера и о чем я предупреждаю:

Многие начинающие ищут решение своих проблем в микроанализе, пытаясь залезть на уровень тиков и занимаясь пипсовкой. В результате их стратегии терпят катастрофу из-за отклонений в 1-2 пипса. Такое происходит сплошь и рядом. Никто не может устоять от попыток анализа шума :-)

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


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

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


Кстати, разбор предварительных тестов при принятии экспертов на Automated Trading Championship 2006 показал, что процентов 60% присланных экспертов даже не в состоянии соблюсти простые правила. А что внутри их кода кроется - это полная засада.

Практически _все_пишущиеся_ эксперты (речь не только про Чемпионат) не содержат блока "загрубления/толстокожести" и поэтому дергаются от любого шороха. То есть, программисты просто даже не думают о том, что надо специально загрублять своих экспертов. Им гораздо проще думать о "неправильных тиках" вместо понимания сути "тики всегда неправильные, а я должен зарабатывать при стандартном шуме в 2-3 пипса".

 
mandor:
Renat:
Если я Вас правильно понял, что не видите разницы между разными периодами? То есть, стратегия, написанная для H1, должна нормально/также хорошо работать и на M1?

Если Вы на самом деле будете утверждать это (тестирование стратегии на разных таймфреймах должно быть одинаковым), то я выражаю искренние соболезнования Вашим заказчикам. Это совершенно дикое непонимание ситуации или попытка играть словами в режиме "если что не так сказал, то вы меня просто не так поняли".
Я имел ввиду только то, что тестер стратегий выдает разный набор тиков на разных периодах при использовании модели "Все тики (на основе всех наименьших доступных периодов с фрактальной интерполяцией каждого)" и при наличии полной истории минуток для тестируемого интервала. Я не исследовал насколько разный этот набор. Видимо существенно разный, если прибыльные стратегии для H1 становятся убыточными на M1, при том, что по прежднему используются данные графика H1 с помощью функций группы "Доступ к таймсериям": iClose(NULL,PERIOD_H1,...), iHigh(NULL,PERIOD_H1,...), iLow(NULL,PERIOD_H1,...), iOpen(NULL,PERIOD_H1,...), iTime(NULL, PERIOD_H1,...). Ну как еще побробнее объяснить предводителю дворянства (MQ)?

© Херург

А Вы проведите исследование и опубликуйте расхождения результатов - это будет всем интересно. И в первую очередь - нам. Если оформите в виде статьи для раздела Статей, то мы за это заплатим (на текущий момент мы заплатили 1720 долларов за ряд статей).
Причина обращения: