Группа "Стол заказов MQL"

Рейтинг 2161



РЕКОМЕНДУЮ




Лучшее от divelse



индикатор aтp Комментариев 20
2018-04-29 17:47:09Рейтинг 0

Вопрос программисту Комментариев 1
2018-05-04 12:01:38Рейтинг 0

Доработка заказа Комментариев 4
2019-04-29 20:44:58Рейтинг 0

Индикатор из полос Комментариев 5
2022-08-26 10:48:35Рейтинг 0

Прошу создать помойника Комментариев 3
2022-10-24 18:23:43Рейтинг 0

Прошу создать помойника

Здравствуйте, прошу создать не стандартный индикатор который бы скрывал все объекты кроме некоторых.

1) создать 2 label не важно каких и вывести на экране
2) создать 1 button
3) по нажатию на кнопку должны скрываться все объекты кроме 2 label
P.S Если мы создадим новый объект он тоже должен скрываться при следующем нажатии на кнопку, как и любой новый объект

скрытие нужно сделать через OBJ_NO_PERIODS, EMPTY

Спасибо
  • +1
  • Просмотров: 1502
  • 24 октября 2022, 18:23
  • divelse
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
Следующая запись в группе  
Прошу написать советник
24 октября 2022
26 октября 2022

Брокер для ваших роботов, 15 лет на рынке

Комментарии (3)

0
а в чем запара то? почему самостоятельно не сделали?
avatar

  35  AM2 Сообщений: 16665 - Андрей

  • 24 октября 2022, 19:27
0
А как найти ВСЕ объекты на графике? каким-то перебором имен? как узнать имена ВСЕХ объектов?
avatar

  15  verta81 Сообщений: 489

  • 27 октября 2022, 00:25
0

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
 
{
   
ButtonCreate("Button",200,20,80,25,"Button");
   
LabelCreate("Label1",50,50,"Label1");
   
LabelCreate("Label2",50,70,"Label2");
   
//---
   
return(INIT_SUCCEEDED);
 
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
 
{
   
ObjectsDeleteAll();
 
}
//+------------------------------------------------------------------+
//| Создает текстовую метку                                          |
//+------------------------------------------------------------------+
bool LabelCreate(string name,int x,int y,string text)
 
{
//--- создадим текстовую метку
   
ObjectCreate(0,name,OBJ_LABEL,0,0,0);
//--- установим координаты метки
   
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
   
ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_LEFT_UPPER);
//--- установим текст
   
ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   
ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12);  
//--- установим цвет
   
ObjectSetInteger(0,name,OBJPROP_COLOR,clrRed);
   
return(true);
 
}
//+------------------------------------------------------------------+
//| Создает кнопку                                                   |
//+------------------------------------------------------------------+
bool ButtonCreate(string name,int x,int y,int width,int height,string text)
 
{
//--- создадим кнопку
   
ObjectCreate(0,name,OBJ_BUTTON,0,0,0);
//--- установим координаты кнопки
   
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);
   
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);
//--- установим размер кнопки
   
ObjectSetInteger(0,name,OBJPROP_XSIZE,width);
   
ObjectSetInteger(0,name,OBJPROP_YSIZE,height);
//--- установим угол графика, относительно которого будут определяться координаты точки
   
ObjectSetInteger(0,name,OBJPROP_CORNER,CORNER_RIGHT_UPPER);
//--- установим текст
   
ObjectSetString(0,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
   
ObjectSetString(0,name,OBJPROP_FONT,"Arial");
//--- установим размер шрифта
   
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,12);
//--- установим цвет текста
   
ObjectSetInteger(0,name,OBJPROP_COLOR,clrBlack);
//--- установим цвет фона
   
ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clrCoral);
//--- установим цвет границы
   
ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clrCoral);  
//--- переведем кнопку в заданное состояние
   
ObjectSetInteger(0,name,OBJPROP_STATE,false);
 
   
return(true);
 
}
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Erase()
 
{
   
for(int i=0;i<ObjectsTotal();i++)
     
{
     
if(ObjectName(i)=="Button" || ObjectName(i)=="Label1" || ObjectName(i)=="Label2") continue;
       
{
         
ObjectSetInteger(0,ObjectName(i),OBJPROP_TIMEFRAMES,OBJ_NO_PERIODS, EMPTY);
         
PrintFormat("Объект %d: Имя объекта - %s",i,ObjectName(i));
       
}
     
}
 
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
 
{
   
if(ObjectGetInteger(0,"Button",OBJPROP_STATE))
     
{
     
Erase();
     
ObjectSetInteger(0,"Button",OBJPROP_STATE,false);
     
}
 
}
//+------------------------------------------------------------------+
avatar

  15  verta81 Сообщений: 489

  • 27 октября 2022, 01:13

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