total = OrdersTotal(); static int ticket1; 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(); OrderSelect(ticket1, SELECT_BY_TICKET); if (OrderType()==OP_SELL&&OrderCloseTime()==0) { if(isCrossed==1)//zamykanie pozycji { //4 zamknij sell OrderClose(ticket1,OrderLots(),NormalizeDouble(Ask,Digits),3,Red); } //4 } if(OrderType() == OP_BUY&&OrderCloseTime()==0) { //2 zamknij BUY if(isCrossed==2)//zamykanie pozycji {//3 OrderClose(ticket1,OrderLots(),NormalizeDouble(Bid,Digits),3,Blue); } //3 }//2 return(0);
Roger:
thanks men it's working!
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
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