помогите с советником

 
как сделать так чтобы советник открывал ордера в определенное время например в 10:20 ?
Файлы:
1.mq4  3 kb
 

Для селов:

if (napr == 0 && TimeHour(TimeCurrent())==10 && TimeMinute(TimeCurrent())==20)

Для баев:

if (napr == 1 && TimeHour(TimeCurrent())==10 && TimeMinute(TimeCurrent())==20)
 
что то не получается. Вообще ордера перестал выставлять
 
SamMan писал (а) >>
if TimeHour(TimeCurrent())==10 && TimeMinute(TimeCurrent())==20)

Зачем так сложно?

if((Hour()==10) && ......)
 

А лутше вот-так

if(Hour()==10)
   if(Minute()==20)
      if(Seconds()==0)
         OrderSend(Symbol(),OP_BUY,0.2,Ask,2,Bid-33*Point,Bid+84*Point);     //Ордер для примера

 
disist писал (а) >>

А лутше вот-так

if(Hour()==10)
if(Minute()==20)
if(Seconds()==0)
OrderSend(Symbol(),OP_BUY,0.2,Ask,2,Bid-33*Point,Bid+84*Point); //Ордер для примера

и как часто по вашему точно в это время присутствует ТИК ? Да при таком написании условий врядли что пройдет

extern int   OpenHour = 10;
extern int   OpenMinute = 20;

if(Hour()==OpenHour && (Minute()>=OpenMinute && Minute()<OpenMinute+2)){Открыть позицию; Sleep(3000);}
таким образом мы даем две минуты на приход тика и исполнение ордера и выходим из условия через 3 мин, что гарантированно тне даст ложных срабатываний
 

а можно и так

int H=Hour();
int M=Minute();
double HM=(H+(M/100));

тогда 10:35 будет так

if (HM==10.35)

{

действие ....

}

 
Parabellum писал (а) >>

Зачем так сложно?


if((Hour()!=10)return(0);
еще проще вариант
 
slayer писал (а) >>
еще проще вариант
if((Hour()!=10||(Minute()!=20))return(0);
Вот что нужно!!!
Причина обращения: