Бэктестинг/оптимизация - страница 17

 
Craig:
Я всегда находил, что системы, которые нужно оптимизировать, чтобы быть прибыльными, никогда не работают очень хорошо на невидимых данных. Системы, которые хорошо работают на невидимых данных, похоже, нуждаются в очень небольшой оптимизации. Добавление еще одной степени свободы в ответ на неудачную систему кажется подозрительным, исходя из этого опыта, но я могу ошибаться! В качестве примера чрезмерной оптимизации можно привести выступление Firebird на соревновании по торговле на языке MQL. Система начала хорошо, но через пару недель вышла из строя (но все равно заняла третье место!).

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

 

Раньше я думал, что это не так, но это так.

Очевидно, что любая система, основанная на ТА, имеет некоторую степень оптимизации, я полагаю, проблема в том, насколько сильно вы должны подстраиваться? Я думаю, что пост WNW подводит итог: система должна демонстрировать прибыль, прежде чем настраивать ее.

 

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

 
 

Загрузка тиковых данных для точного бэктестинга

Я хотел узнать, есть ли какой-нибудь сайт, который кто-то поддерживает и собирает тиковые данные для Metatrader 4.

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

Коллектор тиковых данных находится ЗДЕСЬ:

https://www.mql5.com/en/code/8659

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

 

Загрузка тиковых данных для точного бэктестинга

Я хотел узнать, есть ли какой-нибудь сайт, который кто-то поддерживает и собирает тиковые данные для Metatrader 4.

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

Коллектор тиковых данных находится ЗДЕСЬ:

https://www.mql5.com/en/code/8659

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

 

Я знаю одно место, которое нашел только вчера. Но вот ограничения:

-10-секундные бары - это наименьшее приращение (не тик, но достаточно близко)

-Достигается только около 2004 года по большинству пар.

-Вы можете загрузить не более 10 000 баров за одну загрузку. Вы можете загрузить все данные, которые хотите, но их придется разбить на 10 000 баров.

Положительные стороны:

-Это бесплатно.

-И это бесплатно.

OK: вам придется загрузить его в формате csv (Excel, ect...) Чтобы использовать его в metatrader, вам придется убрать заголовки и сохранить его в формате csv, а не xls. Затем вы можете экспортировать его в Metatrader, используя окно истории.

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

Другая проблема - праздники. Я заметил, что на Рождество и Новый год бары действительно отображаются, хотя на самом деле в эти дни ничего не происходит. Почему? В любом случае, вот несколько решений для очистки:

Для ошибочных хай и лоу я думал очистить их на 10-секундных данных. Просто удалите значения hi и low и замените их значениями open и close. Сделайте это со ВСЕМИ барами, если только кто-нибудь не разработает программу, которая сможет найти эти ошибки и исправить их автоматически. В любом случае с тиковыми данными замена hi и lo не должна сильно испортить данные, если они будут использоваться для M1 или выше. Даже при тиковой торговле hi и lo не слишком сильно отличаются от open и close.

Для праздничных тиков я предлагаю заменить их одной ценой: ценой закрытия звонка на закрытие. Таким образом, мы получим более реалистичный рынок. Интересно, если мы проведем бэктест, пропустив эти главные праздники, получим ли мы более точные результаты?

Кстати, вышеуказанные проблемы я обнаружил во всех данных от Metatrader до Alpari по ссылке ниже. Есть способы очистить их, но это потребует некоторой работы.

Вот ссылка:

http://www.forexrate.co.uk/forexhistoricaldata.php

Также, Oanda дает вам бесплатный тик за тиком, если у вас есть баланс счета $1000.00 или вы являетесь академиком. Но это только на 2 года. Вам придется заплатить, если вы хотите использовать более двух лет. Данные о тиках, которые они используют, поступают из их собственных данных, так что они довольно надежны.

Holyguy Я надеюсь, что это поможет и давайте сотрудничать в этом проекте...

 

Я знаю одно место, которое нашел только вчера. Но вот ограничения:

-10-секундные бары - наименьшее приращение (не тик, но достаточно близко)

-Достигается только около 2004 года по большинству пар.

-Вы можете загрузить не более 10 000 баров за одну загрузку. Вы можете загрузить все данные, которые хотите, но их придется разбить на 10 000 баров.

Положительные стороны:

-Это бесплатно.

-И это бесплатно.

OK: вам придется загрузить его в формате csv (Excel, ect...) Чтобы использовать его в metatrader, вам придется убрать заголовки и сохранить его в формате csv, а не xls. Затем вы можете экспортировать его в Metatrader, используя окно истории.

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

Другая проблема - праздники. Я заметил, что на Рождество и Новый год бары действительно отображаются, хотя на самом деле в эти дни ничего не происходит. Почему? В любом случае, вот несколько решений для очистки:

Для ошибочных хай и лоу я думал очистить их на 10-секундных данных. Просто удалите значения hi и low и замените их значениями open и close. Сделайте это со ВСЕМИ барами, если только кто-нибудь не разработает программу, которая сможет найти эти ошибки и исправить их автоматически. В любом случае с тиковыми данными замена hi и lo не должна сильно испортить данные, если они будут использоваться для M1 или выше. Даже при тиковой торговле hi и lo не слишком сильно отличаются от open и close.

Для праздничных тиков я предлагаю заменить их одной ценой: ценой закрытия звонка на закрытие. Таким образом, мы получим более реалистичный рынок. Интересно, если мы проведем бэктест, пропустив эти главные праздники, получим ли мы более точные результаты?

Кстати, вышеуказанные проблемы я обнаружил во всех данных от Metatrader до Alpari по ссылке ниже. Есть способы очистить их, но это потребует некоторой работы.

Вот ссылка:

http://www.forexrate.co.uk/forexhistoricaldata.php

Также, Oanda дает вам бесплатный тик за тиком, если у вас есть $1000.00 на счету или вы в академиках. Но это только на 2 года. Вам придется заплатить, если вы хотите использовать более двух лет. Данные о тиках, которые они используют, поступают из их собственных данных, так что они довольно надежны.

Holyguy Я надеюсь, что это поможет и давайте сотрудничать в этом проекте...

 

Собирайте собственные данные

Этот индикатор помог мне изучить diffTime, который показывает, сколько времени потребуется для получения следующего qoute. diffTime, который, как я полагаю, различается у разных поставщиков данных.

input title означает имя файла вашего набора данных, buffer - размер каждого файла.

Файлы:
realdata.ex4  3 kb
 

Собирайте собственные данные

Этот индикатор помог мне изучить diffTime, который показывает, сколько времени потребуется для получения следующего qoute. diffTime, который, как я полагаю, различается у разных поставщиков данных.

input title означает имя файла вашего набора данных, buffer - размер каждого файла.

Файлы:
realdata.ex4  3 kb