Author: Copyright 2014, Gnutov Vitaliy
Orders Execution
It automatically opens orders when conditions are reachedChecks for the total of open orders
0 Views
0 Downloads
0 Favorites
AutoNews
//+------------------------------------------------------------------+
//|                                                     AutoNews.mq4 |
//|                                   Copyright 2014, Gnutov Vitaliy |
//|                                                gnutovv@gmail.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2014, Gnutov Vitaliy"
#property link      "gnutovv@gmail.com"
#property version   "1.00"
#property strict
//--- input parameters
input datetime don; //Ââåäèòå äàòó è âðåìÿ âûõîäà íîâîñòè
input double   lot; //Ââåäèòå ëîò ñäåëêè
input int      tp=15; //TakeProfit
input int      sl=15; //StopLoss
datetime openorder;
datetime closeorder;
bool flag;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   printf("Ñîâåòíèê íà÷àë ðàáîòó â "+TimeToStr(TimeCurrent())+". Äàòà âûõîäà íîâîñòè: "+TimeToStr(don));
   openorder=don-3*60; //Óñòàíîâèì îòëîæåííûå îðäåðà çà òðè ìèíóòû äî âûõîäà íîâîñòè
   flag=true;
   closeorder=don+5*60; //Çàêðîåì íåñðàáîòàâøèå îòëîæåííûå îðäåðà ÷åðåç ïÿòü ìèíóò ïîñëå âûõîäà íîâîñòè
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   flag=false;
   openorder=0;
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   if(flag && TimeCurrent()>=openorder) //Óñòàíàâëèâàåì äâà îòëîæåííûõ îðäåðà â ðàçíûõ íàïðàâëåíèÿõ ñ ðàññòîÿíèåì 10 ïóíêòîâ îò òåêóùåé öåíû
     {
      flag=false;
      OrderSend(Symbol(),OP_BUYSTOP,lot,Ask+10*Point,3,Bid-8*Point,Ask+tp*Point,"BuyStop",0,0,clrGreen);
      OrderSend(Symbol(),OP_SELLSTOP,lot,Bid-10*Point,3,Ask+8*Point,Bid-tp*Point,"SellStop",0,0,clrRed);
     }

   if(TimeCurrent()>=closeorder && OrdersTotal()!=(-1)) //Çàêðîåì íåñðàáîòàâøèå îòëîæåííûå îðäåðà
     {
      int slippage=3;
      for(int i=OrdersTotal()-1; i>=0; i--)
        {
         if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;
         if(OrderType()==OP_BUYSTOP  ) OrderDelete(OrderTicket());
         if(OrderType()==OP_SELLSTOP ) OrderDelete(OrderTicket());
         if(OrderType()==OP_BUYLIMIT ) OrderDelete(OrderTicket());
         if(OrderType()==OP_SELLLIMIT) OrderDelete(OrderTicket());
        }
     }

  }
//+------------------------------------------------------------------+

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