Скачать MetaTrader 5

Текстовая метка "Советник в цикле"

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Maxim Obritetskiy
177
Maxim Obritetskiy  
Перерыл кучу инета в поисках темы "Как сделать так чтобы в зацикленном советнике открывались его свойства (F7 которые)", не нашел. Похоже все просто с этим мирятся, жмакают запрет советников или удаляют. Написал вот функцию, вроде с ней даже интереснее...
//+----------------------------------------------------------------------------+
//|Текстовая метка "Советник в цикле"                                          |
//|Возвращает -1 если метка сдернута со своих координат, 1 если на месте           |
//|Можно задавать время паузы                                                     |
//+----------------------------------------------------------------------------+
bool TextCycle(int sl)
{
   if (sl>0){Sleep(sl);RefreshRates();}//Если задано время паузы- обновление предопр-х переменных функция берет на себя

   int npr=1;                        //-номер угла привязки 0-3
   int X=15;                         //-X-координаты в пикселях относительно угла привязки
   int Y=15;                         //-Y-координаты в пикселях относительно угла привязки 
   string name= "Pr_bar_txt";        //-Имя объекта
   string text= "Советник в цикле";    //-Собств. текст
   string font= "Times New Roman";   //-Шрифт
   color clr= PaleGreen;             //-Цвет надписи
   int fsize= 10;                    //-Размер шрифта
   if (ObjectFind("Cicle")!=0)
    {
      ObjectCreate("Cicle",OBJ_LABEL,0,0,0,0,0,0,0);
      ObjectSetText("Cicle",text,fsize,font,clr);
      ObjectSet("Cicle",OBJPROP_CORNER,npr); 
      ObjectSet("Cicle",OBJPROP_XDISTANCE,X);
      ObjectSet("Cicle",OBJPROP_YDISTANCE,Y);
      ObjectSet("Cicle",OBJPROP_BACK,true);
    }
   if (ObjectGet("Cicle",OBJPROP_XDISTANCE)!=X||ObjectGet("Cicle",OBJPROP_YDISTANCE)!=Y)return(false);
return(true);
}
Надпись висит в аккурат под улыбающимся смайликом, пока висит,- советник зациклен, сдернул- потиково работает, можно в свойства залезть, нечаянно сдернул, можно удалить ее- заново в том же месте нарисуется и опять в цикле. Кстати, чтоб открыть свойства советника можно кликнуть мышкой по смайлику- за два года, только недавно узнал))
пример использ.:

extern int DepoDollar=10000;
int init()
{
   MathSrand(GetTickCount());
}
int deinit()
{
   if (ObjectFind("Cicle")==0)ObjectDelete("Cicle");
   Comment("");
return(0);
}
int start()
{
   while(TextCycle(1000))
    {
     if (IsStopped()||!IsExpertEnabled())break;
     DepoDollar=DepoDollar+(MathRand()%200)-100;
     Comment("Ваш депозит равен- ",DepoDollar,"$");
    }
return(0);
}

Кто как с этим борится? Не проходите мимо
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий