На одной свечке - одна сделка. - страница 2

 
Kowalski:

Уважаемые специалисты MQL4,нужна ваша помощь.

Не получается написать часть кода советника,отвечающую за ограничение сделок на одной свечке.

Например,на часовом графике,сегодня я совершил сделку (купил),потом она закрылась по по ордеру или с рынка (не важно),дальнейшие сделки на этой свечке должны быть запрещены.

Пробывал разные подходы,ни один не дал результата.

На форуме находил похожие темы,но проблему решить не удалось.

Предлагаю выложить тут код,советника,который просто покупает на текущей свечке,если на ней ещё не было покупок и продаж.

Заранее всем благодарен.

int init()
  {
//----
Print ("Время:",TimeHour(iTime(Symbol(),PERIOD_H1,0)));  
if (LastorderTime==0)
{
 for (int ii=0; ii<OrdersHistoryTotal();ii++)
  if (OrderSelect(ii,SELECT_BY_POS,MODE_HISTORY))
       
       if (OrderType()==OP_BUY || OrderType()==OP_SELL)
       if (OrderOpenTime()>LastorderTime)
            {LastorderTime =OrderOpenTime();}
 for (ii=0; ii<OrdersTotal();ii++)
  if (OrderSelect(ii,SELECT_BY_POS,MODE_TRADES))
       if (OrderOpenTime()>LastorderTime )
         {LastorderTime =OrderOpenTime();}
}    
//----
    RefreshRates() ;
    Print("Последний ордер:",TimeToStr(LastorderTime,TIME_DATE|TIME_SECONDS));
   return(0);
  }

.....

if ( iTime(Symbol(),PERIOD_...,Delay)< LastorderTime  ) return(0);

OrderSend(....);
            if (OrderSelect(0,SELECT_BY_POS,MODE_TRADES))
                 LastorderTime=iTime(Symbol(),PERIOD_H1,0);