Тестирование на тиковой истории - нужен совет специалиста

 

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

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

Я понимаю, что заказчик что-то делает не так, и очевидно, что при работе на его истории не верно рассчитываютя значения индикаторов (таких как ATR, MA) в коде советника. У меня складывается картина, что советник перестает различать таймфреймы и цены закрытия-открытия. 

Итого у меня к Вам вопросы:

1.Что по вашему мнению человек делает не верно?

2.Возможно ли, что при загрузке тиковой истории стирается стандартная история по таймфремам M5, M15....и советник перестает видеть информацию по ценам закрытия-открытия свечей? Если да, то как этого избежать?

3. Я понимаю, что это тестирование некорректно, но почему такие результаты, почему все сделки прибыльные? (Цены закрытия/открытия сделок похожи на реальные цены -я проверяла)

Заранее благодарна за ответы.

 
Elena Baranova:

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

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

Я понимаю, что заказчик что-то делает не так, и очевидно, что при работе на его истории не верно рассчитываютя значения индикаторов (таких как ATR, MA) в коде советника. У меня складывается картина, что советник перестает различать таймфреймы и цены закрытия-открытия. 

Итого у меня к Вам вопросы:

1.Что по вашему мнению человек делает не верно?

2.Возможно ли, что при загрузке тиковой истории стирается стандартная история по таймфремам M5, M15....и советник перестает видеть информацию по ценам закрытия-открытия свечей? Если да, то как этого избежать?

3. Я понимаю, что это тестирование некорректно, но почему такие результаты, почему все сделки прибыльные? (Цены закрытия/открытия сделок похожи на реальные цены -я проверяла)

Заранее благодарна за ответы.

Добрый день ! Это происходит из-за различия тиковых котировок и качества моделирования. Чтобы убедиться в этом Вы можете сравнить количество смоделированных тиков за одинаковый период времени.

Для получения лучших на сегодняшний день котировок с плавающим спредом и даже проскальзываниями для терминала МТ4 Вы можете использовать бесплатную на 2 недели программу TickDataSuite (это не реклама).

В этом случае Вы очень точно сможете проверить поведение Вашей системы на плавающих спредах (например фильтр спреда).

Также поведение во время проскальзываний (например изменение алгоритма системы при появлении проскальзываний).


Если Вы говорите о тестировании для МТ5, в этом случае у Вас различается тип тестирования и брокер, самым точным является тип "Котировки основанные на реальных данных".

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

Tick Data Suite
Tick Data Suite
  • eareview.net
Everything you need to make your Metatrader 4 backtests accurate, get 99% modeling quality and to immediately spot which expert advisor is worth your time. From download to backtest, everything has been streamlined in an easy-to-use format. Updated often and offering premium-level support, the Tick Data Suite also has an associated recurring...
 
Albert Samikov:

Добрый день ! Это происходит из-за различия тиковых котировок и качества моделирования. Чтобы убедиться в этом Вы можете сравнить количество смоделированных тиков за одинаковый период времени.

Для получения лучших на сегодняшний день котировок с плавающим спредом и даже проскальзываниями для терминала МТ4 Вы можете использовать бесплатную на 2 недели программу TickDataSuite (это не реклама).

В этом случае Вы очень точно сможете проверить поведение Вашей системы на плавающих спредах (например фильтр спреда).

Также поведение во время проскальзываний (например изменение алгоритма системы при появлении проскальзываний).

Спасобо за ответ.

Понятно, что разница в тиковых котировках будет.

Но Вопрос был почему советник работает не верно на внешних тиковых котировках и такое впечатление, что он не видит цену закрытия/открытия свечей? ATR, например, всегда получается равным 0. Возможно нужно как-то конвертировать потом эту тиковую историю в историю на барах  M5, M15? 

 
И я упоминала, что тестирование идет в тестере MT4!
 

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

Мне просто нужно объяснить заказчику, что он делает не так.

 
Elena Baranova:

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

Мне просто нужно объяснить заказчику, что он делает не так.

