!!!Опять про время работы советника :)

 
Доброе время суток! Очень нужна помощь! Я в программировании новичок и пишу эксперта методом "тыка". Столкнулся с такой проблемой: никак не получается вставаить в советник функцию работы советника по времени. Огромная ко всем просьба, покажите на примере советника MACD Sample как это сделать (например с 10:00 до 20:00 советник торгует, а в остальное время нет). Заранее огромное человеческое спасибо!!!
 
Maniac писал(а) >>
Доброе время суток! Очень нужна помощь! Я в программировании новичок и пишу эксперта методом "тыка". Столкнулся с такой проблемой: никак не получается вставаить в советник функцию работы советника по времени. Огромная ко всем просьба, покажите на примере советника MACD Sample как это сделать (например с 10:00 до 20:00 советник торгует, а в остальное время нет). Заранее огромное человеческое спасибо!!!

Почему опять?

 
int start()
{
    datetime curTime = TimeCurrent();
    if (Hour(curTime) < 10 || Hour(curTime) > 20) return(404);
// . . .

так что-ли?
 
Figar0 >>:

Почему опять?

Потому что эта тема не раз обсуждалась на форуме. И коды вылаживались. А у меня всё равно ничего не выходит. Может я эти коды не туда вставляю, поэтому я и попросил сделать на примере MACD Sample.

 
extern int     HourStart      =       -1;
extern int     HourStop       =       -1;

int start() { 
  if (!CheckHour()) return(0);
//      ................
   return(0);
} 

bool CheckHour(){
   if (HourStart==-1 || HourStop==-1) return(true);
   if (HourStart == HourStop && TimeHour(Time[0])==HourStart) return(true);
   if (HourStart<HourStop)
      if (HourStart<=TimeHour(Time[0]) && TimeHour(Time[0])<=HourStop) return(true);
   if (HourStart>HourStop)
      if (HourStart>=TimeHour(Time[0]) || TimeHour(Time[0])>=HourStop) return(true);
   return(false);
}
 
Vinin писал(а) >>

у меня вот так.. есть ли изьяни? пока пользуюсь етим и безошибочно...

bool TradeTime() { if (Hour()>=StartTimeTrade && Hour()<StopTimeTrade) return(true); else return(false);}

 
maryan.dirtyn писал(а) >>

у меня вот так.. есть ли изьяни? пока пользуюсь етим и безошибочно...

bool TradeTime() { if (Hour()>=StartTimeTrade && Hour()<StopTimeTrade) return(true); else return(false);}

Есть изъян, работает только для StartTimeTrade<=StopTimeTrade, а если надо торговать с 23 до 3?

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