Глобальная переменная

 

Помогите разобраться. 

При первом запуске нужно задать глобальную переменную, которая не будет изменятся в процессе работы на каждом тике.

После чего при последующих запусках терминала использовать ее.

Как в нужный момент по моей команде при следующем запуске (когда нужно присвоить новое значение) сделать это.

Спасибо. 

 

Тебе нужна надглобальная.

GlobalVariableSet

 

*

Документация по MQL5: Глобальные переменные терминала
Документация по MQL5: Глобальные переменные терминала
  • www.mql5.com
Глобальные переменные терминала - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Vasyl Nosal:

Тебе нужна надглобальная.

GlobalVariableSet

Надглобальная? :))) Еще одна замена неудачному названию "Глобальные переменные". Назвали бы "Переменные терминала", а то путаница.
 

Вообще, это называется "глобальные переменные терминала" :)

Если не забывать третье слово, то путаницы меньше.

Кто не верит - зайдите таки в документацию (Igor Konyashin (i_logic) выше дал ссылку).

Документация по MQL5: Глобальные переменные терминала
Документация по MQL5: Глобальные переменные терминала
  • www.mql5.com
Глобальные переменные терминала - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Можно некоторые разъяснения... а то не пойму. 

Припустим мой советник при запуске запоминает Point_ как глобальную переменную Start_Point. Но ведь она будет обновляться на каждом тике. И как после этого применить новое значение (когда будет нужно) не переписывая код изменением имени переменной.

А в  GlobalVariableSet нужна на перед объявлять string Start_Point; или можно GlobalVariableSet(string Start_Point, Point_);

Спасибо.  

void OnTick()
  {
      F_Point();
      double b = F_Point() + 4*Point;
      Print ("F_Point() ",F_Point(),"b ",b);
  }
  
double F_Point(){
string Start_Point;

double Point_ = NormalizeDouble((Ask+Bid)/2,5);
GlobalVariableSet(Start_Point, Point_);


return(GlobalVariableGet(Start_Point));
}
 
protr:

Можно некоторые разъяснения... а то не пойму. 

Припустим мой советник при запуске запоминает Point_ как глобальную переменную Start_Point. Но ведь она будет обновляться на каждом тике. И как после этого применить новое значение (когда будет нужно) не переписывая код изменением имени переменной.

А в  GlobalVariableSet нужна на перед объявлять string Start_Point; или можно GlobalVariableSet(string Start_Point, Point_);

Спасибо.  

Имя переменной Start_Point не задано - пустая строка.
 
Alexey Volchanskiy:
Имя переменной Start_Point не задано - пустая строка.

А так не пойдет?

GlobalVariableSet(string Start_Point = "Start_Point", Point_); 

 
будет ли она перезаписываться на каждом тике?
 
Alexey Volchanskiy:
Надглобальная? :))) Еще одна замена неудачному названию "Глобальные переменные". Назвали бы "Переменные терминала", а то путаница.
Я, для себя, делю их на глобальные переменные (GV) и переменные глобального уровня. Но, видимо не всем это приемлемо. Иначе MQ давно-бы уже что-то исправили.
 
Мне как-то подсказали: записать данные в файл.