Проблемы с функцией "Comment"

 
Есть индикатор определяющий пригодность конкретного бара для торговли:
{
      EB_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer1",7,i);
      IB_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer4",7,i);
      OSZ_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer2",7,i);
      AZ_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer3",7,i);
      TT_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer4",6,i);
      airBC_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer4",5,i);
      
         RA[i] = EB_i[i] + IB_i[i] + OSZ_i[i] + AZ_i[i] + TT_i[i] + airBC_i[i];
         
               
      if (RA[i] == -1 || RA[i] == 0)   Comment("Aggressively! - 100%");
      if (RA[i] == 1)                  Comment("Somewhat aggressively - 80%");
      if (RA[i] == 2)                  Comment("Conservatively - 60%");
      if (RA[i] == 3)                  Comment("Very conservatively - 40%");
      if (RA[i] == 4 || RA[i] == 5)    Comment("No entry! - 0%");
     
      if (OSZ_i[i] == 1)   Comment("*Oversized zone -1");
      if (IB_i[i] == 1)    Comment("*Inner bar -1");
      if (EB_i[i] == 1)    Comment("*Equilibrium bar -1");
      if (AZ_i[i] == 1)    Comment("*Air pokets are not large -1");
      if (TT_i[i] == 1)    Comment("*Specified types of trading -1");
      if (airBC_i[i] == 1) Comment("*BC air poket is the largest +1");
      
  }
Через Comment должен быть видно показатель RA (в зависимости от его размера), а затем пояснения, в виде высвечивания переменных OSZ, IB, EB и т.д., которые отвечают определенным условиям. К сожалению, индикатор в таком виде показывает только: либо одну из переменных OSZ, IB, EB и т.д., либо RA (но только в случае, если убрать (в смысле не выводить на чарт) переменные OSZ, IB, EB и т.д.).
           Подскажите, что не так с использованием Comment ?
 
соммент на графике может быть только 1 . вам нужно использовать либо объект типа лабел либо формировать строку заранее а потом выводить ее с помощью функции коммент.
 
expromt >>:
соммент на графике может быть только 1 . вам нужно использовать либо объект типа лабел либо формировать строку заранее а потом выводить ее с помощью функции коммент.


Понятно.... Нашел эту функцию:
//------------------------------------------------------------------ SetLabel
void SetLabel(string name, int wnd, string text, color clr, int x, int y, int corn, int fontsize, string font)
{
        ObjectCreate(name, OBJ_LABEL, wnd, 0, 0); ObjectSet(name, OBJPROP_CORNER, corn); 
        ObjectSetText(name, text, fontsize, font, clr); 
        ObjectSet(name, OBJPROP_XDISTANCE, x);  ObjectSet(name, OBJPROP_YDISTANCE, y); 
}
К сожалению, ни в документации, ни в учебнике нет описания ее применения.
         Не могли бы Вы подсказать, что с этой Label нужно сделать в моем случае..... Буду крайне признателен...
 
Вот есть ветка по той же проблеме: https://forum.mql4.com/ru/9631
 
{
      EB_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer1",7,i);
      IB_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer4",7,i);
      OSZ_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer2",7,i);
      AZ_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer3",7,i);
      TT_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer4",6,i);
      airBC_i[i] = iCustom(NULL,0,"DG(tech)^risk_analizer4",5,i);
      
         RA[i] = EB_i[i] + IB_i[i] + OSZ_i[i] + AZ_i[i] + TT_i[i] + airBC_i[i];
      
      string s_1 ="",s_2="",s_3="",s_4="",s_5="",s_6="",s_7="",s_8="",s_9="",s_10="",s_11="";
                
               
      if (RA[i] == -1 || RA[i] == 0)   s_1="Aggressively! - 100%";
      if (RA[i] == 1)                  s_2=" Somewhat aggressively - 80%";
      if (RA[i] == 2)                  s_3=" Conservatively - 60%";
      if (RA[i] == 3)                  s_4=" Very conservatively - 40%";
      if (RA[i] == 4 || RA[i] == 5)    s_5=" No entry! - 0%";
     
      if (OSZ_i[i] == 1)   s_6="\n*Oversized zone -1";
      if (IB_i[i] == 1)    s_7=" *Inner bar -1";
      if (EB_i[i] == 1)    s_8=" *Equilibrium bar -1";
      if (AZ_i[i] == 1)    s_9=" *Air pokets are not large -1";
      if (TT_i[i] == 1)    s_10=" *Specified types of trading -1";
      if (airBC_i[i] == 1) s_11=" *BC air poket is the largest +1";

      Comment(s_1 + s_2 + s_3 + s_4 + s_5 + s_6 + s_7 + s_8 + s_9 + s_10 + s_11);
      
  }
 
marketeer >>:
Вот есть ветка по той же проблеме: https://forum.mql4.com/ru/9631


Спасибо, посмотрел... К сожалению, мое понимание MQL позволило мне только прицепить Alert, который более-менее что-то показывает......
С точки зрения оптимизации и глянца, можно ли переделать этот индикатор в скрипт, откуда информация выводилась бы через MassegeBox? (т.к. по-сути, интересует только последний бар, после чего информация уже больше не нужна)......
 
Azerus писал(а) >>
Есть индикатор определяющий пригодность конкретного бара для торговли:Через Comment должен быть видно показатель RA (в зависимости от его размера), а затем пояснения, в виде высвечивания переменных OSZ, IB, EB и т.д., которые отвечают определенным условиям. К сожалению, индикатор в таком виде показывает только: либо одну из переменных OSZ, IB, EB и т.д., либо RA (но только в случае, если убрать (в смысле не выводить на чарт) переменные OSZ, IB, EB и т.д.).
Подскажите, что не так с использованием Comment ?


Найди в базе Comment2 и будет тебе счастье... :)))
 
satop >>:


Огромное спасибо!!!!!!!!!
 
Azerus >>:


Огромное спасибо!!!!!!!!!

пож.

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