Orders Execution
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 Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---