Runtime error 512 in OnTester

 

Доброго времени!
Буквально недавно мой советник при оптимизации начал выдавать ошибки, при том, что в коде изменений не вносил.

Имя ОС Майкрософт Windows 11 Pro
Версия 10.0.26100 Сборка 26100
Процессор AMD Ryzen 7 5700X 8-Core Processor, 3401 МГц, ядер: 8, логических процессоров: 16

Terminal 5.00 build 4769


Поделитесь решениями у кого есть опыт. 


 
Petr Zharuk:

Доброго времени!
Буквально недавно мой советник при оптимизации начал выдавать ошибки, при том, что в коде изменений не вносил.

Имя ОС Майкрософт Windows 11 Pro
Версия 10.0.26100 Сборка 26100
Процессор AMD Ryzen 7 5700X 8-Core Processor, 3401 МГц, ядер: 8, логических процессоров: 16

Terminal 5.00 build 4769


Поделитесь решениями у кого есть опыт. 


Исходники есть? Смотрите, что творится в Слипе.

 
Alexey Volchanskiy #:

Исходники есть? Смотрите, что творится в Слипе.

Где творится?

 
Petr Zharuk #:

Где творится?

Slippage 

Maximum price slippage to position

Максимальное допустимое отклонение цены при открытии и закрытии позиции

 
Petr Zharuk:

Поделитесь решениями у кого есть опыт. 

С такой ошибкой у себя не сталкивался, но в логе же английским по серому написано:

критическая ошибка во время выполнения в функции OnTester (функция sleep попадает на время завершения теста)

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

Можете попробовать уменьшить длительность паузы или как-то организовывать проверку, чтобы sleep() не вызывалась вблизи времени окончания интервала тестирования.

 
Volodymyr Zubov #:

Slippage 

Maximum price slippage to position

Максимальное допустимое отклонение цены при открытии и закрытии позиции

Подскажите,с подобными некритическими ошибками,советник пройдет модерацию для маркета??
 
Volodymyr Zubov #:

Slippage 

Maximum price slippage to position

Максимальное допустимое отклонение цены при открытии и закрытии позиции

Не Slippage, а Sleep().


 
Alexander Sevastyanov #:

Не Slippage, а Sleep().


Я sleep вообще не использую.
Поэтому не понимаю откуда ошибка.
Она появилась после обновления терминала.
 

Возможно, вы пользуетесь какой-то функцией, вызываемой из OnTester(), а она уже вызывает sleep() без вашего ведома.

Попробуйте отключить выполнение кода в OnTester() - сохранится ли ошибка? Если у вас OnTester() и так пустой, то тогда идей про причину ошибки нет.

 

Написано что критическая ошибка в функции OnTester.

Что у вас в ней ?

(sleep - это просто пояснение, что OnTester вызывается по завершению тестирования)

 
double OnTester() {
    if(TesterStatistics(STAT_EQUITY_DD) >= TesterStatistics(STAT_INITIAL_DEPOSIT))
        return 0;
    return TesterStatistics(STAT_EQUITY_DD);
}