Новая версия платформы MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации в MQL5 и настройка инструментов в тестере стратегий - страница 21
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Долго не мог понять, почему вносимые изменения в код не сказыаются на исполнении. Оказалось вот это.
Редактор не сохраняет исходник и отказывается даже предлагать это. Что это? Перезагрузка не помогает.
Выяснил, что по какой-то причине после правки кода флаг изменения не взводился. Все посносил, работает теперь.
Долго не мог понять, почему вносимые изменения в код не сказыаются на исполнении. Оказалось вот это.
Редактор не сохраняет исходник и отказывается даже предлагать это. Что это?
По заголовку окна видно что файл сохранён. Нет звёздочки * в названии файла.
Нажми к примеру пробел в коде, в названии файла появится звёздочка, перейди на вкладку Файл, и поле Сохранить будет доступно.
Поле из вкладки файл, дублирует кнопку на панели редактора,
на панели проще отслеживать состояние сохранения, активна или нет.
Но я привык к звёздочке.
запустил профилировщик на таком коде, вызовов/время 1170 / 456 (94.21%)
потом профилировщик на таком коде, вызовов/время 1170 / 464 (89.92%)
по моему разницы особой то и нет
вот по вызовам функций раскидал
А какую разницу вы хотите увидеть? _Symbol - это переменная. Вы просто своей переменной присваиваете значение предопределённой переменной.
Сравните этот ваш код с таким
Но я привык к звёздочке.
Аналогично. Привык, что по F7 все изменения сохраняются. Но этого не происходило. Какой-то редкий баг.
Подробнее. Файл на диске без изменений (текст смотрел), этот же файл в редакторе с изменениями (текст отличается от того, что на диске). Но при этом звездочки нет.А какую разницу вы хотите увидеть? _Symbol - это переменная. Вы просто своей переменной присваиваете значение предопределённой переменной.
Сравните этот ваш код с таким
протестировал, вот результаты https://www.mql5.com/ru/forum/222141/page20#comment_14199480
Ваш код не значительный прирост показывает - на уровне корректности тестирования, т.е. если несколько раз запустить, то с моим первоначальным вариантом может не быть отличий
код от @fxsaber самый быстрый, он правильно указал на глобальную область видимости констант
протестировал, вот результаты https://www.mql5.com/ru/forum/222141/page20#comment_14199480
Ваш код не значительный прирост показывает - на уровне корректности тестирования, т.е. если несколько раз запустить, то с моим первоначальным вариантом может не быть отличий
код от @fxsaber самый быстрый, он правильно указал на глобальную область видимости констант
Нет, Игорь, я не о сравнении производительности говорил, а исключительно о том, что какую переменную использовать нет никакой разницы. И сравнение скорости выполнения тех ваших кодов могут отличаться исключительно на размер погрешности.
Нет, Игорь, я не о сравнении производительности говорил, а исключительно о том, что какую переменную использовать нет никакой разницы. И сравнение скорости выполнения тех ваших кодов могут отличаться исключительно на размер погрешности.
подправил тесты https://www.mql5.com/ru/forum/222141/page20#comment_14199480
почему то была уверенность, что компилятор MQL оптимизирует код где были расставлены модификаторы const, но поведение как у обычного С++ компилятора, модификаторы const проверяются только на этапе компиляции, в исполняемый код они уже не попадают
протестировал, вот результаты https://www.mql5.com/ru/forum/222141/page20#comment_14199480
Ваш код не значительный прирост показывает - на уровне корректности тестирования, т.е. если несколько раз запустить, то с моим первоначальным вариантом может не быть отличий
код от @fxsaber самый быстрый, он правильно указал на глобальную область видимости констант
Только отмахивался как от назойливой мухи, а теперь единственный правильный от сабера. Смешно:
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Новая версия платформы MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации в MQL5 и настройка инструментов в тестере стратегий
Artyom Trishkin, 2019.12.11 11:49
Что мешает все SymbolInfoDouble() получить в OnInit() в переменные, и использовать только переменные?
В таком же исполнении каждый раз идёт обращение за данными на сервер. А зачем? Можно же один раз их записать в переменные, и пользоваться этими данными - они же статичны.
Только отмахивался как от назойливой мухи, а теперь единственный правильный от сабера. Смешно:
нет, разговор зашел про то что оверхед возможен, и мне нужно было опять разобраться как работают модификаторы, то что можно для тестера вынести вызовы функций в глобальную область было сразу ясно
Аналогично. Привык, что по F7 все изменения сохраняются. Но этого не происходило. Какой-то редкий баг.
Подробнее. Файл на диске без изменений (текст смотрел), этот же файл в редакторе с изменениями (текст отличается от того, что на диске). Но при этом звездочки нет.Это недавно появилось. Рассинхронизация состояния сохраненности файла с реальностью.
Т.е. звездочка на файле, который сохранен, и наоборот — ее отсутствие на измененном файле.
Видимо, это все связано.