Помогите новичку pls...

 
Как правильно реализовать:

if (бай||селл=успешно) {пауза 2 бара};
 
Sleep()
Это подойдёт ?
 

лучше так


if ((бай||селл=успешно) && isTime(2*Period()*60)) {пауза 2 бара};


bool isTime(int sec){
   bool res = false;
   static datetime time = 0;
   double min = 0;
   if (TimeCurrent() >= time){
      min = MathFloor(sec / 60);
      if (min==0) min = 1.0;         
      time = iTime(NULL,PERIOD_H1,0) + (MathFloor(Minute()/min) + 1) * min * 60;
      res = true;
   } 
   return(res);
}

isTime возвращает истину, если прошло указанное число секунд (int sec) или больше..

функция чуть "шире", чем isNewBar().. соответственно, новый бар для текущего ТФ появляется через Period()*60 секунд или позже..

 
satop >>:
Это подойдёт ?

Пробовал вот так:

   ticket=OrdSend(Symbol(),OP_BUY,lot,Ask,Slippage,MyStopLoss,MyTakeProfit,OrderStr,MagicNumber,0,Lime);
  Sleep(Sleepok);
  Buy=0;
  return(0);

не рабоотает в тестере.

И очень нужно в барах.

 

а вообще стоит начать с учебника https://book.mql4.com/ru/


а вообще что первично ? открывать по барам или открыть по некоторому учловию, а потом спать 2 бара ?

 
keekkenen >>:
а вообще стоит начать с учебника https://book.mql4.com/ru/

Спасибо,с него и начал,но ручки то чешутся...

А т.к последний раз с програмированием имел дело последний раз в школе .........дцать лет тому назад,процес идёт с трудом...

 
keekkenen >>:

а вообще стоит начать с учебника https://book.mql4.com/ru/


а вообще что первично ? открывать по барам или открыть по некоторому учловию, а потом спать 2 бара ?

По некоторому условию, а потом спать N баров.

Не открывать и не закрывать.

 

что-то вроде такого

int ticket = 0, N = 2;

if (OrdersTotal()!=0 && !isTime(N*Period()*60)) return(0); // бары не прошли - на выход

int покупатьПродаватьНичегоНеДелать = получитьУсловие();

if (покупатьПродаватьНичегоНеДелать == OP_BUY){
   ticket=OrdSend(Symbol(),OP_BUY,lot,Ask,Slippage,MyStopLoss,MyTakeProfit,OrderStr,MagicNumber,0,Lime);
   if (ticket > 0) isTime(N*Period()*60);//ордер открыт, спать N баров
}


но конструкция не очень хорошая, потому что неизвестна общая система действий
 
keekkenen >>:

что-то вроде такого


но конструкция не очень хорошая, потому что неизвестна общая система действий

Большое спасибо,буду пробовать.