
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Да я понял, что Вас это не интересует.
===
Например, для участия в чемпионате есть ограничение по времени на тестирование и многие советники его не прошли. У меня огромные массивы данных, которые надо обрабатывать и анализировать, поэтому каждая милисекунда на счету. Некоторым разработчикам эта информация может пригодится.
Обратите внимание на то, что в тестере больше влияние имеют состояние кешей и поднятых данных, чем MQL5 код.
То есть, внутреннее состояние кешей тестера очень сильно влияет на результат. Чтобы невелировать их влияние, нужно проводить множественные повторяющиеся тесты с усреднением результатов.
... Давайте найдем настоящий артефакт, который будет интересно тестировать, так как этот пример уже не интересен.
Мало обнаружить артефакт, надо разобраться почему так получается. Подожду правильного ответа .
Обратите внимание на то, что в тестере больше влияние имеют состояние кешей и поднятых данных, чем MQL5 код.
То есть, внутреннее состояние кешей тестера очень сильно влияет на результат. Чтобы невелировать их влияние, нужно проводить множественные повторяющиеся тесты с усреднением результатов.
Всё что Вы говорите понятно, я весь вечер гонял тесты и так и эдак: перезагружал терминал, перезапускал компьютер, включал и выключал свет в комнате и т.п :). Но нашёл причину разных скоростей исполнения. Пусть это останется задачкой для проверки знаний по MQL5.
Да я понял, что Вас это не интересует.
===
Например, для участия в чемпионате есть ограничение по времени на тестирование и многие советники его не прошли. У меня огромные массивы данных, которые надо обрабатывать и анализировать, поэтому каждая милисекунда на счету. Некоторым разработчикам эта информация может пригодится.
Поскольку эта тема большого интереса не вызвала, то озвучу свою версию разной скорости исполнения представленных кодов.
ВЫВОД (для рассмотренных тестов): Чем меньше размер скомпилированного файла, тем быстрее он исполняется (в большинстве случаев это очевидно).
Теперь, немного изменим описание в разделе данных исследованных тестов:
т.е. изменена очерёдность перечисления элементов структуры. Переменная типа datetime перемещена на первую позицию.
Протестируем и эти варианты:
Выводы делайте сами...
Рекомендую тщательно проектировать структуры и возможно классы, поскольку это может увеличить (или снизить) быстродействие ваших программ. Про это написано в справке. Кроме того, если используется много циклов, то первыми размещайте те, у которых перебираются элементы структур или классов. Не факт, что это сработает, но проверить следует: поэкспериментируйте и сравните время исполнения.
Рекомендую тщательно проектировать структуры и возможно классы, поскольку это может увеличить (или снизить) быстродействие ваших программ.
к сожалению только разработчики компилятора знают как надо проектировать классы и структуры и алгоритмы вообще, чтоб код EX5 становился оптимальным по итогу.
так как раз на раз от компиляции - код будет разным по объему. Объем всегда разный, и что происходит внутри при каждой компиляции не особо понятно.
По словам Рената - инлайнится вообще все что можно инлайнить и даже больше (этот эффект можно видеть в профилировании, что создает непонятности второго рода - превышение 100%)
В общем откомпилируйте свои коды повторно и увидите что их объем снова изменился и скорость теста возможно тоже.
Интересно, а от коментариев, которые содержатся в експерте сильно ли увеличивается время теста, просто вставить текст статьи какой-нибудь в эксперт и посмотреьб насколько коментарии на 10000 символов к примеру загрузят ПК
коментарии какие?
//
/* */
Comment
?
тест может увеличить только Comment, так как работает со строками
первые два - ваще никак