Как сделать так?

 
Доброе время суток.
Сталкнулся с проблемой.
Как сделать так чтоб после открытия позиции функцией OrderSend,
на этой свечки больше не открывались сделки кроме срабатывания takeProfita.
Т.е на этой свече могла открыться одна сделка.
Или чтобы следующая сделка открывалась не раньше чем через 5 мин. После закрытия пред идущей.
Желательно с оператором if
Заранее благодарен.
 
int start()

{//1

if(OrdersTotal()<1)
{//2


//ТЕКСТ СОВЕТНИКА


}//-2
}//-1
 
Как вы не понимаете что при таком раскладе,позиция закрылась через минуту и сразу открылась следующая.
Спаисибо за ответ.
Но я уже решил эту проблему.
 
// проверим, есть ли ранее открытые позиции или ордеры?
if(OrdersTotal()<l)
{
// нет ни одного открытого ордера
// на всякий случай проверим, если у нас свободные деньги на счету?
// значение 1000 взято для примера, обычно можно открыть 1 лот
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money");
return(O); // денег нет - выходим
}
// проверим, не слишком ли часто пытаемся открыться?
// если последний раз торговали менее чем 5 минут(5*бО=300 сек)
// назад, то выходим
// if((CurTime-LastTradeTime)<300) { Exit }
// проверяем на возможность встать в длинную позицию (BUY)
if(MacdCurrent<0 && MacdCurrent>SignalCurrent &&
MacdPrevious<SignalPrevious &&
MathAbs(MacdCurrent)>(MACDOpenLevel*Points) &&
MaCurrent > Ma Previous)
{
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Points,
 
Да так можно/
Просто пред идущий код не довал нечего похожего.
Спасибо,мало людей которые готовы помочь.