//+------------------------------------------------------------------+ //| PosClose.mq4 | //| Copyright © 2010, MetaQuotes Software Corp. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright © 2010, MetaQuotes Software Corp." #property link "http://www.metaquotes.net" #property show_confirm extern int clear = 1; //+------------------------------------------------------------------+ //| script "close first market order if it is first in the list" | //+------------------------------------------------------------------+ int init() { bool result; double price; int cmd,error; //---- int total = OrdersTotal(); if(clear == 0) { if(total > 0) { for(int ii = total -1; ii >= 0; ii-- ) { if(OrderSelect(ii,SELECT_BY_POS,MODE_TRADES)) { cmd=OrderType(); //---- first order is buy or sell if(cmd==OP_BUY || cmd==OP_SELL) { while(true) { if(cmd==OP_BUY) price=Bid; else price=Ask; result=OrderClose(OrderTicket(),OrderLots(),price,3,CLR_NONE); if(result!=TRUE) { error=GetLastError(); Alert("LastError = ",error); } else error=0; if(error==135) RefreshRates(); else break; } } } else Alert( "Error when order select ", GetLastError()); } } //---- } return(0); } //+------------------------------------------------------------------+