Подскажите как лучше сделать? - страница 2

 

извращенец.. уберите код из инит..

вместо

ObjectSetText("_profit",_profit,16,"Garamond",Yellow);
   ObjectSet("_profit", OBJPROP_CORNER,1);
   ObjectSet("_profit", OBJPROP_XDISTANCE,1);
   ObjectSet("_profit", OBJPROP_YDISTANCE,10);

используйте

setLabel("_profit", 0, _profit, Yellow, 1, 1, 10, false, 16,"Garamond");


функция setLabel

//+------------------------------------------------------------------+
//| Отрисовка метки                                                  |
//+------------------------------------------------------------------+
void setLabel(string name, int window, string text, color col, int corner,
            int x, int y, bool back = false, int fontsize = 9, 
            string fontname = "Tahoma") {
   if (ObjectFind(name)==-1){
      // создание объекта, если не создавался или был удален
      ObjectCreate(name, OBJ_LABEL, window, 0, 0);
      ObjectSetText(name, text, fontsize, fontname, col);
      ObjectSet(name, OBJPROP_CORNER, corner);
      ObjectSet(name, OBJPROP_BACK,back);
      ObjectSet(name, OBJPROP_XDISTANCE, x);
      ObjectSet(name, OBJPROP_YDISTANCE, y);          
   }else{
      ObjectSetText(name, text, fontsize, fontname, col);
      ObjectSet(name, OBJPROP_CORNER, corner);
      ObjectSet(name, OBJPROP_BACK,back);
      ObjectSet(name, OBJPROP_XDISTANCE, x);
      ObjectSet(name, OBJPROP_YDISTANCE, y); 
   }  
}
 
keekkenen писал(а) >>

извращенец.. уберите код из инит..

вместо

используйте

функция setLabel

//+------------------------------------------------------------------+
//| Отрисовка метки                                                  |
//+------------------------------------------------------------------+
void setLabel(string name, int window, string text, color col, int corner,
            int x, int y, bool back = false, int fontsize = 9, 
            string fontname = "Tahoma") {
   if (ObjectFind(name)==-1)
      ObjectCreate(name, OBJ_LABEL, window, 0, 0); // создание объекта, если не создавался или был удален
   ObjectSetText(name, text, fontsize, fontname, col);
   ObjectSet(name, OBJPROP_CORNER, corner);
   ObjectSet(name, OBJPROP_BACK,back);
   ObjectSet(name, OBJPROP_XDISTANCE, x);
   ObjectSet(name, OBJPROP_YDISTANCE, y); 
}
Так вроде бы проще будет. Я в основном этот вариант использую (или аналог)
 

верно.. некогда ревизию кода сделать, кое-где такие ляпы остались, но это мелочи

 
ОГРОМНОЕ СПАСИБО.
 
TEXX писал(а) >>

Сильно не пинайте!

Чё-то не убирает с графика полученные тексты :((

 

имеется в виду когда убираете эксперта? деинит-то оставили ?

 
keekkenen писал(а) >>

имеется в виду когда убираете эксперта? деинит-то оставили ?

Когда эксперта выключаю. Деинит оставил. Мож стоит не там?

 
TEXX писал(а) >>

Когда эксперта выключаю. Деинит оставил. Мож стоит не там?

О, опять работает. Всё спать пора. Всем спасибо!