Помогите срочно исправить одну ошибку. Никак не могу устранить. В советнике после закрытия сделки открываются дальше сделки. А мне нужно чтобы после закрытия сделки не открывались, а ждали следующего сигнала.
Прикладываю код (условие открытия - когда индикатор находится ниже линии и наоборот):
//--- sell conditions
if(OtkrS<Seredina && OtkrB<Seredina && Bid<Seredina)
{
if(TakeProfit>0) tp=NormalizeDouble(Bid-TakeProfit*Point,Digits);
r=OrderSend(Symbol(),OP_SELL,Lot,NormalizeDouble(Bid,Digits),Slippage,0,tp,"",Magic,0,Red);
return;
}
//--- buy conditions
if(OtkrS>Seredina && OtkrB>Seredina && Ask>Seredina)
{
if(TakeProfit>0) tp=NormalizeDouble(Ask+TakeProfit*Point,Digits);
r=OrderSend(Symbol(),OP_BUY,Lot,NormalizeDouble(Ask,Digits),Slippage,0,tp,"",Magic,0,Blue);
return;
}
Закрытие когда цена пересекает линию индикатора:
for(int i=OrdersTotal()-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderMagicNumber()==Magic || OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY)
{
if(Ask>PervZakrB)
{
bool c=OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,White);
}
break;
}
if(OrderType()==OP_SELL)
{
if(Bid<PervZakrS)
{
bool c=OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,White);
}
break;
}
}
}
}