Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 842

 

Вопрос по графическим объектам в МТ5.


Не могу разместить Label поверх BMP объекта.


Рисую BMP, потом рисую Label. Label получается ниже

Как-то можно управлять расположением объектов на графике? Кого-то повыше, кого-то пониже разместить?

 
Sergey Likho:

Вопрос по графическим объектам в МТ5.


Не могу разместить Label поверх BMP объекта.


Рисую BMP, потом рисую Label. Label получается ниже

Как-то можно управлять расположением объектов на графике? Кого-то повыше, кого-то пониже разместить?

Кто последний - тот и сверху. Проверил вручную - так и есть. Вы точно в своём коде НЕ ПЕРЕСОЗДАЁТЕ заново BMP?

 
Vladimir Karputov:

Кто последний - тот и сверху. Проверил вручную - так и есть. Вы точно в своём коде НЕ ПЕРЕСОЗДАЁТЕ заново BMP?

Кто первый халат одел, тот и доктор. -:)))))

 
Sergey Likho:

Вопрос по графическим объектам в МТ5.

Не могу разместить Label поверх BMP объекта.

Рисую BMP, потом рисую Label. Label получается ниже

Как-то можно управлять расположением объектов на графике? Кого-то повыше, кого-то пониже разместить?

Вы это, из примера в документации по Label,  используете? или это только BMP касается? как по отношению к другим форматам ведёт? Какой режим видимости самого BMP?:

//--- отобразим на переднем (false) или заднем (true) плане
   ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);

 
Vladimir M.:
Вы это, из примера в документации по Label,  используете? или это только BMP касается? как по отношению к другим форматам ведёт? Какой режим видимости самого BMP?:

//--- отобразим на переднем (false) или заднем (true) плане
   ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);

Да, спасибо.

На самом деле у меня достаточно громоздкий советник с большим числом панелек. И сложно разобраться в чем именно причина.

НА самом деле я почти в тупике. Сейчас  в списке объектов Labl-ы есть. (У них есть шрифт, цвет, текст...) А на графике их нету.  Как такое может быть, не пойму. 

---

Скорее всего, часа через 3, я найду строчку вроде - DeleteAllLabels, удалив которую все будет как нужно. 

 

Sergey Likho:

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

 
Sergey Likho:

Да, спасибо.

На самом деле у меня достаточно громоздкий советник с большим числом панелек. И сложно разобраться в чем именно причина.

НА самом деле я почти в тупике. Сейчас  в списке объектов Labl-ы есть. (У них есть шрифт, цвет, текст...) А на графике их нету.  Как такое может быть, не пойму. 

---

Скорее всего, часа через 3, я найду строчку вроде - DeleteAllLabels, удалив которую все будет как нужно. 

Посмотрите в свойствах объекта - на каких графиках им велено показываться

Возможно на том периоде где вы их ищите - они не показываются

Или показываются где-то далеко в прошлом или за границей экрана

...в любом случае начните со свойств объекта

 

Поле ввода OBJ_EDIT

1. Выравнивание по середине в тестере не работает. Так должно быть?  (попробуйте код ниже запустить в тестере)


2. На реал графике В списке объектов есть, а на графике нету.

Стоит поменять одно свойство в настройках МТ4. Объект появляется.

Может в коде эксперта что-то напутал. 

void OnTick()
  {
//---
   Input("Name","text here",100,100,300,20,clrBlue,10,false,clrRed);
   ChartRedraw();
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Input(string name,string text,int x,int y,int sizex,int sizey,color clr=clrGreen,int tsize=10,bool readOnly=false,color txtcolor=clrRed,int align=ALIGN_CENTER)
  {
   if(!ObjectCreate(0,name,OBJ_EDIT,0,1,1)){printf(GetLastError());}
   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
   ObjectSetInteger(0,name,OBJPROP_XSIZE,sizex);
   ObjectSetInteger(0,name,OBJPROP_YSIZE,sizey);
   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,tsize);
   ObjectSetInteger(0,name,OBJPROP_COLOR,txtcolor);
   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clr);
   ObjectSetString(0,name,OBJPROP_TEXT,text);
   ObjectSetInteger(0,name,OBJPROP_ALIGN,ALIGN_CENTER);
  }

Кстати, почти этот же код в МТ4 работает как нужно. 


3. Еще я решил наконец-то перейти на МТ5. И с этими ордерами и позициями все никак не разберусь. (Есть материал на эту тему?) Подскажите, как можно прочитать позиции по аналогии с МТ4?  Мне нужно найти сделку по тикету. Так же пока не пойму как прочитать СЛ и ТП в истории?

 
Sergey Likho:

Поле ввода OBJ_EDIT

1. Выравнивание по середине в тестере не работает. Так должно быть?  (попробуйте код ниже запустить в тестере)


2. На реал графике В списке объектов есть, а на графике нету.

Стоит поменять одно свойство в настройках МТ4. Объект появляется.

Может в коде эксперта что-то напутал. 

Кстати, почти этот же код в МТ4 работает как нужно. 


3. Еще я решил наконец-то перейти на МТ5. И с этими ордерами и позициями все никак не разберусь. (Есть материал на эту тему?) Подскажите, как можно прочитать позиции по аналогии с МТ4?  Мне нужно найти сделку по тикету. Так же пока не пойму как прочитать СЛ и ТП в истории?

Тестер мт5 с графикой не работает, можно только понажимать кнопки, и всё.

Что такое позиция и ордер, это общеизвестный факт: Ордер - это приказ(почитайте смысл/перевод слова, можно в вики), то есть, приказ если цена достигнет, то брокер обязан его исполнить(Отложные ордера), позиция - это ваша занятая позиция в рынке на определённой цена(место в рынке), то есть Buy и Sell.   Buy и Sell не может быть приказом(ордером), это уже выполнено.

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

 
Vitaly Muzichenko:

Тестер мт5 с графикой не работает, можно только понажимать кнопки, и всё.

Что такое позиция и ордер, это общеизвестный факт: Ордер - это приказ(почитайте смысл/перевод слова, можно в вики), то есть, приказ если цена достигнет, то брокер обязан его исполнить(Отложные ордера), позиция - это ваша занятая позиция в рынке на определённой цена(место в рынке), то есть Buy и Sell.   Buy и Sell не может быть приказом(ордером), это уже выполнено.

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

Спасибо. 

Подскажите, почему На реал графике OBJ_EDIT может не отображаться?