Inserted Code
total = OrdersTotal();
if(total<1)
{
if(isCrossed== 1 )//jezeli jeden to daje sygnal buy i zajmuje dluga pozycje
{ //1 //preferowana cena zamkniecia,roznica,stop loss,take profit
ticket1= OrderSend(Symbol(),0,Lots,NormalizeDouble(Ask,Digits),3,Ask-20*Point,Ask+3000*Point,
"", 12345, 0, Green);
}
if(isCrossed== 2 )//jezeli dwa to daje sygnal sell i zajmuje krotka pozycje
{//2
ticket1= OrderSend(Symbol(),1,Lots,NormalizeDouble(Bid,Digits),3,Bid+20*Point,Ask-2000*Point,
"", 12345, 0, Red);
}
if(isCrossed== 1 )//przeciwna do Ask
{ //1 //preferowana cena zamkniecia,roznica,stop loss,take profit
ticket2= OrderSend(Symbol(),1,Lots,NormalizeDouble(Bid,Digits),3,Bid+20*Point, Ask-20*Point,
"", 12345, 0, Green);
}
//2
if(isCrossed== 2 )//przeciwna do Bid
{
ticket2= OrderSend(Symbol(),0,Lots,NormalizeDouble(Ask,Digits),3,Ask-20*Point,Ask+20*Point,
"", 12345, 0, Red);
}
}
//zamykanie pozycji-----------------------------------------
int totalorders = OrdersTotal();
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(0, SELECT_BY_POS);
if (OrderType()==OP_SELL)
{
if(isCrossed==1)//zamykanie pozycji
{ //4 zamknij sell
OrderClose(ticket1,OrderLots(),NormalizeDouble(Ask,Digits),3,Red);
} //4
}
if(OrderType() == OP_BUY)
{ //2 zamknij BUY
if(isCrossed==2)//zamykanie pozycji
{//3
OrderClose(ticket1,OrderLots(),NormalizeDouble(Bid,Digits),3,Blue);
} //3
}//2
return(0);
}//1 a need to close only ticket1 position, OrderClose should close this position but they close all of them,I don't know why?
please help me
ticket2 is closing after TP or SL