Нужен простой индикаторчик.

 
Помогите пожалуйста кто разбирается в программировании.Необходимо чтобы вертикальная линия из стандартного набора мт4 постоянно висела на последнем баре, т.е. после того как я её выставил на время последнего бара в момент образования следующего эта линия должна перескакивоть соответственно на него. Можно ли такое сделать ?
 
можно
 
//---------------------------------------------------------------   init
int init() { return(0); }
//---------------------------------------------------------------   deinit
int deinit() { ObjectDelete(Symbol()+"VVV"); return(0); }
//---------------------------------------------------------------   start
int start()
{
	if (ObjectFind(Symbol()+"VVV")<0) ObjectCreate(Symbol()+"VVV", OBJ_VLINE, 0, TimeCurrent(), 1.32);
	else ObjectSet(Symbol()+"VVV", OBJPROP_TIME1, TimeCurrent());
}
 
Уважаемый sergeev, спасибо закод, подскажите куда его необходимо вставить.
 
Alligator >>:
Уважаемый sergeev, спасибо закод, подскажите куда его необходимо вставить.

это эксперт. 

 
Огромное спасибо, всё работает! То что нужно.
 
sergeev >>:

спасибо, а скриптом или индикатором сделать можете ?

 
med1um >>:

спасибо, а скриптом или индикатором сделать можете ?

индикатором

Файлы:
 
                                                                    //https://forum.mql4.com/ru/24266
#property indicator_chart_window

//---------------------------------------------------------------   init
int init() { return(0); }
//---------------------------------------------------------------   deinit
int deinit() { ObjectDelete(Symbol()+" Vertikal"); return(0); }
//---------------------------------------------------------------   start
int start()
{
if(ObjectFind(Symbol()+" Vertikal")<0) 
ObjectCreate(Symbol()+" Vertikal",OBJ_VLINE,0,TimeCurrent(),1.32);
                                                                //        А ЧТО ТАКОЕ 1.32 ?
else ObjectSet(Symbol()+" Vertikal", OBJPROP_TIME1, TimeCurrent());//ПЕРВАЯ КООРДИНАТА ВРЕМЕНИ
     ObjectSet(Symbol()+" Vertikal", OBJPROP_STYLE, 1);            //ДЛИННЫЙ ПУНКТИР
     ObjectSet(Symbol()+" Vertikal", OBJPROP_COLOR, Magenta);      //ЦВЕТ
     ObjectSet(Symbol()+" Vertikal", OBJPROP_WIDTH, 0);            //ТОЛЩИНА
     ObjectSet(Symbol()+" Vertikal", OBJPROP_BACK, 1);             //ФОНОВЫЙ ОБЪЕКТ
/*	     
Справочник MQL4  Стандартные константы  Свойства объектов 
- https://docs.mql4.com/ru/constants/objects/properties	  
Потренировался
Удачи
*/ 
}
//
 

а может и мне кто-нить поможет, как прописать несколько имён для удаления

#property copyright "***"
#property link      "***"

#include <WinUser32.mqh>

int start() {
   for (int x = 0; x < ObjectsTotal(); x++) {
      if (StringFind(ObjectName(x), "ИМЯ") == 0) {
         ObjectDelete(ObjectName(x));
         x--;
      }
   }
   int X = WindowHandle(Symbol(), Period());
   if (X != 0) PostMessageA(X, WM_COMMAND, 33324, 0);
   return (0);
}
 
NEKSUS_ >>:

а может и мне кто-нить поможет, как прописать несколько имён для удаления


int NamesCount = 5;
string name[] = {"Name1","Name2","Name3","Name4","Name5"};


for(int x=ObjectsTotal()-1;x>=0;x--) 
for(int i=NamesCount-1;    i>=0;i--)
    if(StringFind(ObjectName(x), name[i]) != -1) 
        ObjectDelete(ObjectName(x));


Например, так.

Или лучше так :


int DelObjs(int N, string Names[])
{
if(N<=0) return(N);
int x=ObjectsTotal()-1;
int cnt=0;
int err = GetLastError();
string objN = "";
    for(;x>=0;x--) 
    {
        objN = ObjectName(x);
        for(int i = N-1;i>=0;i--)
        {
            if(StringFind(objN, name[i]) != -1)
            {
                if(ObjectDelete(objN)) cnt++;
                else 
                {
                     err = GetLastError();
                     Print("Del object ", objN ," <",name[i],"> error(",err,"): ",ErrorDescription(err));
                }
            
            }
        }
    }
return(cnt);
}


Успехов.

Причина обращения: