Обновление платформы MetaTrader 4 билд 625: Журналы в MetaTrader Market и новый MetaViewer - страница 46
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Не знаю, как кому, а мне легче на душе стало.
От понимания.
От понимания чего? )
Попробуйте написать аналогичные функции для доступа к своим массивам, при этом организуя разграничение доступа, и замерьте скорость.
Уверен, будет не сильно быстрее, чем с терминальными переменными.
Если вам критично быстродействие, работайте со своими массивами, а сбрасывайте их на диск (то ли с помощью терминальных переменных, то ли с помощью файла) - по необходимости (например, по событию таймера каждые 5 минут).
Очевидно, туплю. Что значит "реально вставляется в общий поток/тело программы". Объясните на примере:
Тут инклюдник реально вставляется или нет? Что значит "работает в отдельном файле"? И что такое тогда "инклюдник" в принципе?
Пусть есть программа:
А "инклюдник" выглядит так:
Тогда программа, приведённая выше, эквивалентна следующей программе:
за исключением мелких несущественных для исполнения деталей, например, сообщений об ошибках и предупреждений, которые должны ссылаться, всё-таки, на "IncTest.mqh" и соответствующие номера строк внутри него.
Почему неразумно хотеть подсказку в mqh для переменных из mql.
Во-первых, системе сначала нужно "прошерстить" все файлы программ MQL4 на предмет - а не включают ли они "IncTest.mqh", - чтобы собрать из них информацию о глобальных переменных.
Во-вторых, - предположим, что мы не приняли во внимание "во-первых", и "шерстим" файлы. Пусть файлов, которые включают "IncTest.mqh", оказалось около 100, и в каждом - в среднем, по 4 глобальных переменных, именами почти все они отличаются друг от друга. Значит, в выпадающем списке появится под 400 значений. Удобно ли из 400 выпадающих значений будет выбирать, учитывая, что большинство из них не относятся к делу в данный конкретный момент времени?
В-третьих, прислушайтесь к artmedia70, дело говорит. В идеале, доступ к глобальным переменным должны иметь только функции OnStart() и прочие OnXXX(), которые получают управление от системы. Остальные функции всю информацию должны получать и отдавать ТОЛЬКО через параметры. Особенно это касается "инклюдников".
Это уменьшает "связность" кода, функции становятся максимально независимыми. Это важно для поддержания "управляемости" кода программы, позволяет создавать существенно более сложные программы, да ещё и при меньшем количестве "глюков".
Например:
В "инклюднике":
При этом и проблема выпадания в списке нужных переменных в "инклюднике" решится совершенно "чудесным образом".
Ну зачем такие бесполезные предупреждения:
Предупреждение: struct has no members, size assigned to 1 byte.
Раньше не было.
С какого-то билда появились проблемы с табуляциями в эдиторе: