Dukascopy Support Board
http://www.dukascopy.com/swiss/english/forex/jforex/forum/

причины ошибки "Cannot compare the object" при запуске теста в Visual JForex
http://www.dukascopy.com/swiss/english/forex/jforex/forum/viewtopic.php?f=175&t=56824
Page 1 of 1

Author:  valador [ Thu 15 Nov, 2018, 17:46 ]
Post subject:  причины ошибки "Cannot compare the object" при запуске теста в Visual JForex

При запуске теста своего советника прямо в редакторе Visual JForex выдается окошечко с датой и текстом "Cannot compare the object". Таким образом тест не удается сделать.

Какие могут быть причины этому в принципе? Ни где не смог найти обсуждение этой темы.

Author:  valador [ Thu 15 Nov, 2018, 19:31 ]
Post subject:  Re: причины ошибки "Cannot compare the object" при запуске теста в Visual JForex

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

Получается, что тестер ругается на какое-то условие, но при этом советник уже проверялся на демо счете, открывал сделки и ошибок не было.

Тогда я не торопясь, блок за блоком начиная с первого стал отключать и включать связи. Сначала к точке "On-Candle" я оставил подключенным 1 блок, потом 2 и т.д. Ошибки не было. И на N-адцатом блоке ошибка снова появилась. И это действительно было условие. А в условии оказались переменные, у которых не были заданы начальные значения!

То есть язык Java, и соответственно Visual JForex позволяют создавать переменные и не задавать им начальные значения, оставляя за программистом ответственность определить этим переменным значения в ходе каких-либо вычислений. Но тестер получается с такими переменными по факту работать не может, даже если эти переменные были инициализированы в вычислительном блоке перед сравнением в условном блоке.

Поэтому проблема была устранена простым заданием начальных значений тем переменным, у которых этих значений не было.

Надеюсь это будет полезно посетителям данного форума.

Буду признателен, если сюда будут добавлены другие причины ошибки "Cannot compare the object", если таковые есть.

  Page 1 of 1