Стрелочный индикатор и ObjectsTotal()

 

Здравствуйте. Есть стрелочный индикатор. Устанавливаю индикатор на график в OnInit().  На каждой свече в OnTick() вывожу: 

Alert(ObjectsTotal());

И мне КАЖДЫЙ алерт выдает 0. Хотя стрелочек на графике много. Почему такое происходит?

 
Igor Knyazkov:

Здравствуйте. Есть стрелочный индикатор. Устанавливаю индикатор на график в OnInit().  На каждой свече в OnTick() вывожу: 

И мне КАЖДЫЙ алерт выдает 0. Хотя стрелочек на графике много. Почему такое происходит?


Потому, что вызов функции у Вас с ошибкой. Нужно, как минимум задать идентификатор графика (ObjectsTotal):

int  ObjectsTotal( 
   long  chart_id,           // идентификатор графика 
   int   sub_window=-1,      // индекс окна 
   int   type=-1             // тип объекта      
   );
 
Vladimir Karputov:


Потому, что вызов функции у Вас с ошибкой. Нужно, как минимум задать идентификатор графика (ObjectsTotal):


Задал идентификатор графика "0", выдает следующую ошибку: 


Кстати, сколько программирую на MQL4, первый раз такую вижу)
А, если задаю идентификор равный "1", то Алерты также выдают только "0". 

 
Igor Knyazkov:


Задал идентификатор графика "0", выдает следующую ошибку: 


Кстати, сколько программирую на MQL4, первый раз такую вижу)
А, если задаю идентификор равный "1", то Алерты также выдают только "0". 


Вы написали в раздел MQL5 чем запутали меня. Все вопросы по старому терминалу нужно размещать только в одном разделе: MQL4 и MetaTrader 4 
 
Vladimir Karputov:

Вы написали в раздел MQL5 чем запутали меня. Все вопросы по старому терминалу нужно размещать только в одном разделе: MQL4 и MetaTrader 4 

Я как раз и написал в разделе MQL4 и MetaTrader4, это Вы заблудились :)
 
Igor Knyazkov:

Здравствуйте. Есть стрелочный индикатор. Устанавливаю индикатор на график в OnInit().  На каждой свече в OnTick() вывожу: 

И мне КАЖДЫЙ алерт выдает 0. Хотя стрелочек на графике много. Почему такое происходит?

Потому, что индикатор не рисует объектами. Он рисует через свои буферы. А вот тип рисования буфера задаётся в индикаторе - линия, стрелки, гистограмма..., и т.д...
 
Igor Knyazkov:

Я как раз и написал в разделе MQL4 и MetaTrader4, это Вы заблудились :)

Неа, Вы написали в общем разделе, а потом Вашу тему перенесли уже в раздел старого терминала. В следующий раз внимательнее, пожалуйста.
 
Artyom Trishkin:
Потому, что индикатор не рисует объектами. Он рисует через свои буферы. А вот тип рисования буфера задаётся в индикаторе - линия, стрелки, гистограмма..., и т.д...

А подскажите, я могу как-то определить стрелочка в каком направлении(вверх или вниз) рисуется на первом баре? 
 
Vladimir Karputov:

Неа, Вы написали в общем разделе, а потом Вашу тему перенесли уже в раздел старого терминала. В следующий раз внимательнее, пожалуйста.

Ок)
 
Igor Knyazkov:

А подскажите, я могу как-то определить стрелочка в каком направлении(вверх или вниз) рисуется на первом баре? 

Посмотрите в настройках индикатора цвет его буферов.

Например: буфер 0 имеет синий цвет, буфер 1 - красный. Не видя вашего индикатора, можно предположить, что синий - стрелка на покупку, красный - на продажу.

Далее смотрите первый бар.

Если значение буфера 0 индикатора на первом баре (предположительно на покупку(стрелка вверх)) не равно нулю и не равно пустому значению (EMPTY_VALUE), то значит это стрелка вверх (на покупку).
Если значение буфера 1 индикатора на первом баре (предположительно на продажу(стрелка вниз)) не равно нулю и не равно пустому значению (EMPTY_VALUE), то значит это стрелка вниз (на продажу).

И не забывайте, что это лишь мои предположения, так как индикатора вашего я в глаза не видел.

 
Artyom Trishkin:

Посмотрите в настройках индикатора цвет его буферов.

Например: буфер 0 имеет синий цвет, буфер 1 - красный. Не видя вашего индикатора, можно предположить, что синий - стрелка на покупку, красный - на продажу.

Далее смотрите первый бар.

Если значение буфера 0 индикатора на первом баре (предположительно на покупку(стрелка вверх)) не равно нулю и не равно пустому значению (EMPTY_VALUE), то значит это стрелка вверх (на покупку).
Если значение буфера 1 индикатора на первом баре (предположительно на продажу(стрелка вниз)) не равно нулю и не равно пустому значению (EMPTY_VALUE), то значит это стрелка вниз (на продажу).

И не забывайте, что это лишь мои предположения, так как индикатора вашего я в глаза не видел.


Вопрос решился. Спасибо за помощь!
Причина обращения: