Тестер, старые данные

 

Добрый день.

Имеется странная проблема в МТ5.

Есть эксперт, который открывает сделки по сигналам одного индикатора. Запускаю прогон эксперта - получаю какие-то результаты. Чуть-чуть меняю логику индикатора, запускаю тот же прогон эксперта (параметры никак не меняются) - как и положено, меняются результаты. Возвращаю индикатор в исходное состояние, запускаю тот же прогон эксперта (параметры опять же никак не меняются) - казалось бы, должны вернуться первоначальные результаты... ан нет - результаты те же, что во второй раз. Ничего не трогаю, через минут 20 делаю еще один  прогон, ничего не меняя - результаты прогона возвращаются к начальным.

Отсюда 2 вопроса:
1) Откуда МТ5-тестер берет данные по индикаторам? Есть какой-то кэш, откуда забираются данные? После прогона появляется файл в папке "Tester\cache\", но ее очистка не помогает.

2) Как запускать эксперта, чтобы гарантированно брались последние данные индикатора?

 
satorifx:

Добрый день.

Имеется странная проблема в МТ5.

Есть эксперт, который открывает сделки по сигналам одного индикатора. Запускаю прогон эксперта - получаю какие-то результаты. Чуть-чуть меняю логику индикатора, запускаю тот же прогон эксперта (параметры никак не меняются) - как и положено, меняются результаты. Возвращаю индикатор в исходное состояние, запускаю тот же прогон эксперта (параметры опять же никак не меняются) - казалось бы, должны вернуться первоначальные результаты... ан нет - результаты те же, что во второй раз. Ничего не трогаю, через минут 20 делаю еще один  прогон, ничего не меняя - результаты прогона возвращаются к начальным.

Отсюда 2 вопроса:
1) Откуда МТ5-тестер берет данные по индикаторам? Есть какой-то кэш, откуда забираются данные? После прогона появляется файл в папке "Tester\cache\", но ее очистка не помогает.

2) Как запускать эксперта, чтобы гарантированно брались последние данные индикатора?

Не факт, но возможно, если вы вызываете индикатор через iCustom, а в OnDeinit советника не удаляете хэндл индикатора

   if(handle != INVALID_HANDLE)
      IndicatorRelease(handle);

 То возможно, возможны какие нибудь траблы. 

 
Aleksandr Slavskii #:

Не факт, но возможно, если вы вызываете индикатор через iCustom, а в OnDeinit советника не удаляете хэндл индикатора

 То возможно, возможны какие нибудь траблы. 

Хэндлы индикаторов в OnDeinit удаляю всегда. Для меня это обычная практика. Дело точно не в этом.

 
satorifx #:

Хэндлы индикаторов в OnDeinit удаляю всегда. Для меня это обычная практика. Дело точно не в этом.

Предполагаю, что проблема здесь: 


 
Тестер регулярно запоминает данные всего, чем манипулирует с некоторой периодичностью. Индикатор находится внутри советника, а цена внутри индикатора. Как-то так... 
 
Алексей Тарабанов #:

Предполагаю, что проблема здесь: 


Спасибо за ответ, но где ЗДЕСЬ?