normal_distribution

Author: genino.belaev@yandex.ru
Orders Execution
Checks for the total of closed ordersChecks for the total of open ordersIt automatically opens orders when conditions are reached
0 Views
0 Downloads
0 Favorites
normal_distribution
//+------------------------------------------------------------------+
//|                                                         fest.mq4 |
//|                        Copyright 2014, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "genino.belaev@yandex.ru"
#property link      "https://www.mql5.com/ru/users/genino"
#property version   "1.00"
#property strict
extern double lots=0.1;// ñíà÷àëà îòêðûâàåì áàé êîãäà áàé çàêðûëñÿ ïî òåéêó èëè ëîññó îòêðûâàåì ñåë. ïîòîì âñå ïîâòîðÿåòñÿ 
extern int TakeProfit=10;
extern int StopLoss=10;
extern int magic=123455;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {

   if(Digits==5 || Digits==3)
     {
      TakeProfit  *=10;
      StopLoss    *=10;      
     }
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
  if(OrdersTotal()==0 && OrdersHistoryTotal()==0)
   {
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"ïîêóïêà",magic,0,clrGreen);
}  
if(OrdersTotal()==0 && GetTypeLastClosePos()==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point,"ïðîäàæà",magic,0,clrRed);
}

if(OrdersTotal()==0 && GetTypeLastClosePos()==1)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point,"ïîêóïêà",magic,0,clrGreen);
}
   }
//+------------------------------------------------------------------+
//ñ÷èòàåì ïîñëåäíèé îðäåð
//+------------------------------------------------------------------+
int GetTypeLastClosePos(string sy="", int mn=-1) {
  datetime t;
  int      i, k=OrdersHistoryTotal(), r=-1;

  if (sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if ((OrderSymbol()==sy || sy=="") && (mn<0 || OrderMagicNumber()==mn)) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (t<OrderCloseTime()) {
            t=OrderCloseTime();
            r=OrderType();
          }
        }
      }
    }
  }
  return(r);
} 
//+------------------------------------------------------------------+

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