close_all_by

Orders Execution
Checks for the total of open orders
0 Views
0 Downloads
0 Favorites
close_all_by
//+------------------------------------------------------------------+
//|                                                 close_all_by.mq4 |
//+------------------------------------------------------------------+
#property library
#property version "1.4"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Close_all_by(int Magic=0,string symb="")
  {
   if(symb=="") symb=Symbol();
   int cur_ticket;
   double cur_lot;

   for(int i=OrdersTotal()-1; i>=0; i--)
     {
      if(OrderSelect(i,SELECT_BY_POS))
        {
         if(OrderMagicNumber()==Magic)
           {
            if(OrderSymbol()==symb)
              {
               //BUY
               if(OrderType()==OP_BUY)
                 {
                  cur_ticket=OrderTicket();
                  cur_lot=OrderLots();
                  for(int y=i-1; y>=0; y--)
                    {
                     if(OrderSelect(y,SELECT_BY_POS))
                       {
                        if(OrderMagicNumber()==Magic)
                          {
                           if(OrderSymbol()==symb)
                             {
                              if(OrderType()==OP_SELL)
                                {
                                 if(OrderCloseBy(OrderTicket(),cur_ticket))
                                   {
                                    if(cur_lot==OrderLots()) i--;
                                    break;
                                   }
                                 else
                                    i++;
                                }
                             }
                          }
                       }
                    }
                 }//end if buy
               else
               //SELL
               if(OrderType()==OP_SELL)
                 {
                  cur_ticket=OrderTicket();
                  cur_lot=OrderLots();
                  for(int y2=i-1; y2>=0; y2--)
                    {
                     if(OrderSelect(y2,SELECT_BY_POS))
                       {
                        if(OrderMagicNumber()==Magic)
                          {
                           if(OrderSymbol()==symb)
                             {
                              if(OrderType()==OP_BUY)
                                {
                                 if(OrderCloseBy(OrderTicket(),cur_ticket))
                                   {
                                    if(cur_lot==OrderLots()) i--;
                                    break;
                                   }
                                 else
                                    i++;
                                }
                             }
                          }
                       }
                    }
                 }//end if sell
              }
           }
        }
     }
  }
//+------------------------------------------------------------------+

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 ---