Глобальаня переменная обнуляется при смене тф mql4 ?

 
МУжики не могу понять,  глобальаня переменная чтоли обнуляется при смене тф mql4 если да то как этого можно избежать?
 
vebster005:
МУжики не могу понять,  глобальаня переменная чтоли обнуляется при смене тф mql4 если да то как этого можно избежать?

Нет, конечно. При смене тф происходит деинициализация, затем инициализация. В них что-то делаете с глобальными

 

Ответ тут и тут

Кому лень кликать:


Сохранение переменной в памяти при переключении таймфрейма индикатора
Сохранение переменной в памяти при переключении таймфрейма индикатора
  • 2020.12.07
  • www.mql5.com
При переключении таймфрейма или торговый пары графика переменные индикатора инициализируются. Мне нужно сохранить значение переменной, т.к...
 
Вообще, тут некоторая путаница. Существуют:
1) глобальные  переменные терминала;
2) переменные глобального уровня.
Первые неизменны, доступны из разных советников/индикаторов и работа с ними ведётся через функции обращения к глобальным переменным. А вторые доступны внутри программы и сбрасываются при перезагрузке.


PS. Автоподстановка ставит не ту ссылку, когда в тексте пишешь "глобальные переменные"
Должна быть вот эта: https://www.mql5.com/ru/docs/globals
 
Спасибо всем кто отписался, мужики подскажите как быть, что сделать чтобы глобальные переменные при смене тф не переинициализировались повторно

Иными словами как сохранить положение
 
vebster005 #:
Спасибо всем кто отписался, мужики подскажите как быть, что сделать чтобы глобальные переменные при смене тф не переинициализировались повторно

Иными словами как сохранить положение

Глобальные переменные уровня терминала сохраняют своё значение не только при смене ТФ, не только после переинициализации советника, но даже хранят свои значения 2 недели после выключения терминала. Для справки: глобальные переменные уровня терминала - это те, к которым можно применить команду, например GlobalVariableCheck(). Смотрите, в хелпе это тут:


 

В терминале их значения можно посмотреть по команде Сервис - Глобальные переменные. Ну, или просто нажав клавишу F3.

Дополнительное удобство их использования в том, что: а) через них можно в передавать информацию от одного советника к другому, б) из них можно сделать пульт управления режимами работы советника - не выгружая советник из оперативной памяти, можно нажать F3 и изменить значение нужной переменной РУКАМИ!!! На следующем тике советник увидит, что значение изменилось и будет действовать в соответствии с новым значением. Например, можно на-ходу отключить какой-то блок кода советника, или переключить его работу по несколько иной логике принятия решений. Иногда это бывает удобно.

 
vebster005:
МУжики не могу понять,  глобальаня переменная чтоли обнуляется при смене тф mql4 если да то как этого можно избежать?
// -----------------------------------------------------------------------------
// Обработка события - удаление эксперта
// -----------------------------------------------------------------------------
void OnDeinit(const int reason) {

    // если это смена ТФ, то ничего не удаляем
    if (reason == REASON_CHARTCHANGE) return;
    
    // освобождение ресурсов
    delete tratata;
}
Причина обращения: