Чудеса с тестером. - страница 3

 
notused:
Не совпадают результаты проходов при оптимизации и одиночном проходе (сервис-деск - #329165 + советник там-же)
Разберёмся.
 
notused:
Не совпадают результаты проходов при оптимизации и одиночном проходе (сервис-деск - #329165 + советник там-же)
Билд 619? Тоже такая проблема начала проявляться. Но не всегда. Бывает даже, что результаты те же, то есть, оптимизацию новую не проводил, но при тестировании почему-то результаты уже другие выводятся. Например, итоговая прибыль на графике отличается от той, что в списке. Через некоторое время всё восстанавливается. До билда 619 такого не замечал ни разу.
 
tol64:
Билд 619? Тоже такая проблема начала проявляться. Но не всегда. Бывает даже, что результаты те же, то есть, оптимизацию новую не проводил, но при тестировании почему-то результаты уже другие выводятся. Например, итоговая прибыль на графике отличается от той, что в списке. Через некоторое время всё восстанавливается. До билда 619 такого не замечал ни разу.
билд ещё 607 (до нового FIBO пока не обновился). Возможно, проблема в мультивалютности и таймере (OnTick() не используется), но не уверен.
 
notused:
билд ещё 607 (до нового FIBO пока не обновился). Возможно, проблема в мультивалютносте и таймере (OnTick() не используется), но не уверен.
Тогда название для ветки выбрано точное. Чудеса с тестером. )))
 

Что-то намутили в последнем билде с тестером стратегий. Вдруг (не совсем "вдруг", а после обновления к 619 билду) советник практически перестал тестироваться (тот-же, что и в заявке #329165) - память начала потребляться немеренно (режим "Все тики" за 5 лет):

  

Последний столбец - "VM size". Как видите, 4 ядра у меня + 4 "удалённых" локальных агента (всегда нормально работало).

При этом система начинает очень жутко тормозить (угу, 4ГБ ОЗУ + 16Гб отдал под PageFile) и скорость оптимизации стремится к бесконечности. Как видно, процессорное время, практически не занимается. 

При этом ошибки в журнале:

 

Это видимо из-за нехватки памяти.

Нажимаю "стоп" - память сразу не освобождается. Минут через 5 исчезли локальные агенты, ещё минуты через две, освободилась память удалённых:

 

Только непонятно, почему у одного агента всё-равно осталось больше 100Мб висеть (то, что его занял Cloud - не верю, ибо процесорное время не используется). 

Что-ж, отключаю "удалённых" локальных агентов. Ничего не меняется (тормоза системы и ошибки).

 Ну, думаю, грешным делом, ошибки у меня в советнике. Поэтому запускаю на тестирование стандартный ExpertMACD, EURUSD, h12 c 2007.09.01 по 2012.03.26.

И... таже картина - тормоза, бешенное потребление памяти (показатели почти такие же как и на первой картинке) + "cannot initialize expert".

В обеих случаях, некоторым проходам всё-же удаётся совершиться.

Лог прикреплён.

Весьма интересны строчки:

CJ      0       local4  17:42:32        USDNOK: history synchronization started
QL      0       Core 1  17:42:33        USDNOK: history synchronization started
RK      0       local4  17:43:49        USDNOK: history downloading completed
GL      0       Core 1  17:43:49        USDNOK: history downloading completed
NM      0       Core 1  17:43:49        USDNOK: history for 2006 year synchronized
QJ      0       local4  17:43:49        USDNOK: history for 2006 year synchronized

и т. д. с USDNOK - в моём советнике в коде был прошит один символ SGDJPY - зачем качать USDNOK (USDJPY успешно закачан по логам), вместо USDSGD?

Если что, сервер - FIBOGroup-MT5-сервер.

 P. S. В предыдущих билдах не наблюдал таких проблем.

 P. P. S. Кому не лень - проверьте, пожалуйста, у себя оптимизацию стандартного ExpertMACD на промежутке последних лет 5 по всем тикам.

Файлы:
20120326.log  33 kb
 
notused:

Что-то намутили в последнем билде с тестером стратегий. Вдруг (не совсем "вдруг", а после обновления к 619 билду) советник практически перестал тестироваться (тот-же, что и в заявке #329165) - память начала потребляться немеренно (режим "Все тики" за 5 лет):

Последний столбец - "VM size". Как видите, 4 ядра у меня + 4 "удалённых" локальных агента (всегда нормально работало).

При этом система начинает очень жутко тормозить (угу, 4ГБ ОЗУ + 16Гб отдал под PageFile) и скорость оптимизации стремится к бесконечности. Как видно, процессорное время, практически не занимается. 

Не рекомендуется запускать агентов больше, чем есть ядер. От чрезмерного количества агентов скорость падает нелинейно, а затраты ресурсов растут. Тем более, когда всего 4 Gb памяти, а агенты съедают по гигабайту и больше.

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


При этом ошибки в журнале:

Это видимо из-за нехватки памяти.

Нажимаю "стоп" - память сразу не освобождается. Минут через 5 исчезли локальные агенты, ещё минуты через две, освободилась память удалённых:

Да, память (кеши) освобождаются примерно через 5 минут. Они специально держатся на случай следующего запуска, чтобы не терять время на разогрев чаще всего тех же данных, что были использованы на прошлом запуске.

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


Только непонятно, почему у одного агента всё-равно осталось больше 100Мб висеть (то, что его занял Cloud - не верю, ибо процесорное время не используется). 

Что-ж, отключаю "удалённых" локальных агентов. Ничего не меняется (тормоза системы и ошибки).

Ну, думаю, грешным делом, ошибки у меня в советнике. Поэтому запускаю на тестирование стандартный ExpertMACD, EURUSD, h12 c 2007.09.01 по 2012.03.26.

Вы перекомпилировали эксперта после апгрейда на последний билд?

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

 
Renat:

Не рекомендуется запускать агентов больше, чем есть ядер. От чрезмерного количества агентов скорость падает нелинейно, а затраты ресурсов растут. Тем более, когда всего 4 Gb памяти, а агенты съедают по гигабайту и больше. 

 Можете посмотреть в статистике по Cloud - что 4, что 8 агентов - PR всё-равно в р-не 150-190 (кроме одного/двух, которые видимо выпадают на ядро браузера)
Renat:

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

 Отключил удалённые агенты... 
Renat:

Вы перекомпилировали эксперта после апгрейда на последний билд?

В Вашем случае проблема в в тормозах из-за постоянного свопинга и недостатка памяти.

 Эксперты перекомпилированы. Даже штатного ExpertMACD перекомпилировал. 
Renat:

Совет: отключите лишних удаленных агентов.

 Отключил, запустил на оптимизацию ExpertMACD и:

GS      2       Core 2  22:35:03        genetic pass (14, 128209952076) tested with error "cannot initialize expert"
JD      2       Core 2  22:35:47        genetic pass (18, 83657327618) tested with error "cannot initialize expert"
HK      2       Core 1  22:35:55        genetic pass (21, 125407780989) tested with error "cannot initialize expert"
PN      2       Core 2  22:36:31        genetic pass (23, 119213797642) tested with error "cannot initialize expert"
DQ      2       Core 2  22:36:31        genetic pass (24, 69556992446) tested with error "cannot initialize expert"
PE      2       Core 3  22:36:35        genetic pass (27, 43810326828) tested with error "cannot initialize expert"
EI      2       Core 3  22:37:15        genetic pass (31, 50607133818) tested with error "cannot initialize expert"
MM      2       Core 3  22:37:15        genetic pass (33, 154340017542) tested with error "cannot initialize expert"
OR      2       Core 3  22:38:10        genetic pass (39, 72154186657) tested with error "cannot initialize expert"
RE      2       Core 3  22:38:53        genetic pass (44, 3365963874) tested with error "cannot initialize expert"
NJ      2       Core 3  22:38:53        genetic pass (45, 69101442583) tested with error "cannot initialize expert"
JO      2       Core 3  22:38:53        genetic pass (46, 13607620667) tested with error "cannot initialize expert"
JS      2       Core 1  22:40:24        genetic pass (53, 86662534982) tested with error "cannot initialize expert"
ID      2       Core 1  22:40:24        genetic pass (54, 101351711755) tested with error "cannot initialize expert"
HG      2       Core 1  22:40:24        genetic pass (55, 121960550013) tested with error "cannot initialize expert"

А теперь отключил все агенты (в том числе локальные) кроме одного:

IR      2       Core 1  22:44:22        genetic pass (1, 59037561933) tested with error "cannot initialize expert"
GE      2       Core 1  22:44:56        genetic pass (3, 122174849602) tested with error "cannot initialize expert"

и что теперь? 4ГБ мало на одного агента? (хотя Mem Usage - 350МБ, VM Size = 1,24Гб). А что делать тем, у кого даже 4ГБ нет? 

Может всё-таки проверите? Этапы воспроизведения - в предыдущем посте 

 
notused:
 Можете посмотреть в статистике по Cloud - что 4, что 8 агентов - PR всё-равно в р-не 150-190 (кроме одного/двух, которые видимо выпадают на ядро браузера) Отключил удалённые агенты...  Эксперты перекомпилированы. Даже штатного ExpertMACD перекомпилировал. 

 Отключил, запустил на оптимизацию ExpertMACD и:

А теперь отключил все агенты (в том числе локальные) кроме одного:

и что теперь? 4ГБ мало на одного агента? (хотя Mem Usage - 350МБ, VM Size = 1,24Гб).

Может всё-таки проверите? Этапы воспроизведения - в предыдущем посте 

Достаточно было посмотреть в лог эксперта, чтобы увидеть ошибки:

ExpertMACD (EURUSD,H1)  22:50:54        1971.01.05 00:00:00   CExpertBase::InitHigh: error initializing object
ExpertMACD (EURUSD,H1)  22:50:54        1971.01.05 00:00:00   OnInit: error initializing indicators

ExpertMACD (EURUSD,H1)	22:55:07	2012.01.01 00:00:00   CSignalMACD::ValidationSettings: slow period must be greater than fast period
ExpertMACD (EURUSD,H1)	22:55:07	2012.01.01 00:00:00   OnInit: error signal parameters

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

 
Renat:

Достаточно было посмотреть в лог эксперта, чтобы увидеть ошибки:

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

Да, действительно, проблема в дефолтных параметрах оказалась. Изменил - всё нормально тестируется. Вернулся к своему советнику - вроде тоже пока "полёт нормальный".

Итого, если раньше прощалось наличие двух агентов на ядро, то теперь уж точно нет.

Итого2. Был неправ, извините за отнятое время (но сервис-деск - #329165 пока ещё не разобрался)

 
stringo:
Разберёмся.

Что-то всё затянулось. А тем временем я выяснил в чём дело.

1) Во фремя рефакторинга кода, у меня потерялось явное присвоение значения переменной и иногда (совсем рандомно) получались случайные результаты для объёма открываемой позиции. Исправив эту ошибку, увидел, что результат не поменялся - результаты тестов не совпадают с оптимизацией. Путём различного логирования и танцев с бубном удалось выяснилось, что проблема достаточно давняя:

2)  Перед началом чемпионата-2011 я сообщал, что тестер проводит сделки в выходные дни. Renat обещал проверить. Но проблема осталась до сих пор. Совершенно случайно, я выбрал начало промежутка тестирования 2007.09.01, который является выходным днём. Так вот - оптимизатор в этот день сделку не проводит, а тестер проводит. Вернее, в оптимизаторе не доходит до OrderSend в выходной, а в тестере доходит. Исходя из логики моего эксперта удалось выяснить, что если старт промежутка оптимизации припадает на выходной, то при первом срабатывании таймера, ACCOUNT_EQUITY = 0!!! А в тестере ACCOUNT_EQUITY = ACCOUNT_BALANCE (то что и задаём в начальном депозите). Если начало промежутка оптимизации припадает на рабочий день, то поведение оптимизатора и тестера идентично.

 Итого, у Вас два бага:

1) Тестер позволяет открыть сделку в выходной, чего не должно быть (и не надо говорить, что это моя ошибка - свои ошибки я поправлю, а баг тестера уже больше полгода висит);

2) При первом срабатывании таймера, если начало периода припадает на выходной,   ACCOUNT_EQUITY = 0, а в тестере  ACCOUNT_EQUITY  = ACCOUNT_BALANCE. Нужно привести к одному виду (лучше, конечно, к  ACCOUNT_EQUITY  = ACCOUNT_BALANCE c исправлением первой ошибки).

В сервис-деске по заявке #329165 прикреплю эксперта для тестов.

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