1. bool ClosePosition()//Close all pending and holding positions
  2. bool Flag=true;
  3. int tick[200],tp[200]; 
  4. int j=0;
  5. for(int i=0;i<OrdersTotal();i++)
  6. {
  7. OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
  8. if(OrderSymbol()==Symbol() && (OrderMagicNumber()==MagicHunDun))
  9. {
  10. j=j+1;
  11. tick[j]=OrderTicket(); 
  12. tp[j]=OrderType();
  13. }
  14. }
  15. if (j!=0)
  16. for(i=1;i<=j;i++)
  17. {
  18. OrderSelect(tick[i], SELECT_BY_TICKET);
  19. switch(tp[i])
  20. {
  21. case OP_BUY:
  22. if(OrderClose(tick[i],OrderLots(),Bid,3,CLR_NONE)==false) Flag=false; 
  23. break;
  24. case OP_SELL:
  25. if(OrderClose(tick[i],OrderLots(),Ask,3,CLR_NONE)==false) Flag=false; 
  26. break; 
  27. }
  28. return(Flag);
  29. }

发表回复

后才能评论