После написания вопроса продолжил поиск причины ошибки. Во-первых, сразу не догадался осуществить перевод сообщения на русский, сбило с толку то, что обычно ошибки сопровождаются номерами строк, или ссылкой на какой-то объект, а здесь просто текст с датой. Переводчик перевел данный текст так: "Не может сравнить объект".
Получается, что тестер ругается на какое-то условие, но при этом советник уже проверялся на демо счете, открывал сделки и ошибок не было.
Тогда я не торопясь, блок за блоком начиная с первого стал отключать и включать связи. Сначала к точке "On-Candle" я оставил подключенным 1 блок, потом 2 и т.д. Ошибки не было. И на N-адцатом блоке ошибка снова появилась. И это действительно было условие. А в условии оказались переменные, у которых не были заданы начальные значения!
То есть язык Java, и соответственно Visual JForex позволяют создавать переменные и не задавать им начальные значения, оставляя за программистом ответственность определить этим переменным значения в ходе каких-либо вычислений. Но тестер получается с такими переменными по факту работать не может, даже если эти переменные были инициализированы в вычислительном блоке перед сравнением в условном блоке.
Поэтому проблема была устранена простым заданием начальных значений тем переменным, у которых этих значений не было.
Надеюсь это будет полезно посетителям данного форума.
Буду признателен, если сюда будут добавлены другие причины ошибки "Cannot compare the object", если таковые есть.
|