Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть ли у оптимизатора кода ограничения на объем объектного дерева?
При увеличении количества объектов получаю ошибку "tree optimization error" на этапе компиляции.
P.S. В режиме отладки компиляция проходит.
Можете приложить пример исходного кода в тикете сервисдеска? После проверки код будет удален.
Скорее всего дело в длинных функциях, но лучше выслать нам код, чтобы мы смогли у себя разобраться и исправить ошибку. Это поможет многим трейдерам.
Во-первых, какой смысл принудительно закачивать историю в тестере ? Тестер сам загрузит необходимую и доступную историю с сервера, если к ней будут запросы в коде или торговые операции, по необходимым инструментам. Так как у Вас код пустой, то тестеру нет необходимости моделировать тики по другим инструментам, кроме того символа, на котором происходит тестирование. Его то историю тестер и загрузил. А раз нет истории (в тестере), то и получаете в итоге 0.
Во-вторых, даже если дополнить код обращением к истории по всем символам, вряд ли закачка всей доступной истории по всем символам пройдёт успешно, где нибудь произойдёт сбой. Так как тестер использует базу котировок терминала, в нём и нужно закачивать необходимую историю.Подскажите, что означают значения в столбце Результат, когда выбрана целевая функция Balance + min Drawdown?
Подскажите, что означают значения в столбце Результат, когда выбрана целевая функция Balance + min Drawdown?
если бы заглянули в справку терминала то многие вопросы бы отпали сами собой, там все написано
Критерий оптимизации
Критерий оптимизации — некий показатель, значение которого определяет качество тестируемого набора входных параметров. Чем больше значение критерия оптимизации, тем лучше оценивается результат тестирования с данным набором параметров. Выбор данного показателя осуществляется на вкладке "Настройки", справа от поля "Оптимизация".
Критерий оптимизации необходим только для генетического алгоритма.
Доступны следующие критерии оптимизации:
Спасибо. )) Почему то думал о критерии Минимальная просадка, а не Баланс + минимальная просадка. ))
В том то и дело что когда тестер пытается моделировать тики по другим инструментам лог начинает просто заваливать сообщениями типа contains 0 M1 records так как истории на эту дату нет и объем лога вырастает до неимоверных объемов и что бы избежать этих ошибок мне надо знать дату начала истории, а при запросе функция SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) возвращает 0
Насколько я понимаю, тестер, прежде чем начать тестирование, создаёт рыночное окружение для подключенного счёта (последнего подключенного при отсутствии связи с сервером), проверяет синхронизацию данных с сервером (опять же, при наличии подключения), закачивает недостающие котировки со стартовой даты тестирования (при наличии подключения), формирует тестовую последовательность котировок для всех необходимых символов, и только потом начинает тестирование. Что, если ему не удалось загрузить необходимую историю (например, из-за отсутствия истории на сервере или из-за отсутствия связи с сервером ) ? Он Вам об этом и сообщает честно. На 'нет', и суда нет.
Далее, Вы хотите получить начальную дату истории на сервере (в тестере). Похоже, это свойство не входит в рыночное окружение тестера, хотя его можно было сохранить с сервера. Ошибка ли это? Думаю, нет. Ведь после начала тестирования тестер уже не может обратиться к серверу (через терминал) для закачки необходимых Вам котировок. Всё, что доступно, уже загружено тестером на этапе инициализации процесса тестирования и тестовая последовательность уже сформирована и её нельзя изменить. Вместо SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE), в Вашем случае, думаю, можно использовать SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), она должна работать в тестере.
Можете приложить пример исходного кода в тикете сервисдеска? После проверки код будет удален.
Скорее всего дело в длинных функциях, но лучше выслать нам код, чтобы мы смогли у себя разобраться и исправить ошибку. Это поможет многим трейдерам.
Хорошо, приложил 2 варианта с "code generation error" и "tree optimization error". Функция onInit действительно длинная (~1000 строк генерированный код).
Тикет #217917
Хорошо, приложил 2 варианта с "code generation error" и "tree optimization error". Функция onInit действительно длинная (~1000 строк генерированный код).
Тикет #217917
Насколько я понимаю, тестер, прежде чем начать тестирование, создаёт рыночное окружение для подключенного счёта (последнего подключенного при отсутствии связи с сервером), проверяет синхронизацию данных с сервером (опять же, при наличии подключения), закачивает недостающие котировки со стартовой даты тестирования (при наличии подключения), формирует тестовую последовательность котировок для всех необходимых символов, и только потом начинает тестирование. Что, если ему не удалось загрузить необходимую историю (например, из-за отсутствия истории на сервере или из-за отсутствия связи с сервером ) ? Он Вам об этом и сообщает честно. На 'нет', и суда нет.
Далее, Вы хотите получить начальную дату истории на сервере (в тестере). Похоже, это свойство не входит в рыночное окружение тестера, хотя его можно было сохранить с сервера. Ошибка ли это? Думаю, нет. Ведь после начала тестирования тестер уже не может обратиться к серверу (через терминал) для закачки необходимых Вам котировок. Всё, что доступно, уже загружено тестером на этапе инициализации процесса тестирования и тестовая последовательность уже сформирована и её нельзя изменить. Вместо SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE), в Вашем случае, думаю, можно использовать SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), она должна работать в тестере.