Графика

 

Доброго времени суток всем! Для тестирования написан простенький скрипт добавления верт линий с текстом.


datetime d=D'20.01.2019';

int      p=iBarShift(0,0,d);

int start()

  {

// параметры линии "d"

  ObjectCreate("dl", OBJ_VLINE, 0, d,0);                 // создание линии (имя, команда создания, окно, время, цена)

   ObjectSetInteger(0,"dl",OBJPROP_STYLE,1);             // стиль линии

   ObjectSet("dl", OBJPROP_COLOR, Red);                  // цвет линии

   ObjectSet("dl", OBJPROP_WIDTH, 1);                    // толщина линии

//параметры текста "d"

  ObjectCreate("dt", OBJ_TEXT, 0, d,  High[p]-5);        // создание текста

   ObjectSetInteger(0,"dt", OBJPROP_COLOR, Blue);        // цвет

   ObjectSetDouble(0,"dt",OBJPROP_ANGLE,90);             // угол направление текста

   ObjectSetString(0,"dt",OBJPROP_TEXT, "TEXT1");         // описание

   ObjectSetInteger(0,"dt",OBJPROP_FONTSIZE,8);          // размер шрифта 

return(0);

  }

Привязка текста не по пикселям, а по графику. Все строится правильно. НО! не могу никак справиться с одним нюансом: Нужно чтобы выравнивание текста было с нижнего края (при любом движении графика текст должен "липнуть" к нижнему краю). У меня сейчас жесткая привязка к хаю нужного бара. Пробовал по условию перестраивать (если выходит за границы, то перестрой к нижнему пикселю координату Y) но что-то не фурычет

Кто-нибудь дайте подсказку в каком направлении копать

Документация по MQL5: Графические объекты / ObjectSetInteger
Документация по MQL5: Графические объекты / ObjectSetInteger
  • www.mql5.com
ObjectSetInteger - Графические объекты - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Ivan-1990:

Доброго времени суток всем! Для тестирования написан простенький скрипт добавления верт линий с текстом.


datetime d=D'20.01.2019';

int      p=iBarShift(0,0,d);

int start()

  {

// параметры линии "d"

  ObjectCreate("dl", OBJ_VLINE, 0, d,0);                 // создание линии (имя, команда создания, окно, время, цена)

   ObjectSetInteger(0,"dl",OBJPROP_STYLE,1);             // стиль линии

   ObjectSet("dl", OBJPROP_COLOR, Red);                  // цвет линии

   ObjectSet("dl", OBJPROP_WIDTH, 1);                    // толщина линии

//параметры текста "d"

  ObjectCreate("dt", OBJ_TEXT, 0, d,  High[p]-5);        // создание текста

   ObjectSetInteger(0,"dt", OBJPROP_COLOR, Blue);        // цвет

   ObjectSetDouble(0,"dt",OBJPROP_ANGLE,90);             // угол направление текста

   ObjectSetString(0,"dt",OBJPROP_TEXT, "TEXT1");         // описание

   ObjectSetInteger(0,"dt",OBJPROP_FONTSIZE,8);          // размер шрифта 

return(0);

  }

Привязка текста не по пикселям, а по графику. Все строится правильно. НО! не могу никак справиться с одним нюансом: Нужно чтобы выравнивание текста было с нижнего края (при любом движении графика текст должен "липнуть" к нижнему краю). У меня сейчас жесткая привязка к хаю нужного бара. Пробовал по условию перестраивать (если выходит за границы, то перестрой к нижнему пикселю координату Y) но что-то не фурычет

Кто-нибудь дайте подсказку в каком направлении копать

Попробуй к цене применить функцию WindowPriceMin(),

и способ привязки обьекта

  //--- установим способ привязки 
   ObjectSetInteger(0,"dt",OBJPROP_ANCHOR,ANCHOR_LEFT_UPPER);