Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Пользуйся поиском на MQL5.community. Это просто!
Rantie
13
Rantie 2010.09.17 23:10 
Пытаюсь очистить график от текстовых обьектов.

имена обьектов хранятся в 2 массивах.

int deinit()
{
//----

for(int k = 0; k<ArraySize(objectsArray); k++){
string Obj_Name=objectsArray[k];
ObjectDelete(Obj_Name);
}

for(int k2 = 0; k2<ArraySize(objectsArray); k2++){
string Obj_Name2=objectsArray[k2];
ObjectDelete(Obj_Name);
}


//ObjectsDeleteAll();
return(0);

}


ObjectsDeleteAll(); удаляет все конечно.. а вот мой способ с циклами почему-то не работает..

подскажите пожалуйста.

и еще 1 вопрос:

Создаю объект так.


string objPeriod;

if(Period()==5) objPeriod = "OBJ_PERIOD_M5";
else if(Period()==15) objPeriod = "OBJ_PERIOD_M15";
else if(Period()==30) objPeriod = "OBJ_PERIOD_M30";
else if(Period()==60) objPeriod = "OBJ_PERIOD_H1";
else if(Period()==240) objPeriod = "OBJ_PERIOD_H4";
else if(Period()==1440) objPeriod = "OBJ_PERIOD_D1";
else objPeriod = "-1";

ObjectCreate(labelName2, OBJ_TEXT, 0, Time[i], High[i]+4*Point);
ObjectSetText(labelName2, resultNumbers2, 8, "Arial", Red);
ObjectSet(labelName2,OBJPROP_TIMEFRAMES,objPeriod);


но он отображается на всех графиках, а мне нужно только на текущем

Андрей
1890
Андрей 2010.09.18 01:32  
Rantie:

string objPeriod;

if(Period()==5) objPeriod = "OBJ_PERIOD_M5";
else if(Period()==15) objPeriod = "OBJ_PERIOD_M15";
else if(Period()==30) objPeriod = "OBJ_PERIOD_M30";
else if(Period()==60) objPeriod = "OBJ_PERIOD_H1";
else if(Period()==240) objPeriod = "OBJ_PERIOD_H4";
else if(Period()==1440) objPeriod = "OBJ_PERIOD_D1";
else objPeriod = "-1";

ObjectCreate(labelName2, OBJ_TEXT, 0, Time[i], High[i]+4*Point);
ObjectSetText(labelName2, resultNumbers2, 8, "Arial", Red);
ObjectSet(labelName2,OBJPROP_TIMEFRAMES,objPeriod);

но он отображается на всех графиках, а мне нужно только на текущем

int objPeriod;

  if(Period()==5) objPeriod = OBJ_PERIOD_M5;   <- без кавычек
  else if(Period()==15) objPeriod = OBJ_PERIOD_M15; 
  else if(Period()==30) objPeriod = OBJ_PERIOD_M30; 
  else if(Period()==60) objPeriod = OBJ_PERIOD_H1; 
  else if(Period()==240) objPeriod = OBJ_PERIOD_H4; 
  else if(Period()==1440) objPeriod = OBJ_PERIOD_D1; 
  else objPeriod = -1;

keekkenen
1135
keekkenen 2010.09.18 19:01  
Rantie:
//ObjectsDeleteAll();
return(0);

}

ObjectsDeleteAll(); удаляет все конечно.. а вот мой способ с циклами почему-то не работает..


в некоторых случаях, если нет посторонних текстовых меток, то ObjectsDeleteAll как раз неплохо и спасает

ObjectsDeleteAll(0,OBJ_TEXT);

Rantie
13
Rantie 2010.09.18 19:05  
jartmailru:

int objPeriod;

if(Period()==5) objPeriod = OBJ_PERIOD_M5; <- без кавычек
else if(Period()==15) objPeriod = OBJ_PERIOD_M15;
else if(Period()==30) objPeriod = OBJ_PERIOD_M30;
else if(Period()==60) objPeriod = OBJ_PERIOD_H1;
else if(Period()==240) objPeriod = OBJ_PERIOD_H4;
else if(Period()==1440) objPeriod = OBJ_PERIOD_D1;
else objPeriod = -1;

Rantie
13
Rantie 2010.09.18 19:05  
jartmailru:

int objPeriod;

if(Period()==5) objPeriod = OBJ_PERIOD_M5; <- без кавычек
else if(Period()==15) objPeriod = OBJ_PERIOD_M15;
else if(Period()==30) objPeriod = OBJ_PERIOD_M30;
else if(Period()==60) objPeriod = OBJ_PERIOD_H1;
else if(Period()==240) objPeriod = OBJ_PERIOD_H4;
else if(Period()==1440) objPeriod = OBJ_PERIOD_D1;
else objPeriod = -1;


Спасибо, сработало.
/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий