Ищу код чтобы вписать в советник. Торговое расписание. - страница 4

 
Alexey Viktorov:

time_st_mon - time_st_day  - time_st_evn --- это переменные. Что они означают попытайтесь понять самостоятельно.

int  - double - datetime --- это типы переменных. Не знать этого вам должно быть стыдно.

Не сто́ит благодарности.

ваши сообщения здесь также ценны как и мои вопросы.  

 
Eugene Maslyukov:

ваши сообщения здесь также ценны как и мои вопросы.  

пытаюсь сделать так - но пока что то не получается 

input uchar    InpStartHour      = 09;       // Start Hour
input uchar    InpStartMinute    = 00;       // Start Minute
input uchar    InpEndHour        = 23;       // End Hour
input uchar    InpEndMinute      = 01;       // End Minute
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   MqlDateTime STime;
//---
   if((STime.hour*60*60+STime.min*60)<InpStartHour*60*60+InpStartMinute*60)
     {
      OnTickOnTick();
      StringConcatenate(txt,"",TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES));
      DrawLABEL(3,"cm 3",txt,5,30,Lime,ANCHOR_RIGHT);
     }
   if((STime.hour*60*60+STime.min*60)>InpEndHour*60*60+InpEndMinute*60)
     {
      CloseAll();
      PlaySound("expert.wav");
      DeleteChart();
      ExpertRemoves();
     }
//---
  }
//+------------------------------------------------------------------+
 

придумал - заработало 

только выдаёт предупреждение -( ! )ставлю это -не работает . когда удаляю это(!) то работает - но выдаёт предупреждение (expression not boolean 001 eugenerobotUSDRUB.mq5 889 22)

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   MqlDateTime currTime;
   TimeLocal(currTime);
   if(currTime.hour = InpStartHour && currTime.min == InpStartMinute)
     {
      OnTickOnTick();
      StringConcatenate(txt,"",TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES));
      DrawLABEL(3,"cm 3",txt,5,30,Lime,ANCHOR_RIGHT);
     }
//---
   MqlDateTime currTime0;
   TimeLocal(currTime0);
   if(currTime0.hour = InpEndHour && currTime0.min == InpEndMinute)
     {
      CloseAll();
      PlaySound("expert.wav");
      DeleteChart();
      ExpertRemoves();
     }
//---
  }
//+------------------------------------------------------------------+
Файлы:
 
Aleksandr Klapatyuk:

придумал - заработало 

только выдаёт предупреждение -( ! )ставлю это -не работает . когда удаляю это(!) то работает - но выдаёт предупреждение (expression not boolean 001 eugenerobotUSDRUB.mq5 889 22)

отсюда вырвал - эту функцию 

block.name.1=Once an Hour
block.id.1=OnceAnHour
block.type.1=filter
block.desc.1=Executes connected blocks once an hour at certain minute (from 0 to 59). Clock is based on local time.
block.developer.1=Built-in
block.version.1=1.0
block.genmode.1=2
block.builtin.1=1

block.1.body.1=
block.2.body.1=MqlDateTime currTime;
block.3.body.1=TimeLocal(currTime);
block.4.body.1=if (currTime.hour != ~Hour~ && currTime.min == ~Minute~)
block.5.body.1={
block.6.body.1=    ~Hour~ = currTime.hour;
block.7.body.1=    ~next~
block.8.body.1=}

param.1.name.1=Hour (24 hour clock)
param.1.id.1=Hour
param.1.type.1=int
param.1.scope.1=global
param.1.accvalue.list.1=
param.1.value.1=1
param.1.hidden.1=1

param.2.name.1=Minute (0 to 59)
param.2.id.1=Minute
param.2.type.1=int
param.2.scope.1=external
param.2.accvalue.list.1=
param.2.value.1=1
 
Aleksandr Klapatyuk:

отсюда вырвал - эту функцию 

вообще не понимаю в этом ничего. Долго учиться? как это все научиться программировать?

 

для кого то - этот код составить - одна минута . мне пришлось весь день искать этот способ . 

но зато - теперь буду знать . функция вроде полезная 

 
Eugene Maslyukov:

вообще не понимаю в этом ничего. Долго учиться? как это все научиться программировать?

я сам учусь . интересное занятие

 
Aleksandr Klapatyuk:

придумал - заработало 

только выдаёт предупреждение -( ! )ставлю это -не работает . когда удаляю это(!) то работает - но выдаёт предупреждение (expression not boolean 001 eugenerobotUSDRUB.mq5 889 22)

подправил - чтобы не выдавало предупреждение.  в место этого -( ! ) нужно было -( > )

   if(currTime0.hour >= InpEndHour && currTime0.min == InpEndMinute) так правильно
   if(currTime0.hour != InpEndHour && currTime0.min == InpEndMinute) вот так не правельно
 
Файлы:
 
Aleksandr Klapatyuk:

подправил - чтобы не выдавало предупреждение.  в место этого -( ! ) нужно было

работает вроде неплохо. спасибо. уже что то есть

 
Eugene Maslyukov:

работает вроде неплохо. спасибо. уже что то есть

жаль что никак не протестить