Кто-нибудь может, пожалйста, может подсказать?

 

Всем привет!

У меня есть индикатор сильных уровней.  Он показывает линии этих уровней серым цветом, но их нет в буфере.

Подскажите пожалуйста как написать iDustom(???) чтобы вызвать именно эти линии?

Файлы:
 
Самый быстрый способ: добавьте буфер с цветом CLR_NONE и сохраняйе в нем нужные значения уровней. Например на нулевом баре значение поддержки, на первом значение сопротивления. На графике линии видно не будет, но можно будет вызывать из эксперта и пользоваться значениями.
 

Вот как это выглядит

#property indicator_color1 Red
#property indicator_color2 Blue

extern int IndicatorNumber=1;
extern color TrendUpColor=Blue;
extern color TrendDownColor=Red;
extern color LevelColor=DarkGray;
extern int Width2LevelConfirmation=3;
extern int Width3LevelConfirmation=5;
extern int Width4LevelConfirmation=7;
extern int Width5LevelConfirmation=10;

Мне надо определять линии разной толщины.

 

Поиск линии по префиксу из индикатора, с помощью ObjectGet узнаёте толщину линии и делаете уже всё что хотите

вот пример

void fObjDeleteByPrefix(string aPrefix)
{
   for(int i=ObjectsTotal()-1;i>=0;i--)
   {
      if(StringFind(ObjectName(i),aPrefix,0)==0)
      {
         if(ObjectGet(ObjectName(i),OBJPROP_WIDTH)==5)Comment("Нашли линию толщиной 5");
      }
   }
}
 

А как это должно выглядеть в коде?..

Может есть какой нибудь пример в другом индикаторе?

 
Возьмите цикл из deinit() и вставьте последний IF
 
Korey писал (а) >>
Возьмите цикл из deinit() и вставьте последний IF

Не поняла.  Как это должно выглядеть?

 
Может у кого есть пример советика который видит объекты?
 
liza писал (а) >>

А как это должно выглядеть в коде?..

Может есть какой нибудь пример в другом индикаторе?

Наиболее эффективный вариант - потратить немного времени и чуть глубже разобраться в подробностях mql-программирования.

Посмотрите здесь https://book.mql4.com/ru/samples/icustom

и здесь https://book.mql4.com/ru/samples/shared.

Думаю, что Вам нужно обратить внимание на два момента - понятие буфер и сущность iCustom().

(смотрите на iCustom как на простую функцию - задаёшь ей параметры, она и возвращает значение; а поскольку буферов у неё может быть много, то она возвратит значение того буфера и на том баре, что указано в вызове)

Вы уже знакомы с языком в целом, поэтому, скорее всего, Вам понадобится не более 2 часов.

Если однажды уловить основную идею, то вё остальное будет легко и просто.

 
for (i=Bars-1;i>=0;i--)
   if (ObjectFind(StringConcatenate("Level_",IndicatorNumber,"_",i))!=-1)
   
   if(ObjectGet(ObjectName(i),OBJPROP_WIDTH)==5)Comment("Нашли линию толщиной 5");

Обработка тренд-линий с именем:

https://www.mql5.com/ru/code/8087

 
liza писал (а) >>
Может у кого есть пример советика который видит объекты?

Посмотрите здесь https://book.mql4.com/ru/functions/objects, здесь https://book.mql4.com/ru/functions/charts и здесь https://book.mql4.com/ru/functions/strings.

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