Author: Nic E
CloseOrd
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
CloseOrd
//+------------------------------------------------------------------+
//|                                                     CloseOrd.mq4 |
//|                                                  Íèêîëàé Åôðåìîâ |
//|                                                      eftd@ya.ru  |
//+------------------------------------------------------------------+
#property copyright "Nic E"
#property link      ""
extern int    Slippage    = 3;       // Ïðîñêàëüçûâàíèå öåíû

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
  {
//----
  string Symb=Symbol();                   // Ôèíàíñ. èíñòðóìåíò
  double Dist=1000000.0;                  // Ïðåäóñòàíîâêà
  bool rOrd=true, Resultat=true;
  double Win_Price=WindowPriceOnDropped();//Çäåñü áðîøåí ñêðèïò
//----1
   for(int i=1; i<=OrdersTotal(); i++)    // Öèêë ïåðåáîðà îðäåðîâ
      {
       if (OrderSelect(i-1,SELECT_BY_POS)==true)// Åñëè åñòü ñëåäóþùèé
        {
//----2
        if (OrderSymbol()!= Symb) continue;// Íå íàø ôèí.èíñòðóì
           
//----3
        if (NormalizeDouble(MathAbs(OrderOpenPrice()-Win_Price),Digits)
            <NormalizeDouble(Dist,Digits)) //Âûáèðàåì áëèæàéøèé
            {
             Dist=MathAbs(OrderOpenPrice()-Win_Price);// Íîâîå çíà÷åíèå            
             int    Tip    =OrderType();      // Òèï âûáðàííîãî îðä.
             if (Tip>1)rOrd=false;       // Îòëîæåííûé îðäåð  
             int    Ticket =OrderTicket();    // ¹ âûáðàííîãî îðä. 
             double Lots=OrderLots();
             double Price  =OrderOpenPrice(); // Öåíà âûáðàííîãî îðä.
            }
       } 
      }
//----4
      while(true)           //Öèêë Çàêðûòèå îðäåðà
         {
            if (rOrd==true)  //
              {
                    if(Tip==OP_BUY) 
                      Resultat=OrderClose(Ticket,Lots,Bid,Slippage,CLR_NONE);
                    else
                      Resultat=OrderClose(Ticket,Lots,Ask,Slippage,CLR_NONE);
                   if(Resultat!=true) 
                     { 
                       int Error=GetLastError(); 
                       Alert("Îøèáêà ¹ = ",Error); 
                     }
                       else Error=0;
              }
             else Resultat = OrderDelete( Ticket);// Óäàëåíèå îòëîæåííîãî îðäåðà 
                   if(Resultat!=true) 
                     { 
                       Error=GetLastError(); 
                       Alert("Îøèáêà ¹ = ",Error); 
                     }
                       else Error=0;
          break;                                    // Âûõîä èç öèêëà çàêð          
         }   
//----
   return(0);
  }
//+------------------------------------------------------------------+

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