SelectDelOrders

Author: Sanyooooook
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself
0 Views
0 Downloads
0 Favorites
SelectDelOrders
//+------------------------------------------------------------------+
//|                                              SelectDelOrders.mq4 |
//|                                                      Sanyooooook |
//|                 http://sany000000k.narod.ru, sanyooooook@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Sanyooooook"
#property link      "http://sany000000k.narod.ru, sanyooooook@mail.ru"

int start()
{
   int Slippage=3;
   if(Digits==3||Digits==5)
   {
      Slippage=Slippage*10;
   }
   int i1=0;
   ObjectCreate("Stop",OBJ_LABEL,0,0,0);
   ObjectSetText("Stop","Óäàëèòü",10,"Arial", White);
   for(int i=OrdersTotal()-1;i>=0;i--)
   {
      if(!OrderSelect(i,SELECT_BY_POS))continue;
         ObjectCreate("Order"+OrderTicket(),OBJ_LABEL,0,0,0);
         ObjectSet("Order"+OrderTicket(),OBJPROP_XDISTANCE,100);
         ObjectSet("Order"+OrderTicket(),OBJPROP_YDISTANCE,100+30*i1);
         ObjectSetText("Order"+OrderTicket(),"Îðäåð: "+OrderTicket(),10,"Arial", White);
         if(OrderType()==OP_BUY)
         {
            ObjectSet("Order"+OrderTicket(),OBJPROP_COLOR,Blue);
         }
         if(OrderType()==OP_SELL)
         {
            ObjectSet("Order"+OrderTicket(),OBJPROP_COLOR,Red);
         }
         i1++;
   }
   ObjectSet("Stop",OBJPROP_XDISTANCE,100);
   ObjectSet("Stop",OBJPROP_YDISTANCE,100+30*i1);
   WindowRedraw();
   while(!IsStopped()&&ObjectFind("Stop")>-1)
   {
      Sleep(100);
   }
   for(i=OrdersTotal()-1;i>=0;i--)
   {
      if(OrderSelect(i,SELECT_BY_POS)==false)continue;
      int Ticket=OrderTicket();
      int cmd=OrderType();
      bool del=true;
      for(i1=ObjectsTotal()-1;i1>=0;i1--)
      {
         if(ObjectName(i1)=="Order"+Ticket)
         {
            del=false;
            ObjectDelete("Order"+Ticket);
            break;
         }
      }
      RefreshRates();
      if(del==true)
      {
         int Digits_=MarketInfo(OrderSymbol(),MODE_DIGITS);
         string Symbol_=OrderSymbol();
         double Bid_=NormalizeDouble(MarketInfo(Symbol_,MODE_BID),Digits_);
         double Ask_=NormalizeDouble(MarketInfo(Symbol_,MODE_ASK),Digits_);
         if(cmd==OP_BUY)
         {
            if(OrderClose(Ticket,OrderLots(),Bid_,Slippage)==false)
            {
               Print("Îøèáêà çàêðûòèÿ îðäåðà: ",GetLastError());
               continue;
            }
         }
         if(cmd==OP_SELL)
         {
            if(OrderClose(Ticket,OrderLots(),Ask_,Slippage)==false)
            {
               Print("Îøèáêà çàêðûòèÿ îðäåðà: ",GetLastError());
               continue;
            }
         }
         if(cmd>1)
         {
            OrderDelete(Ticket);
         }
      }
      
   }
   return(0);
}
//+------------------------------------------------------------------+

Comments