Здравствуйте. 

Объясните заказчику, чтобы тестировал на демо и убедился, что его стратегия - полная туфта. 

 
Elena Baranova:

2.Возможно ли, что при загрузке тиковой истории стирается стандартная история по таймфремам M5, M15....и советник перестает видеть информацию по ценам закрытия-открытия свечей? Если да, то как этого избежать?

нужно знать чем Ваш заказчик закачивает тиковую историю, в КБ есть готовые коды, есть программы конвертеры, вроде от Дукаса? - не помню уже

но по факту: в МТ4 нет штатной возможности загрузить тики и на их основе сгенерировать ТФ, МТ4 только умеет импортировать бары через F2 

ну и про тестер МТ4 - опять же поиском по форуму - нужно файлы .fxt подменять на тиковые, эти файлы тестер генерирует для теста

Elena Baranova:

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

Мне просто нужно объяснить заказчику, что он делает не так.

к сожалению не получится, они коллективным разумом черпают информацию из трейдерских форумов, у них есть время на чтение и эксперименты на "своей спине", а у Вас нет времени этим заниматься ))))

имхо, только согласование ТЗ в рамках штатных возможностей МТ4, иначе Вы на неопределенный срок уйдете с головой в изучение трейдерских форумов 


PS: попробуйте на этом форуме ознакомиться с возможностью создания тиковой истории в МТ4 https://www.mql5.com/ru/search#!keyword=fxt

 
Evgeniy Zhdan:

Здравствуйте. 

Объясните заказчику, чтобы тестировал на демо и убедился, что его стратегия - полная туфта. 

Есть такое желание, но не хочется терять постоянного Заказчика )

Да и мне самой интересно, почему код работает так странно на его истории. Говорит, у  Dukascopy скачал.

 
Igor Makanu:

нужно знать чем Ваш заказчик закачивает тиковую историю, в КБ есть готовые коды, есть конвертеры, вроде от Дукаса? - не помню уже

но по факту: в МТ4 нет штатной возможности загрузить тики и на их основе сгенерировать ТФ, МТ4 только умеет импортировать бары через F2 

ну и про тестер МТ4 - опять же поиском по форуму - нужно файлы .fxt подменять на тиковые, эти файлы тестер генерирует для теста

к сожалению не получится, они коллективным разумом черпают информацию из трейдерских форумов, у них есть время на чтение и эксперименты на "своей спине", а у Вас нет времени этим заниматься ))))

имхо, только согласование ТЗ в рамках штатных возможностей МТ4, иначе Вы на неопределенный срок уйдете с головой в изучение трейдерских форумов 


PS: попробуйте на этом форуме ознакомиться с возможностью создания тиковой истории в МТ4 https://www.mql5.com/ru/search#!keyword=fxt

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

Не хочется терять закзчика. Это он мне вопросы задает уже по закрытым проектам, он все уже оплатил. И у него зреют идеи о новых Советниках )

 

да, кстати, не факт, что Ваш заказчик конвертит ТФ в с именем торгового инструмента "как есть", если МТ4 подключен к серверу он затрет все эти ТФ при синхронизации с сервером

обычно все эти сторонние конвертеры, возможно и в КБ - давно не интересуюсь , генерируют ТФ с именем торгового инструмента + префикс

поэтому возможно Ваш код не понятно на каком символе тестирует заказчик, может там и ТФ у него М6, М61, М666 - с таких ТФ не получается брать показания индикатора через _Рeriod - нужно прописывать цифры ТФ, кажется так работал с нестандартными ТФ, забыл уже, давно в МТ4 не пользуюсь ими


как вариант - подготовьте тест и выведите в лог информацию об торговом инструменте на котором заказчик запускает и тестирует советника, а файл лога пусть Вам перешлют

 
Скажите ему, что какая-то проблема с его котировками. Предложите неделю поработать на демо у того же Дукаскопи, потом пусть опять скачает и проверит будут ли совпадать результаты в тестере и неделя а демо.