close_All_Order

Price Data Components
Series array that contains open time of each bar
Orders Execution
Checks for the total of open ordersIt Closes Orders by itself
Miscellaneous
It plays sound alerts
0 Views
0 Downloads
0 Favorites
close_All_Order
//+------------------------------------------------------------------+
//| close_All_Order.mq4                                              |
//| Copyright 2018 , raymondyeung.htc@gmail.com                      |
//| Speed Technology                                                 |
//| 1) CLose all order on the Symbol Chart                           |
//| 2) Take screen for keep a Trading Journal                        |
//+------------------------------------------------------------------+

#property strict
#include <stdlib.mqh>
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
string dtbahl()
  {
   string dt="Local Time : "+TimeToStr(LocalTime(),TIME_DATE|TIME_SECONDS)+
             "         "+ IntegerToString((Time[0]-Time[1])/60)+" mins Chart"+"           Close Order"+"\n"+
             "Bid :"+DoubleToStr(Bid,Digits)+" Ask :"+DoubleToStr(Ask,Digits)+
             " High :"+DoubleToStr(High[0],Digits)+" Low :"+DoubleToStr(Low[0],Digits);
   return (dt);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int start()
  {
   bool   result;
   double price;
   int    cmd,error;
   int    requote;
   int    cnt;

//----  

   if(OrdersTotal()==0)
     {
      Comment(dtbahl(),"\n","No any opened order.");
      PlaySound("alert2.wav");
      Sleep(3000);
     }

   for(cnt=OrdersTotal()-1;cnt>=0;cnt--)

     {

      if((OrderSelect(cnt,SELECT_BY_POS)==true) && OrderSymbol()==Symbol())
        {
         cmd=OrderType();

         if(cmd==OP_BUY || cmd==OP_SELL)
           {
            requote=1;
            while(true && requote<10)
              {
               if(cmd==OP_BUY) price=Bid;
               else            price=Ask;

               result=OrderClose(OrderTicket(),OrderLots(),price,2,CLR_NONE);
               if(result!=TRUE)
                 {
                  PlaySound("alert2.wav");
                  error=GetLastError(); Print("LastError = ",error);
                 }
               else
                 {
                  PlaySound("ok.wav");
                  string filename= IntegerToString(OrderTicket())+"_"+
                                  StringSubstr(("0"+ IntegerToString(Period())),StringLen("0"+IntegerToString(Period()))-2,2)+"mins"+
                                  "_Close_ca.gif";

                  Comment(dtbahl());

                  if(!WindowScreenShot(filename,640,480)) Print("indowScreenShot error: ",ErrorDescription(GetLastError()));
                  error=0;
                 }

               if(error==135) RefreshRates();
               else break;
               requote=requote+1;
              } // while(true && requote < 10)
           } // (cmd==OP_BUY || cmd==OP_SELL)
        } // (OrderSelect(cnt, SELECT_BY_POS)==true)
      else Print("Error when order select ",GetLastError());
     }

   Comment("","\n","","\n");

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