Как написать условие на запрет открытия внутри дня типов ордеров, отличающихся от типа первого ордера?

 
Советник исходя из свечного анализа в начале дня первым открывает либо ордер SELL, либо ордер BUY.

Другие ордера внутри дня открываются такого же типа, как и первый ордер (тоесть если первый ордер в начале дня открылся BUY, то и остальные ордера откроются BUY, если первый ордер в начале дня открылся SELL, то и остальные ордера откроются SELL).

Как в советнике написать условие на запрет открытия внутри дня типов ордеров, отличающихся от типа первого ордера ???
 
Перед открытием следующего ордера проверь предыдущий. Если тип ордера 0, то и следующий ордер ставь в BUY, если 1 - то SELL.
Или тебе код надо расписать?
 
заголовок поправьте, глаза режет :)
 
Roger:
Перед открытием следующего ордера проверь предыдущий. Если тип ордера 0, то и следующий ордер ставь в BUY, если 1 - то SELL.

Или тебе код надо расписать?


Напиши код пожалуйста
 
if(твое условие на покупку){
for(int cnt=0;cnt<OrdersTotal();cnt++)//проверяем действующие ордера, чтобы не было на продажу
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(Day()==TimeDay(OrderOpenTime()) && OrderType==1) return(0);
}
for(cnt=0;cnt<HistoryTotal();cnt++)//если уже какой-то закрылся
{
OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY);
if(Day()==TimeDay(OrderOpenTime()) && OrderType==1) return(0);
}
OrderSend(Твои условия для ордера на покупку);
}
if(твое условие на продажу){
for(int cnt=0;cnt<OrdersTotal();cnt++)//проверяем действующие ордера, чтобы не было на покупку
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(Day()==TimeDay(OrderOpenTime()) && OrderType==0) return(0);
}
for(cnt=0;cnt<HistoryTotal();cnt++)//если уже какой-то закрылся
{
OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY);
if(Day()==TimeDay(OrderOpenTime()) && OrderType==1) return(0);
}
OrderSend(Твои условия для ордера на продажу);
}
Вроде должно работать в теории. Чесслово не проверял.
 
Спасибо за код.