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

Рейтинг 2088



РЕКОМЕНДУЮ




Лучшее от 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
  • Просмотров: 1162
  • 24 октября 2022, 18:23
  • divelse
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

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

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

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

  34  AM2 Сообщений: 15882 - Андрей

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

  13  verta81 Сообщений: 355

  • 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

  13  verta81 Сообщений: 355

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

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