Вопрос по отображению текстовой информации в MQL4

 
Требуется, чтобы при свершении события на графике появлялся текст (по изучению мануала, я так понял это должен быть объект типа "Текст"). Например, при рисовании Зигзага, при появлении изгиба появлялся бы процент отклонения от предыдущей вершины (появлялся и сохранялся бы, то есть над каждым изгибом должен быть текст). Думается, что не мне одному нужна такая функция и уверен, что где то это уже описано. Буду рад ссылкам или объяснению (примеру).
 

Благодарю! Но сложновато! Неужели нет способа проще?
 

а в чем сложность-то ?

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

 
Но для этого надо отлавливать координаты, куда текст вставлять. Учитывая, что с mql знаком примерно месяц, то без более-менее внятного обзора, как это делается - сложно. Но, что делать, буду разбираться.
 
everettt:
 
Хорошие статьи Язык MQL4 для "чайников"
 
Abzasc:
Хорошие статьи Язык MQL4 для "чайников"

Никто ж и не спорит =). Но то, что нужно мне, там, к сожалению, не описано. Уже ни раз искал.
 


Буду признателен, если тыкнешь в момент в коде, который позволяет оставлять на графике много "текстов", а не один.

 
everettt:


Буду признателен, если тыкнешь в момент в коде, который позволяет оставлять на графике много "текстов", а не один.

вот эти строки рисуют непосредственно текстовые метки (функция DrawInfo())

if (ObjectFind(id) == -1)
   {
      ObjectCreate(id, OBJ_TEXT, 0, endDraw, pos);
      ObjectSet(id, OBJPROP_COLOR, FontColor);
   }
 
   ObjectMove(id, 0, endDraw, pos);
   ObjectSetText(id, text, FontSize, FontName);

соответственно, ранее в этой функции формируется имя (id) будущего объекта, отображаемый текст (text), позиция -ценовая или иная, в общем координата по вертикали (pos), координата времени (endDraw) передается в функцию в качестве параметра, остальные параметры цветовой метки - цвет, размер и название шрифта (FontColor,FontSize,FontName) заданы глобально..

соответственно, условие отрисовки метки определяется в функции SetExtremum().. дальше сам..

 
keekkenen


Благодарю! Если разберусь, попробую описать детальнее для таких же чайников как я =)
 
int Counter=0;              //счетчик для образования множества текстовых меток
string nomer="nomer";       //базовое имя текстовой метки

void Pro(int index, double tekuch_otklon)
{

string Text=1;
Text=DoubleToStr(tekuch_otklon,5);

color Color=DeepSkyBlue;
      string Obj_Procent = nomer + Counter;              // образуем текстовую метку с названием nomer1, затем nomer2 и т.д.
      Counter++;                                         // изменяем номер
      ObjectCreate(Obj_Procent,OBJ_TEXT,0,0,0);          // Создаём новый объект 
      ObjectSet(Obj_Procent,OBJPROP_TIME1, Time[index]);   // Координата Х            
      ObjectSet(Obj_Procent,OBJPROP_PRICE1, Low[index]-0.0030);   // Координата Y
      
      ObjectSetText(Obj_Procent, Text,14,"MS Sans Serif",Color);// Текстовое описание объекта
}


Все оказалось гораздо проще. Чтобы создать множество текстовых меток, надо просто каждый раз изменять имя этой метки, что и приводится в коде

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