Я понимаю: в Math-режиме, а также в режиме оптимизации, функция OnInit не выполняется. Мой советник инициализируется именно в этой функции, поэтому сделки не выполнялись.
У меня не вызывался OnInit в Math-режиме. Но теперь вызывается! И я не понимаю, от чего это зависит.
В любом случае я обновил библиотеку и теперь можно принудить вызовы OnInit и OnDeinit через следующий макрос.
#define EATOMATH_FORCE_INIT_DEINIT OnInit, OnDeinit// Принудительный запуск соответствующих функций.
Если будете его использовать, убедитесь, что OnInit не вызывается дважды.
У меня не вызывался OnInit в Math-режиме. Но теперь вызывается! И я не понимаю, от чего это зависит.
В любом случае я обновил библиотеку и теперь можно принудить вызовы OnInit и OnDeinit через следующий макрос.
Если будете его использовать, убедитесь, что OnInit не вызывается дважды.
#define EATOMATH_FORCE_INIT_DEINIT OnInit, OnDeinit#define EATOMATH_BENCHMARK // Включает измерение производительности EAToMath.#include "../../../utils/fxsaber/EAToMath/EAToMath.mqh"// Тестирование на истории в математическом режиме MT5-тестераintOnInit() {
Print(__FUNCTION__+" call OnInit");
}
Происходит два вызова: один черезEATOMATH_FORCE_INIT_DEINIT, а второй — самим тестером стратегий MT5. Я заметил следующую особенность: при обычном тестировании в режиме 'Math' без оптимизации, тестер корректно вызываетOnInit. Однако, если в том же режиме 'Math' включить оптимизацию, вызоваOnInitне происходит.
Я заметил следующую особенность: при обычном тестировании в режиме 'Math' без оптимизации, тестер корректно вызываетOnInit. Однако, если в том же режиме 'Math' включить оптимизацию, вызоваOnInitне происходит.
Я понимаю: в Math-режиме, а также в режиме оптимизации, функция OnInit не выполняется.
Верно. Возможно, это недоработка со стороны MQ.
Я понимаю: в Math-режиме, а также в режиме оптимизации, функция OnInit не выполняется. Мой советник инициализируется именно в этой функции, поэтому сделки не выполнялись.
У меня не вызывался OnInit в Math-режиме. Но теперь вызывается! И я не понимаю, от чего это зависит.
В любом случае я обновил библиотеку и теперь можно принудить вызовы OnInit и OnDeinit через следующий макрос.
Если будете его использовать, убедитесь, что OnInit не вызывается дважды.
Вы можете это сделать так.
Вы можете это сделать так.
У меня не вызывался OnInit в Math-режиме. Но теперь вызывается! И я не понимаю, от чего это зависит.
В любом случае я обновил библиотеку и теперь можно принудить вызовы OnInit и OnDeinit через следующий макрос.
Если будете его использовать, убедитесь, что OnInit не вызывается дважды.
У меня не вызывался OnInit в Math-режиме. Но теперь вызывается! И я не понимаю, от чего это зависит.
В любом случае я обновил библиотеку и теперь можно принудить вызовы OnInit и OnDeinit через следующий макрос.
Если будете его использовать, убедитесь, что OnInit не вызывается дважды.
Происходит два вызова: один через EATOMATH_FORCE_INIT_DEINIT, а второй — самим тестером стратегий MT5. Я заметил следующую особенность: при обычном тестировании в режиме 'Math' без оптимизации, тестер корректно вызывает OnInit. Однако, если в том же режиме 'Math' включить оптимизацию, вызова OnInit не происходит.
I compiled the file EAToMath_Example.mq5 and got the following compilation error:
'IsCorrect' - undeclared identifier in EAToMath.mqh at line 621, column 36
')' - expression expected in EAToMath.mqh at line 621, column 46
I compiled the file EAToMath_Example.mq5 and got the following compilation error:
'IsCorrect' - undeclared identifier in EAToMath.mqh at line 621, column 36
')' - expression expected in EAToMath.mqh at line 621, column 46
Update Virtual.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Библиотеки: EAToMath
fxsaber, 2025.07.14 19:45
Я обнаружил некоторые особенности мат. режима MT5-тестера. Постарался их учесть в обновлении библиотеки (плюс это).
Я заметил следующую особенность: при обычном тестировании в режиме 'Math' без оптимизации, тестер корректно вызывает OnInit. Однако, если в том же режиме 'Math' включить оптимизацию, вызова OnInit не происходит.
Вызывается OnInit.