Скачать MetaTrader 5

OnDeinit в индикаторах

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vasyl Nosal
19297
Vasyl Nosal  

Почему после открытия графика, в индикаторах которые прикреплены к графику, не срабатывает деинит?

Это ведь логично! 

Sergey Dzyublik
5198
Sergey Dzyublik  

подробнее можно, а то только догадки что вы имели в виду (про drag and drop с обзора рынка на график с индкатором???) 

Vasyl Nosal
19297
Vasyl Nosal  

Например индикатор рисует зоны потдержки и сопротивления за 3 последних дня. В деините соотвественно удаление зон.  Вечером ПК выключаю, с утра включаю и вуаля, 4 зоны на экране(3 предыдущих и одна новая).

Прошу чтобы деинит срабатывал перед инитом, ну и после открепления индикатора. 

keekkenen
1135
keekkenen  
интересно, как индикатор будет определять, то что нужно удалять, если удаляемое не в деините определяется ?
Vladyslav Goshkov
2150
Vladyslav Goshkov  
eevviill:


Прошу чтобы деинит срабатывал перед инитом, ну и после открепления индикатора. 

Так вызовите его там самостоятельно - в чем проблема ?

void OnDeinit(const  int reazon)
{
// .........................
}
int OnInit(void)
  {
   string short_name;
// -------
    OnDeinit(0);
// -------
// .............................
//--- initialization done
   return(INIT_SUCCEEDED);
  }
Sergey Dzyublik
5198
Sergey Dzyublik  
eevviill:

Например индикатор рисует зоны потдержки и сопротивления за 3 последних дня. В деините соотвественно удаление зон.  Вечером ПК выключаю, с утра включаю и вуаля, 4 зоны на экране(3 предыдущих и одна новая).

Прошу чтобы деинит срабатывал перед инитом, ну и после открепления индикатора. 

в 670 билде - баг с причиной деинициализации при закрытии терминала (возвращает 4 - чарт закрыт, а должен 9 - терминал закрыт) 

Написал - исправили, 711 билде все работает нормально.

Dm
106
Dm  
это ещё один баг, который живёт годами, из билда в билд. я уже привык, делаю как написано выше деинициализацию во время инициализации.
keekkenen
1135
keekkenen  
eevviill:

Например индикатор рисует зоны потдержки и сопротивления за 3 последних дня. В деините соотвественно удаление зон.  Вечером ПК выключаю, с утра включаю и вуаля, 4 зоны на экране(3 предыдущих и одна новая).

Прошу чтобы деинит срабатывал перед инитом, ну и после открепления индикатора. 

а терминал как закрывается ? из того, что написано - Вечером ПК выключаю, - можно решить, что запускается какой-нибудь shutdown и терминал убивается как процесс при выключении ПК..

если терминал закрыть, то OnDeinit замечательно отрабатывает и удаляет объекты ( 711 билд)..

Vasyl Nosal
19297
Vasyl Nosal  

Не, не удаляет. Терминал нормально выключаю.

Если Деинит в Инит засунуть, то тоже не работает.

Помогло только пользовательская функция удаления объектов. 

Alexey Viktorov
15343
Alexey Viktorov  
Пересчитай сколько всего объектов на чарте, может другими график забит? На выполнение деинициализации отводится ограниченное время и, возможно, не успевает перебрать все объекты.
Алексей Тарабанов
7331
Алексей Тарабанов  
Парни, если вам необходим чистый зкран перед выводом построений индикатора/советника/скрипта, то извольте его очистить. 
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий