Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Нужен торговый робот? Закажи его в сервисе Фриланс!
Vasyl Nosal
18537
Vasyl Nosal 2014.10.06 05:43 

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

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

Sergey Dzyublik
4818
Sergey Dzyublik 2014.10.06 05:51  

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

Vasyl Nosal
18537
Vasyl Nosal 2014.10.06 06:56  

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

Vasyl Nosal
18537
Vasyl Nosal 2014.10.06 19:26  

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

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

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

Alexey Viktorov
6738
Alexey Viktorov 2014.10.06 19:41  
Пересчитай сколько всего объектов на чарте, может другими график забит? На выполнение деинициализации отводится ограниченное время и, возможно, не успевает перебрать все объекты.
Алексей Тарабанов
7271
Алексей Тарабанов 2014.10.06 19:52  
Парни, если вам необходим чистый зкран перед выводом построений индикатора/советника/скрипта, то извольте его очистить. 
12345678
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий