CloseAll_v4

Author: Barmaley
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself
0 Views
0 Downloads
0 Favorites
CloseAll_v4
//+------------------------------------------------------------------+
//|                                                     CloseAll.mq4 |
//|                                                         Barmaley |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "Barmaley"
#property link      ""
#property show_inputs

extern int Magic=0;
double PriceCurrent;
//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
   PriceCurrent=MarketInfo(Symbol(),MODE_BID);  
   CloseAll(); 
//----
   return(0);
  }
//+------------------------------------------------------------------+
//ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
void CloseAll() 
{

//Çàêðîåì Âñòðå÷íûå îðäåðà   
   
   int TicBuy=999, TicSell=999;
   double lotbuy,lotsell;
   while (TicBuy>0 && TicSell>0)
   {
      RefreshRates();
      int TOTAL=OrdersTotal();
     TicBuy=0; TicSell=0;

// Òèêåò îðäåðà Buy 
     for (int trade = TOTAL - 1; trade >= 0; trade--) 
      {
         OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol()  || (Magic>0 && OrderMagicNumber() != Magic)) continue;
               int ticket = OrderTicket();
               if (OrderType()==OP_BUY) {TicBuy=ticket;lotbuy=OrderLots();break;}
       }        

      if (TicBuy==0) continue;

// Òèêåò îðäåðà Sell
     for (trade = OrdersTotal() - 1; trade >= 0; trade--) 
      {
         OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() != Symbol()  || (Magic>0 && OrderMagicNumber() != Magic)) continue;
               ticket = OrderTicket();
               if (OrderType()==OP_SELL) {TicSell=ticket;lotsell=OrderLots();break;}
       }        

      if (TicSell==0) continue;
      if (lotbuy>lotsell) OrderCloseBy(TicBuy,TicSell); else OrderCloseBy(TicSell,TicBuy);
   }

//Çàêðîåì îñòàâøèåñÿ îðäåðà   
   for (trade = OrdersTotal() - 1; trade >= 0; trade--) 
   {
      OrderSelect(trade, SELECT_BY_POS, MODE_TRADES);
      
      if (OrderSymbol() != Symbol()  || (Magic>0 && OrderMagicNumber() != Magic)) continue;
         ticket = OrderTicket();
         if (OrderType()>1) {OrderDelete(ticket);continue;}
         double l=OrderLots();
         OrderClose(ticket,l,PriceCurrent,10000);
   }
}


//ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí

Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---