Прошу написать скрипт

 
Сам на С не программировал, только начал изучать MQL4.

Скрипт такой.
Входные параметры - время (часы, минуты), интервал дат, цвет.
Выходной параметр - вертикальные линии заданного цвета на всем графике в каждой дате заданного интервала в заданное время.
Чтоб разрывы в графике не влияли, это само сабой.

Зы В свое время хорошо программировал на бейсике :)
 
а ну - двое из ларца одинаковы с лица,- подать сюда скрипт!!! :-) - если сделают то сами и "съедят"! )))
Инструменты тут лежат :-) https://docs.mql4.com/ru/
 
Не приказал, а попросил ведь. Сам когда еще осилю :(

В МТ4 есть подобная функция, но например в пятницу происходит сдвиг.

На бейсике года 2000го я бы это минут за 20-30 сварганил бы. А MQL4 вообще по другому выглядит.
 
#property show_inputs
 
extern string Время="19:30";
extern string Дата_1="2005.10.25";
extern string Дата_2="2007.10.25";
extern color Цвет=Red;
  
int start()
  {
   int a, b, c, d, h, m, k;
   a=StrToTime(Дата_1);
   b=StrToTime(Дата_2);
   c=Bars-1;
   h=TimeHour(StrToTime(Время));
   m=TimeMinute(StrToTime(Время));
   for(int i=c; i>=0; i--)
     {
      if(Time[i]>a && Time[i]<b)
        {
         if(d!=TimeDay(Time[i]))
           {
            if((TimeHour(Time[i])>h) || (TimeHour(Time[i])==h && TimeMinute(Time[i])>=m))
              {
               d=TimeDay(Time[i]);
               k++;
               ObjectCreate("a"+k,OBJ_VLINE,0,Time[i],Bid); 
               ObjectSet("a"+k,OBJPROP_COLOR,Цвет);
              }
           }
        }
     }
   return(0);
  }
 
OniNePriletyat спасибо.

Попытался разобраться и вот что у меня вышло.

#property show_inputs                                   
/выводит окно со свойствами перед запуском скрипта и запрещает вывод окна                                                                           подтверждения (во второй вкладке окна можно заменить начальные данные)

extern string Время="19:30";                         
/внешняя переменная - основной тип - символьная строка
extern string Дата_1="2005.10.25";              
/внешняя переменная - основной тип - символьная строка 
extern string Дата_2="2007.10.25";               
/внешняя переменная - основной тип - символьная строка
extern color Цвет=Red;                                   
/внешняя переменная - дополнительный тип - цвет

int start()                                                          
  {
   int a, b, c, d, h, m, k;                                  
   /целый тип данных
   a=StrToTime(Дата_1);                                 
/преобразование даты в целое число в секундах от 1970 года
   b=StrToTime(Дата_2);                                 
/преобразование даты в целое число в секундах от 1970 года
   c=Bars-1;                                                      /
задается "с" - кол-во баров на графике минус один
   h=TimeHour(StrToTime(Время));                  
/преобразование времени в секунды, определяется час
   m=TimeMinute(StrToTime(Время));             
/преобразование времени в секунды, определяется минута
   for(int i=c; i>=0; i--)                                  
  /цикл, i>=0 условие окончания, шаг "-1"
      {
       if(Time[i]>a && Time[i]<b)                      
/если время между датами заданными в начале, то
          {
           if(d!=TimeDay(Time[i]))                        
/если не равно дню времени бара
               {
                if((TimeHour(Time[i])>h) || (TimeHour(Time[i])==h && TimeMinute(Time[i])>=m))  
/если час больше ИЛИ (час равен И
                                                                                                                                                                минута больше либо равна)
                     {
                      d=TimeDay(Time[i]);                                                   
/"d" равно дню времени бара
                      k++;                                                                            
/"k" увеличить на один
                      ObjectCreate("a"+k,OBJ_VLINE,0,Time[i],Bid);           
/создать линию
                      ObjectSet("a"+k,OBJPROP_COLOR,Цвет);                   
/изменить ее цвет на заданный в начале
                     }
               }
          }
      }
     return(0);
   }



ответить
 
Вот несколько простых, но подробно разобранных скриптов или экспертов, и можно самому программировать :)