Особенности языка mql5, тонкости и приёмы работы - страница 238
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не представлял, что буду использовать в исходниках сгенерированный машиной кусок кода. Особенно в архиважном для производительности месте.
Ниже сгенерированный код.
Для генерации был написан значительно лаконичнее по коду скрипт. Это может быть целесообразно, чтобы быстро проверить гипотезы и не допустить ошибок человеческого фактора.
Не представлял, что буду использовать в исходниках сгенерированный машиной кусок кода. Особенно в архиважном для производительности месте.
Ниже сгенерированный код.
Для генерации был написан значительно лаконичнее по коду скрипт. Это может быть целесообразно, чтобы быстро проверить гипотезы и не допустить ошибок человеческого фактора.
Будьте осторожны, тот же ChatGPT допускает много ошибок, как в синтаксисе, так и в логике, поэтому надо всё перепроверять.
Но, подаван из него действительно знатный, помогает с выражением идеи в коде.
Ниже сгенерированный код.
Для генерации был написан значительно лаконичнее по коду скрипт. Это может быть целесообразно, чтобы быстро проверить гипотезы и не допустить ошибок человеческого фактора.
Не хватает исходной информации: новый код стал работать быстрее чем старый или нет?
Если нет, то зачем менять старый понятный код на новый непонятный!?
Если да, то почему MQL компилятор не смог сам сразу сгенерировать оптимальный по производительности код, при том, что возможностей для этого у него куда больше, чем у чата
Будьте осторожны, тот же ChatGPT допускает много ошибок, как в синтаксисе, так и в логике, поэтому надо всё перепроверять.
Но, подаван из него действительно знатный, помогает с выражением идеи в коде.
Генерирующий скрипт.
Не хватает исходной информации: новый код стал работать быстрее чем старый или нет?
Новый быстрее.
Если да, то почему MQL компилятор не смог сам сразу сгенерировать оптимальный по производительности код, при том, что возможностей для этого у него куда больше, чем у чата
Это алгоритмическая оптимизация, а не компиляторная.
Новый быстрее.
Это алгоритмическая оптимизация, а не компиляторная.
Насколько быстрее? На 1.5% или в 1.5 раза? И будто быстрее? Или по результатам корректных замеров?
Т.е. Вы на вход подавали ему не код, а алгоритм?
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Компиляция MQL5 программ с набором инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3 с 3902 билда
fxsaber, 2023.10.19 21:17
b4029. Будто скрипты стали на 20-50% быстрее считать.Насколько быстрее? На 1.5% или в 1.5 раза? И по ощущениям или по конкретным замерам?
Т.е. Вы на вход подавали ему не код, а алгоритм?
Это в исходнике Virtual используется. На каждом тике нужно делать четыре проверки.
Но в некоторых ситуациях (switch 0-15) можно обойтись меньшим количеством проверок: 0-4. Это зависит от ТС.
Например, если ТС открывает/закрывает позиции только маркет-ордерами и не использует SL/TP, то ни одной проверки делать не надо.
А если используются все виды отложек одновременно - нужно делать все четыре проверки: ускорения не будет.
Поэтому нужно брать конкретную ТС и смотреть результаты замеров для нее. У разных ТС разные результаты ускорения.
Можно было классифицировать случаи (количество case) на больше вариантов. Не потянул, честно говоря.
В MQL5 есть функция StringReserve, используя которую мы, теоретически, можем сократить количество перераспределений памяти для нашей строки: распределили сразу достаточно большой буфер и далее работаем в нём.
Но, как показывает практика, любое последующее присвоение значения этой строке меняет размер её буфера (т.е., видимо, происходит перераспределение памяти).
В результате, вместо
есть смысл использовать
есть смысл использовать
Точно. Такой механизм отлично работает на дописывании строки. Например, при генерации больших HTML-отчетов.
Какими способоми можно узнать, есть ли у символа данные, чтобы не оставлять его в окне [Обзор Рынка], если их нет?
Я использую такую проверку в цикле:
Но после этого не получается вручную удалить символы из окна [Обзор Рынка] ни по одному ни все сразу, пока эксперт на графике: