Скачать MetaTrader 5

Метки на индикаторах

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Заведи торговый сигнал. Зарабатывай на платной подписке!
Вадим
703
Вадим 2010.04.07 22:11 

Попробовал вывести метку Label  в окно индикатора, не выводится, а на окно графика выводиться.

Можно ли сделать чтобы метка выводилась именно в окне индикатора? 

Vasily
1261
Vasily 2010.04.09 01:51  

надо воспользоваться штукой виндовс фаинд

в отличии от МКЛ4 виндовс фаинд тут работает более конректно и задание этой функции без параметров выводит текущее окно индикатора

Rashid Umarov
Админ
11812
Rashid Umarov 2010.04.09 06:01  
Почитайте статью Создание индикатора с возможностями графического управления, там есть подобные примеры.

Вадим
703
Вадим 2010.04.09 14:07  
Rosh:
Почитайте статью Создание индикатора с возможностями графического управления, там есть подобные примеры.

Я говорю не про кнопки, а про метки (Label). Они не рисуются на окнах индикаторов.
Rashid Umarov
Админ
11812
Rashid Umarov 2010.04.09 15:21  
Хорошо, проверим. Спасибо за сообщение.

Евгений
952
Евгений 2010.04.09 15:39  
Rinng писал(а)  :
Я говорю не про кнопки, а про метки (Label). Они не рисуются на окнах индикаторов.

Всё рисуется, внимательно следите за координатами метки, у них начало координат не угол основного графика, а угол подокна индикатора

поставьте координаты X и Y по нулям и увидите,  что всё рисуется

Rashid Umarov
Админ
11812
Rashid Umarov 2010.04.09 15:49  

Попробуйте запустить приложенный индикатор, который сделан на основе BW-ZoneTrade

//+------------------------------------------------------------------+
//|  создает метку в окне индикатора                                 |
//+------------------------------------------------------------------+
void SetLabel(long win_handle,string name)
  {
//---
   string label_name=name;
   if(ObjectFind(win_handle,label_name)<0)
     {
      Print("Object",label_name,"not found. Error code =",GetLastError());
      //--- создадим объект Label
      bool res=ObjectCreate(0,label_name,OBJ_LABEL,win_handle,0,0);
      if(!res) Print("Object",label_name,"not created. Error code =",GetLastError());
      //--- установим координату X
      res=ObjectSetInteger(0,label_name,OBJPROP_XDISTANCE,20);
      if (!res) Print(GetLastError());
      //--- установим координату Y
      ObjectSetInteger(0,label_name,OBJPROP_YDISTANCE,30);
      //--- зададим цвет текста
      ObjectSetInteger(0,label_name,OBJPROP_COLOR,White);
      //--- установим текст для объекта Label
      ObjectSetString(0,label_name,OBJPROP_TEXT,UP);
      //--- установим шрифт надписи
      ObjectSetString(0,label_name,OBJPROP_FONT,"Wingdings");
      //--- установим размер шрифта
      ObjectSetInteger(0,label_name,OBJPROP_FONTSIZE,10);
      
      //--- укажем привязку к правому верхнему углу
      ObjectSetInteger(0,label_name,OBJPROP_CORNER,CORNER_RIGHT_UPPER);
      
      
      //--- запретим выделение объекта мышкой
      ObjectSetInteger(win_handle,label_name,OBJPROP_SELECTABLE,false);
      //--- отрисуем на графике
      ChartRedraw(0);
     }
  }
//+------------------------------------------------------------------+



Файлы:
Вадим
703
Вадим 2010.04.09 16:13  

Упс, ссори. Спс, понял в чём ошибка. Нужно использовать    int       nwin,          // индекс окна.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий