Jump to content

Тестер не доходит до конечной даты? (или как значительно ускорить работу тестера МТ4)


Glebogor

Recommended Posts

Glebogor

При тестировании с 2000 года до «сегодня» тестер доходит только до конца 2010 года. Режим все тики, на всех советниках. В логах ошибок нет, перед тестированием все чищу, переустанавливал, билд обновился практически сегодня. Поиском только нашел проблему ограничения памяти до 2Г и соответствующий патч. Не помогло.

 

Раньше просто «склеивал» периоды, а теперь написал советника, которого нужно уж очень тщательно протестить. Может кто-то знает решение проблемы?

 

Заодно. Если есть спецы по тестированию в экселе, что еще есть кроме AnalyzerXL и TA-LIB?

 

Заранее благодарен.

Link to post
Share on other sites
qqmber
При тестировании с 2000 года до «сегодня» тестер доходит только до конца 2010 года. Режим все тики, на всех советниках. В логах ошибок нет, перед тестированием все чищу, переустанавливал, билд обновился практически сегодня. Поиском только нашел проблему ограничения памяти до 2Г и соответствующий патч. Не помогло.

 

Раньше просто «склеивал» периоды, а теперь написал советника, которого нужно уж очень тщательно протестить. Может кто-то знает решение проблемы?

 

Заодно. Если есть спецы по тестированию в экселе, что еще есть кроме AnalyzerXL и TA-LIB?

 

Заранее благодарен.

Если запустить с начала 2010 года, тоже рано останавливается?


Gone.

Link to post
Share on other sites
Glebogor

С 2010 доходит нормально. Но если запускать с 2008, тоже не доходит.

 

В самом большом варианте "Баров в истории 945610 Смоделировано тиков 73861872", но останавливается и при меньших значениях.

Link to post
Share on other sites
qqmber

Посмотрите диспетчером задач, сколько памяти занимает терминал перед остановкой тестирования. Если цифра близка к 2Гб значит патч не помог. Очень похоже на проблему 2Гб.


Gone.

Link to post
Share on other sites
Igonter

Да, у меня то же самое, причем началось это, дай бог памяти, года два назад.

При тестировании по тикам с 1999 г. доходит только до конца 2010 и затыкается.

Причем как-то экзотически: если дату начала сдвинуть с 1999 на 2003, все равно доходит только до 2010, но на пару месяцев дальше. :)

Когда-то давно, кажется, писал об этом на форуме MQ. Ничего так и не изменилось, поэтому тестирую каждый советник двумя кусками и склеиваю в экселе.

Link to post
Share on other sites
Glebogor
Да, у меня то же самое, причем началось это, дай бог памяти, года два назад.

При тестировании по тикам с 1999 г. доходит только до конца 2010 и затыкается.

Причем как-то экзотически: если дату начала сдвинуть с 1999 на 2003, все равно доходит только до 2010, но на пару месяцев дальше. :)

Когда-то давно, кажется, писал об этом на форуме MQ. Ничего так и не изменилось, поэтому тестирую каждый советник двумя кусками и склеиваю в экселе.

 

Абсолютно идентично, а так надеялся на чудо.

Link to post
Share on other sites
kazakov.v

Проблема в том, что с переходом на пятизнак сильно возрасли тиковые объемы - тестер пытается смоделировать все тики - и как только файл превышает 4 Гб - моделирование заканчивается (упирается в размер файла).

Можно попробовать .hst -шные файлы подредактировать - уменьшить объемы.


Никому верить нельзя.

Мне - можно.

 

Link to post
Share on other sites
Igonter
Проблема в том, что с переходом на пятизнак сильно возрасли тиковые объемы - тестер пытается смоделировать все тики - и как только файл превышает 4 Гб - моделирование заканчивается (упирается в размер файла).
Размер итогового fxt файла 3,2-3,3 Гб. Что-то он рано упирается...

Объем занимаемой памяти всего-то 200-300 мег, так что это вообще некритично.

Link to post
Share on other sites
Glebogor
Посмотрите диспетчером задач, сколько памяти занимает терминал перед остановкой тестирования. Если цифра близка к 2Гб значит патч не помог. Очень похоже на проблему 2Гб.

 

Максимум 1.1 Гиг перед остановкой. Пробовал и на семерке и на более мощных машинах. Как заколдованный останавливается в ноябре 2010 +/- месяц.

post-87427-1404218325,5817_thumb.jpg

Link to post
Share on other sites
Igonter
Проблема в том, что с переходом на пятизнак сильно возрасли тиковые объемы - тестер пытается смоделировать все тики - и как только файл превышает 4 Гб - моделирование заканчивается (упирается в размер файла).

Можно попробовать .hst -шные файлы подредактировать - уменьшить объемы.

Специально провел эксперимент, уменьшил тестовую выборку. При начале тестирования в 2008 году - все равно обрывается в конце 2011, при этом размер файла FXT 2.88 Гб.

Так что гипотеза с объемом файла не подтверждается, так же как и с объемом памяти.

Еще одно наблюдение: при попытке открыть сформированный FXT через меню "открыть автономно", показывает неверную дату окончания данных, причем она все время в районе 2004 года.

Могу предположить, что просто какой-то счетчик переполняется, т.е. чисто программная бага.

Link to post
Share on other sites
kazakov.v
Специально провел эксперимент, уменьшил тестовую выборку. При начале тестирования в 2008 году - все равно обрывается в конце 2011, при этом размер файла FXT 2.88 Гб.

Так что гипотеза с объемом файла не подтверждается, так же как и с объемом памяти.

Еще одно наблюдение: при попытке открыть сформированный FXT через меню "открыть автономно", показывает неверную дату окончания данных, причем она все время в районе 2004 года.

Могу предположить, что просто какой-то счетчик переполняется, т.е. чисто программная бага.

 

А у меня все получилось: отключил интернет, удалил downloads, поставил в .hst на все минутки объем 10 - и все ОК.


Никому верить нельзя.

Мне - можно.

 

Link to post
Share on other sites
Igonter
А у меня все получилось: отключил интернет, удалил downloads, поставил в .hst на все минутки объем 10 - и все ОК.

Хм. Надо будет с объемом поэкспериментировать...

Link to post
Share on other sites
Glebogor
поставил в .hst на все минутки объем 10 - и все ОК.

 

 

Вопрос воинствующего юзера: как?

 

Остальное проделал - безрезультатно.

Link to post
Share on other sites
Igonter

Ура! Фокус с объемом действительно помог :)

Как? Очень просто, я поменял пару строк в стандартном скрипте Period_converter_ALL, чтобы он формировал файл минуток и притом вместо объемов ставил константу 10. Заодно и скорость тестирования возросла в виде бонуса. Думаю, 10 тиков даже много. Нужно ведь только 4 значения на баре, OHLC. Остальное все равно не хранится, так что эти фокусы с имитацией тиков тестером бесполезны.

Link to post
Share on other sites
kazakov.v
Вопрос воинствующего юзера: как?

 

...

 

Да я скрипт писал на mql. Но тут фигня какая-то: .hst файл далеко не всегда получается изменить - пляски с бубнами, удаление некоторых файлов, перезагрузки - и иногда получается. Напишу попозже консольку на С++. Ибо оно того стоит - скорость тестирования увеличивается ощутимо, да и весь период за один проход...


Никому верить нельзя.

Мне - можно.

 

Link to post
Share on other sites
Igonter
тут фигня какая-то: .hst файл далеко не всегда получается изменить
...и поэтому я сформировал файл с другим именем, а потом вручную их поменял местами при выключенном терминале. :lsmile:
Link to post
Share on other sites
Asmodeux
Ура! Фокус с объемом действительно помог :)

Как? Очень просто, я поменял пару строк в стандартном скрипте Period_converter_ALL, чтобы он формировал файл минуток и притом вместо объемов ставил константу 10. Заодно и скорость тестирования возросла в виде бонуса. Думаю, 10 тиков даже много. Нужно ведь только 4 значения на баре, OHLC.

 

 

Генерируется не менее 11 тиков. Если поставить меньше, 10 или там 4, то тестер все равно "дофантазирует" недостающее.

 

Вот здесь описано, как тики генерирует МТ5, но, как я понимаю, в МТ4 алгоритм тот же.

 

Когда я прочитал эту статью, то доработал свои советники, получив прирост производительности в 5-6 раз.


Агрессивные счета долларовый 359364 и рублёвый 356419

 

Link to post
Share on other sites
Igonter
Генерируется не менее 11 тиков. Если поставить меньше, 10 или там 4, то тестер все равно "дофантазирует" недостающее.
Ну, значит 10 точно подойдет. :)

Когда я прочитал эту статью, то доработал свои советники, получив прирост производительности в 5-6 раз.

В смысле, прирост во время тестирования?
Link to post
Share on other sites
Asmodeux
Ну, значит 10 точно подойдет. :)

В смысле, прирост во время тестирования?

 

Да.

Я обычно тестировал интервал с декабря 2002 по сегодня. Со временем, с развитием советника, тест стал занимать до 24 часов. Тогда я купил Core i7, четырехядерный, чтобы было быстрее (а также чтобы тестировать одновременно 4-8 разных валютных пар). Стало быстрее раза в 3. Потом я нашел эту статью, прочитал ее, применил знания (игнорирую все тики, которые не обновляют экстремумы внутри текущего бара) и получил расчет 8-10 лет за 80-90 минут.

Как бороться с этим дурацким обрывом теста я так и не придумал, может, на досуге применю ваш совет. Пока это меня не щемит :-)


Агрессивные счета долларовый 359364 и рублёвый 356419

 

Link to post
Share on other sites
Igonter
Да.

Я обычно тестировал интервал с декабря 2002 по сегодня. Со временем, с развитием советника, тест стал занимать до 24 часов. Тогда я купил Core i7, четырехядерный, чтобы было быстрее (а также чтобы тестировать одновременно 4-8 разных валютных пар). Стало быстрее раза в 3. Потом я нашел эту статью, прочитал ее, применил знания (игнорирую все тики, которые не обновляют экстремумы внутри текущего бара) и получил расчет 8 лет за 80-90 минут.

А... Ну я тоже всегда оптимизировал тестирование, не читая эту статью :) Просто, если советник тестировался слишком долго, то переходил на OHLC как минимум на минутках, а то и на бОльших периодах, если потери точности незначительные.

Иногда, кстати, оказывалось, что переход на срабатывание только на границе баров реально улучшал прибыльность. Не только на тестах, но и в реале. :)

Link to post
Share on other sites
kazakov.v

Вопщем, если надо кому, здесь ехе-шник:

 

[ATTACH]209412[/ATTACH]

 

Бросаете в папку с .hst файлами нужного сервера.

Запускать при выключенном терминале:

например "volume eurusd 20" - исправит все объемы в eurusd1.hst на 20,

или "volume gbpusd" -исправит все объемы на 10 (по умолчанию).


Никому верить нельзя.

Мне - можно.

 

Link to post
Share on other sites
Igonter

Что-то не то с вложением. Надо в Zip упаковать, наверное...

Link to post
Share on other sites
kazakov.v

 

 

Еще немножко усовершенствовал - объемы правятся во всех ТФ до D1 включительно - тестер не напрягается по поводу рассогласования графиков - и вроде еще быстрее стало тестить :sm2003:

  • Thanks 1

Никому верить нельзя.

Мне - можно.

 

Link to post
Share on other sites
Glebogor
[ATTACH]209415[/ATTACH]

 

Еще немножко усовершенствовал - объемы правятся во всех ТФ до D1 включительно - тестер не напрягается по поводу рассогласования графиков - и вроде еще быстрее стало тестить :sm2003:

 

Супер, спасибо, все получилось.

 

ЗЫ Нашел скрипт HST_volume_change, еще не пробовал, если кому интересно - выложу ссылку.

Link to post
Share on other sites
  • 3 weeks later...
Glebogor

Приложение работает на ура. При подгрузке новых данных возникает конфликт по объемам: лечится повторной обработкой.

 

Теперь возникла новая проблемка. Можно ли как-то обойти ограничение на максимальное количество лотов в тестере (1 000 для демо счета).

 

Исходные данные: советник стартует со 100 USD, начальный лот 0,01, далее лот 10% от депо – доходит до лот > 1000 за пять-семь лет.:upset:

 

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

Link to post
Share on other sites
  • Capman locked this topic
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...