Ошибки, баги, вопросы - страница 200

 
Ashes:

Не-а. Обычный тестовый погон советника одного из участников чемпионата (многовалютного), долгая подкачка истории по задействованным парам и всё.

Кстати, любопытно, как тестер определяет, какие пары надо подкачивать? В общем случае, не начав тестирования, это знать заранее невозможно... 

Насколько я в курсе подкачивается сначала та пара тестирование по которой ведется (она указана в параметрах тестера и автоматом попадает в его "обзор рынка").

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

Также стоит отметить, что тестер синхронизируется с терминалом, а тот в свою очередь с сервером...

PS

Если я правильно понимаю, тестер еще может самостоятельно подгрузить данные, а вот в реальных условиях все это придется делать самостоятельно.

sergeev:

Подтверждаю.

Самый простой эксп по МА. После инициализации сразу в disconnect. Но это нестабильно и через раз.

Нужно будет посмотреть, но вроде у меня не было таких глюков. Хотя с таймером проблема возникла (вроде решат ее в следующем билде)...
 
 
После инициализации сразу в disconnect. Но это нестабильно и через раз
Так точно происходит в последнем билде (355), если используется в тестере OnTimer вместо OnTick.
 
Erm955:
  Так точно происходит в последнем билде (355), если используется в тестере OnTimer вместо OnTick.
У меня к счастью есть оба этих обработчика. Хотя, я очень страдаю от бага с таймером (поскольку эксперт является мультом)... :(
 
Rosh:
Возможно, функция удаления индикатора с графика средствами MQL5 появится.
О, хорошо было бы.
 

Попытался сохранить отчет тестера в формате Open XML. Минут 20 ожидания (Pentium 4, 3.0GHz), приложение не отвечает, в диспетчере задач бурная активность процесса terminal.exe (примерно 50% процессора) по пожиранию оперативки (примерно до 250Мб), Результат - ничего. MT5 реагирует, только котировки поступать перестали (Индикатор состояние подключения с серым крутящимся кружком). Вторая попытка - аналогично. В окне "Инструменты" в журнале 2 записи "MemoryException 107878464 bytes not available", по времени соответствующие попытке получить отчет в OpenXML.
В формате HTML файл сформировался почти мгновенно (примерно 12 Мб). Открывается долго, но тут уж MT5 не виноват...

 

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

Но он не видит такой мусор (неиспользуемые переменные) в классах.

 

версия 5 билд 355

Расчет разницы времени между барами:

datetime DefTime;

string PrintDate;

DefTime=Time[0]-Time[i]; //i можно заменить любым целым числом в нашем случае от 0 и до ...

PrintDate=TimeToString(DefTime,TIME_DATE|TIME_MINUTES);

Print (PrintDate);

Имеем:

!!! 2010.11.22 02:09:24    A-PS (EURUSD,M15)    1970.01.03 04:00
!!! 2010.11.22 02:09:22    A-PS (EURUSD,M15)    1970.01.03 03:45
!!! 2010.11.22 02:09:20    A-PS (EURUSD,M15)    1970.01.03 03:30
!!! 2010.11.22 02:09:19    A-PS (EURUSD,M15)    1970.01.03 03:15
!!! 2010.11.22 02:09:18    A-PS (EURUSD,M15)    1970.01.03 03:00
!!! 2010.11.22 02:09:17    A-PS (EURUSD,M15)    1970.01.03 02:45
!!! 2010.11.22 02:09:16    A-PS (EURUSD,M15)    1970.01.03 02:30
!!! 2010.11.22 02:09:14    A-PS (EURUSD,M15)    1970.01.03 02:15
2010.11.22 02:09:13    A-PS (EURUSD,M15)    1970.01.01 02:00
2010.11.22 02:09:12    A-PS (EURUSD,M15)    1970.01.01 01:45
2010.11.22 02:09:11    A-PS (EURUSD,M15)    1970.01.01 01:30
2010.11.22 02:09:11    A-PS (EURUSD,M15)    1970.01.01 01:15
2010.11.22 02:09:09    A-PS (EURUSD,M15)    1970.01.01 01:00
2010.11.22 02:09:08    A-PS (EURUSD,M15)    1970.01.01 00:45
2010.11.22 02:09:08    A-PS (EURUSD,M15)    1970.01.01 00:30
2010.11.22 02:09:07    A-PS (EURUSD,M15)    1970.01.01 00:15
2010.11.22 02:08:58    A-PS (EURUSD,M15)    1970.01.01 00:00

Откуда 3 число? Такая же картина наблюдается при использовании MqlDateTime.

 
KffAlex:

Откуда 3 число? Такая же картина наблюдается при использовании MqlDateTime.

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

Дельта между баром понедельника и пятницы как раз 3 дня.

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

 Хочу сделать что бы при оптимизации советник сам выбирал будет подключён индикатор или нет, (к примеру TRIX) если TRIX=0 - то индикатор не будет использоваться, если TRIX=1 и более, индикатор будет включён а число которое используется в значении - это параметр индикатора.

 Но проблема в том что многие индикаторы имеют больше одного параметра - а если TRIX_1=0, TRIX_2=4 к примеру задаётся при оптимизации, то параметры будут противоречить сами себе, эту проблему я решил таким путём: в самом советнике перебираются значения возможные TRIX_1 и TRIX_2, т.е. TRIX=0 это TRIX_1=0 и TRIX_2=0 в советнике; TRIX=1 это TRIX_1=1 и TRIX_2=1; TRIX=2 это TRIX_1=1 и TRIX_2=2 и т.д. но возникает вопрос:

будет ли работать корректно генетический алгоритм в тестере если уже в самом советники были перебраны все параметры индикатора а в input вынеслось только одно значения TRIX которое хранит вариации параметров?

Причина обращения: