Просьба разработчикам, глобальные переменные - страница 3

 
RickD:
Я находил такой выход. Хранил глобальные переменные на чарте в видетекстовых графических объектов. С большим смещение за видимую областьэкрана для невидимости. И написал пару функций для загрузки их с чарта и сохранения начарт.

Совершенно верно,

я в прошлом году так и сделал, когда поставили костыль,

прикрутил глобальные переменные к графическим объектам.

Но сейчас массив данных динамический и данных намного больше чтобы их выгрузить в объекты,

да и замедляет и тормозит это сильно выполнение программы.

Короче гемерой полный.

С одной стороны язык улучшается а с другой стороны кастрируется,

что приводит к таким изощрениям.

Любой кто пишет индикатор правильно, знает когда ему надо обнулять переменные и это легко засовывается в OnInit

и все замечательно работает.

 
stringo:

В справке явно написано

Загрузка и выгрузка индикаторов

Индикаторы загружаются в следующих случаях:

  • прикрепление индикатора к графику;
  • запуск терминала (если индикатор был прикреплен к графику перед предыдущим закрытием терминала);
  • загрузка шаблона (если в шаблоне указан прикрепленный к графику индикатор);
  • смена профиля (если индикатор прикреплен к одному из графиков профиля);
  • смена символа и/или периода графика, к которому прикреплен индикатор;
  • после удачной перекомпиляции индикатора, если данный индикатор был прикреплен к графику.
  • изменение входных параметров индикатора.

Индикаторы выгружаются в следующих случаях:

  • при откреплении индикатора от графика;
  • закрытие терминала (если индикатор был прикреплен к графику);
  • загрузка шаблона, если к графику прикреплен индикатор;
  • закрытие графика, к которому был прикреплен индикатор;
  • смена профиля, если индикатор прикреплен к одному из графиков сменяемого профиля;
  • смена символа и/или периода графика, к которому прикреплен индикатор;
  • изменение входных параметров индикатора.

Да вы правы, это уже новая переделанная справка

 
wlad:

Совершенно верно,

я в прошлом году так и сделал, когда поставили костыль,

прикрутил глобальные переменные к графическим объектам.

Но сейчас массив данных динамический и данных намного больше чтобы их выгрузить в объекты,

да и замедляет и тормозит это сильно выполнение программы.

Короче гемерой полный.

С одной стороны язык улучшается а с другой стороны кастрируется,

что приводит к таким изощрениям.

Любой кто пишет индикатор правильно, знает когда ему надо обнулять переменные и это легко засовывается в OnInit

и все замечательно работает.

Есть еще вариант с dll. Будет работать быстро. Внутри dll хранить все в каком-нибудь векторе или списке.
 
stringo:
Можно привязываться к ChartID. Он для каждого графика - свой

хорошая идея, но присущая только для одиночных переменных

массив сюда уже не привентишь

да и изощрение все это получается

 
RickD:
Есть еще вариант с dll. Будет работать быстро. Внутри dll хранить все в каком-нибудь векторе или списке.

да, но приходится так заморачиватся, каогда раньше все работало и было все так просто

и опыта нет у меня с длл

 
wlad:

Да вы правы, это уже новая переделанная справка

Это - давно переделанная справка!

Ей больше полутора лет. Можете посмотреть в архиве интернета

 

Я вам верю,

может подскажете, как сохранять значения в массивах при смене символа или периода графика

не знаю как без изощрения преодолеть

 
wlad:

Я вам верю,

может подскажете, как сохранять значения в массивах при смене символа или периода графика

не знаю как без изощрения преодолеть

В deinit записывайте в файл в init считывайте https://docs.mql4.com/ru/files/filewritearray
 
PozitiF:
В deinit записывайте в файл в init считывайте https://docs.mql4.com/ru/files/filewritearray
Хорошая идея
Спасибо
Попробую

Причина обращения: