Образцовая статья!
Глобальные переменные терминала — незаменимое средство при разработке сложных и надежных экспертов. Освоив работу с глобальными переменными терминала, вы уже не сможете представить себе создание экспертов на MQL5 без их использования.
Как-то обхожусь без глобальных переменных терминала. Не возникает задач, где они бы были нужны.
Образцовая статья!
Как-то обхожусь без глобальных переменных терминала. Не возникает задач, где они бы были нужны.
Ну скажем так, есть моменты когда без них обойтись не представляется возможным, ну разве что запись в файл, а потом его чтение, но это очень ресурсоёмко для многих задач, вот тут и придут на помощь глобальные терминала.
Не следует путать глобальные переменные терминала со всем известными глобальными переменными программы (рис. 2) и пытаться найти им аналогию в других языках программирования, если вы с ними знакомы.
Ну тут конечно есть некоторые сомнения, чем не замена в языке js и php, в пределах домена работают, впрочем как и глоб.терминала работают только в окружении индивидуального терминала
Ну скажем так, есть моменты когда без них обойтись не представляется возможным, ну разве что запись в файл, а потом его чтение, но это очень ресурсоёмко для многих задач, вот тут и придут на помощь глобальные терминала.
Нет. Другое имел в виду. Взаимодействие ТС - не было таких задач.
...
Ну тут конечно есть некоторые сомнения, чем не замена в языке js и php
В общем-то да, не подумалось об этом. Ну и хорошо, в этом есть смысл (учитывая некоторые заморочки при использовании cookie и которые полностью отсутствуют при использовании глобальных переменных).
Нет. Другое имел в виду. Взаимодействие ТС - не было таких задач.
Ну смотрите, простейшее: есть советник и нужно что-то делать по времени, предположим не чаще чем раз в три часа. Если не использовать глоб.переменные, то после перезагрузки терминала мы полностью теряем контроль времени и не знаем когда событие последний раз выполнялось, а вот если время хранить в глобальной переменной, то мы можем в любой момент получить это время, независимо от того, сколько раз перезагружали терминал.
Да и вообще, область применения очень широкая, и как писал ранее, то без них обойтись не всегда получается.
Образцовая статья!
Как-то обхожусь без глобальных переменных терминала. Не возникает задач, где они бы были нужны.
Как бы вы решили такую задачу: стратегия стоп-переворот - у рыночного ордера на стоплоссе стоит стопордер увеличенного объема, и так выполняется переворот и увеличение лота пока не будет прибыль. Но коэффициент умножения равен 1.4, такой коэффициент, что не при каждом умножение будет фактическое увеличение лота (из-за необходимости выполнять нормализацию лота). Здесь только считать через MathPow(), а значит нужно начальный лот и индекс ордера.
Можно и по истории пройти, но все равно, начальный ордер должен быть как-то помечен.
Как бы вы это сделали без глобальных переменных?
Как бы вы решили такую задачу: стратегия стоп-переворот - у рыночного ордера на стоплоссе стоит стопордер увеличенного объема, и так выполняется переворот и увеличение лота пока не будет прибыль. Но коэффициент умножения равен 1.4, такой коэффициент, что не при каждом умножение будет фактическое увеличение лота (из-за необходимости выполнять нормализацию лота). Здесь только считать через MathPow(), а значит нужно начальный лот и индекс ордера.
Можно и по истории пройти, но все равно, начальный ордер должен быть как-то помечен.
Как бы вы это сделали без глобальных переменных?
От статьи ожидал пояснения:
-- как и где хранятся глобальные переменные (в памяти, на диске)
-- как часто можно считывать эти глобальные переменные
-- и т.п.
К сожалению, ответов на вопросы в статье не нашёл.
Ну смотрите, простейшее: есть советник и нужно что-то делать по времени, предположим не чаще чем раз в три часа. Если не использовать глоб.переменные, то после перезагрузки терминала мы полностью теряем контроль времени и не знаем когда событие последний раз выполнялось, а вот если время хранить в глобальной переменной, то мы можем в любой момент получить это время, независимо от того, сколько раз перезагружали терминал.
Да и вообще, область применения очень широкая, и как писал ранее, то без них обойтись не всегда получается.
Да, при такой постановке глобальные переменные идеальны. У меня просто ни разу при написании ТС и индикаторов не возникало задач, где нужно было бы что-то запоминать на уровне терминала.
Поэтому несколько удивило такое утверждение
Глобальные переменные терминала — незаменимое средство при разработке сложных и надежных экспертов. Освоив работу с глобальными переменными терминала, вы уже не сможете представить себе создание экспертов на MQL5 без их использования.
Владею глобальными переменными, графическими объектам и файлами на хорошем уровне. Но никогда с помощью них (и чего-либо другого) ничего не запоминал для ТС. Хотя, вроде, ТС были надежными и довольно тяжелыми.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Основы программирования на MQL5: Глобальные переменные терминала:
Глобальные переменные терминала — незаменимое средство при разработке сложных и надежных экспертов. Освоив работу с глобальными переменными терминала, вы уже не сможете представить себе создание экспертов на MQL5 без их использования.
Не следует путать глобальные переменные терминала со всем известными глобальными переменными программы (рис. 2) и пытаться найти им аналогию в других языках программирования, если вы с ними знакомы.
Рис. 2. Фрагмент кода эксперта MovingAverage из примеров терминала, глобальные переменные программы выделены красной областью
Основная особенность и отличие глобальных переменных терминала в том, что они сохраняют свои значения даже после закрытия терминала. Именно поэтому они являются очень удобным и быстрым средством для хранения важных данных и становятся почти незаменимыми при разработке надежных экспертов со сложным взаимодействием между ордерами. Когда вы освоите работу с глобальными переменными терминала, вам будет сложно представить себе создание экспертов на MQL5 без их использования.
Автор: Dmitry Fedoseev