Мультивалютный тестинг - страница 4

 
kirdk:
Так вопрос-то был как раз не в статье! А в том, как же все-таки организовать мультивалютное тестирование, которое все никак не идет!

Повторяю. По Вашей заявке в данный момент идёт работа. Нашли и исправили баг с синхронизацией истории между тестером и клиентским терминалом. Сейчас проверяем. 

 
stringo:

Повторяю. По Вашей заявке в данный момент идёт работа. Нашли и исправили баг с синхронизацией истории между тестером и клиентским терминалом. Сейчас проверяем. 

Ну, тогда ждем-с... И, stringo, извините за несколько резковатый тон. Просто сложилось впечатление, что Вы в упор не хотели замечать проблемы, а я потратил почти целый день даром. Я рад, что это не так!
 

День добрый всем. Делаю сейчас перевод мультивалютного советника с МT4 на МТ5. В отладчике советник худо - бедно заработал, а вот при попытке запустить его в тестере полезло море проблем.

Советник работает по 28 парам используя все таймфреймы от минуток до месяца используя по 30 баров каждого графика. При попытке подгрузить историю по всем парам началась карусель по полной.

1. если выставляешь период тестирования меньше неделек - то не удается ни какими СopyTime и им подобными функциями выкачать 30 месячных баров. Пишет:

History    15:12:22    EURUSD,Monthly: contains 22 bars of beginning data from 2011.01.01 00:00 to 2012.10.01 00:00

То есть не дает выкачивать данные ранее начала прошлого года. Чтобы взять эти данные - нужно выставить в тестере период тестирования недельки или месяцы - тогда данные выкачать дает, но начинается другая свистопляска.

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

3. Сжирает 2 гига памяти - после чего начинает писать что ему не хватило памяти и завершает работу. Озу я конечно докуплю, но напрягает то, что диспетчер винды показывает в этот момент что есть еще пол гига свободной памяти - а советник уже навернулся. При этом у меня стояло физически 2 гига озу.
Поменял Озу на 4 гига - советник выдал ошибку нехватки памяти ровно на том же месте и навернулся также написав :    0    Tester    14:50:14    1820 Mb memory used.
То есть удвоение ОЗУ не продвинуло работу советника ни на шаг.


Данные выкачиваю такой функцией :
double iClose(string symbol,int tf,int index){
   if(index < 0) return(-1);
   double Arr[];
   //ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
   if(CopyClose(symbol,timeframe, index, 1, Arr)>0)
        return(Arr[0]);
   else return(-1);
}
1 раз запрашиваю самый дальний бар - и история подкачивается.  ( в терминале все работает нормально, а вот в тестере нет).
пробовал ставить в цикле вот такую - вроде как более корректную конструкцию
 int bars=Bars(name,period);
 int copied=CopyTime(name,period,bars,100,times);  - результат ни чем не отличается. Где проблемы были - там они и есть, а где не было, то и по старому варианту проходило.


В приложении скриншоты и лог агента. Кто что посоветует?

Файлы:
weekly.GIF  70 kb
params.GIF  59 kb
q4.txt  103 kb
 
vadimpl: Кто что посоветует?
 Посмотрите "Справочник MQL5 / Доступ к таймсериям и индикаторам / Организация доступа к данным". Там есть "пример скрипта для закачки истории". Сам работаю с его творчески переделанной версией, но суть в том, что в тестере каких-либо проблем с подгрузкой истории (12 пар) не наблюдалось.
 
Yedelkin:
 Посмотрите "Справочник MQL5 / Доступ к таймсериям и индикаторам / Организация доступа к данным". Там есть "пример скрипта для закачки истории". Сам работаю с его творчески переделанной версией, но суть в том, что в тестере каких-либо проблем с подгрузкой истории (12 пар) не наблюдалось.
Спасибо, но документацию читал но не помогает. )) Докупил сейчас ОЗУ до 8 Гб. И похоже понял в чем проблема. Я работаю на Win XP SP3. Cоответственно 32- разрядная система поддерживает до 4 Гб ОЗУ. Размер свопа во время теста как раз тоже приближался к 4 гигам, так что похоже хоть она своп и делает, но суммарно 4 гига перепрыгнуть не может ни как. Надо на 7-ку переползать. Как переустановлю систему и проверю - так отпишу  На память по идее должна перестать ругаться, а на счет кривых графиков - посмотрим.
 
vadimpl: Докупил сейчас ОЗУ до 8 Гб.
 А Вы подсчитывали, сколько памяти требуется на случай 28-ми инструментов и 30-ти месячных баров?
 

ну если тестер загрузил чуть больше трети и сожрал 1800Мб то гиг 6 должно хватить даже если все держать в физ. ОЗУ. А вообще по моим понятиям - должно работать и на меньшем объеме -просто свопировать ненужные данные. Проблема похоже в 32-битной адресации win-xp
 
papaklass:
 Если эксперт не супер секретный, то выложите здесь и я прогоню на своем компе (Атлон 4-х ядерный, Вин7, 6Гб ОЗУ).

Ну к сожалению эксперт не мой, а заказчика, так что выкладывать его не могу ))


 
Поставил win 7  - проблема с выделением памяти исчезла, а вот отображение недельных графиков так и осталось кривое. ( бары идут чаще чем раз в неделю причем на разных инстументах их количество разное. Может все же кто то с таким сталкивался?
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
Документация по MQL5: Основы языка / Переменные / Создание и уничтожение объектов
  • www.mql5.com
Основы языка / Переменные / Создание и уничтожение объектов - Документация по MQL5
 
vadimpl: Поставил win 7  - проблема с выделением памяти исчезла, а вот отображение недельных графиков так и осталось кривое. ( бары идут чаще чем раз в неделю причем на разных инстументах их количество разное. Может все же кто то с таким сталкивался?
Если считаете, что работает некорректно - пишите сразу в Сервисдеск. С картинками.