Author: Verdi
Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reached
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
STOP_v1
//+------------------------------------------------------------------+
//|                                                         STOP.mq4 |
//|                                                            Verdi |
//|                                                  nemo811@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Verdi"
#property link      "nemo811@mail.ru"

extern double RM = 4.000; //Ìàêñèìàëüíî äîïóñòèìûé % ïðîñàäêè äåïî

double Balans,Equity,FlowLoss;

int init()
  {

   if (!IsTesting())
    {
     if(!IsExpertEnabled())
      {
       Alert("ÒÎÐÃÎÂËß ÑÎÂÅÒÍÈÊÀÌÈ ÇÀÏÐÅÙÅÍÀ !");
       Comment("ÒÎÐÃÎÂËß ÑÎÂÅÒÍÈÊÀÌÈ ÇÀÏÐÅÙÅÍÀ !");
       return(0);
      }
     else
      {
       Comment("Èíèöèàëèçàöèÿ ïðîøëà óñïåøíî. Æä¸ì ñâåæóþ êîòèðîâêó.");
       Print("Èíèöèàëèçàöèÿ ïðîøëà óñïåøíî. Æä¸ì ñâåæóþ êîòèðîâêó.");
      }
    }

   return(0);
  }

int deinit()
  {

   if (!IsTesting())
    {
     Print("Ñîâåòíèê äåèíèöèàëèçèðîâàí (âûêëþ÷åí).");
    }

   return(0);
  }

int start()
  {

   RefreshRates();

   if(!IsTradeAllowed())
    {
     Comment("Òîðãîâëÿ çàïðåùåíà â íàñòðîéêàõ òåðìèíàëà, ëèáî òîðãîâûé ïîòîê çàíÿò.");
     return(0);
    }

   Balans=AccountBalance();
   Equity=AccountEquity();

   if (Balans<=Equity)
    {
     FlowLoss = 0;
    }
   else
    {
     FlowLoss=NormalizeDouble(100-Equity*100/Balans,3);
    }

   Comment("RM - ",RM," %\n",
           "FlowLoss - ",FlowLoss," %\nwww.mt4.ucoz.com");

   double LotR;
   double SchBuyLots  = NormalizeDouble(SchBuyLots_b(),8);
   double SchSellLots = NormalizeDouble(SchSellLots_b(),8);
   LotR=SchBuyLots-SchSellLots;

   if (FlowLoss>RM && SchBuyLots!=SchSellLots)
    {
     for (int i=1; i<=1; i++)
      {
       if (LotR<0)
        {
         OPENORDER ("Buy");
        }
       if (LotR>0)
        {
         OPENORDER ("Sell");
        }
      }
    }

   return(0);
  }
//+------------------------------------------------------------------+

double SchBuyLots_b()
 {
  double SchBuyLots=0;
  int i;
  string SMB=Symbol();
  for (i=OrdersTotal()-1;i>=0;i--)
   {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
     {
      Alert ("Îøèáêà ",GetLastError()," âûáîðà îðäåðà!");
      Print ("Îøèáêà ",GetLastError()," âûáîðà îðäåðà!");
     }
    else
     {
      if(OrderSymbol()==SMB && OrderType()==OP_BUY)
       {
        SchBuyLots=SchBuyLots+OrderLots();
       }
     }
   }
  return(SchBuyLots);
 }

double SchSellLots_b()
 {
  double SchSellLots=0;
  int i;
  string SMB=Symbol();
  for (i=OrdersTotal()-1;i>=0;i--)
   {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
     {
      Alert ("Îøèáêà ",GetLastError()," âûáîðà îðäåðà!");
      Print ("Îøèáêà ",GetLastError()," âûáîðà îðäåðà!");
     }
    else
     {
      if(OrderSymbol()==SMB && OrderType()==OP_SELL)
       {
        SchSellLots=SchSellLots+OrderLots();
       }
     }
   }
  return(SchSellLots);
 }
 
void OPENORDER(string ord)
 {
  int ticket = -1;

  double Lot;
  double SchBuyLots  = SchBuyLots_b();
  double SchSellLots = SchSellLots_b();

  Lot=MathAbs(SchBuyLots-SchSellLots);

  while (ticket<0)
   {
    if (ord=="Buy")  ticket=OrderSend(Symbol(),OP_BUY, Lot,Ask,3,0,0,"Óñòàíîâëåí çàìîê",0,0);
    if (ord=="Sell") ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,3,0,0,"Óñòàíîâëåí çàìîê",0,0);
    if (ticket==-1)
     {  
      Alert ("Îøèáêà ",GetLastError()," óñòàíîâêè ëîêîâîãî îðäåðà!");
      Print ("Îøèáêà ",GetLastError()," óñòàíîâêè ëîêîâîãî îðäåðà!");
     }
    else
     {   
      Alert ("Óñòàíîâëåí çàìîê ñîãëàñíî RM ",RM,"%\nwww.mt4.ucoz.com");
      Print ("Óñòàíîâëåí çàìîê ñîãëàñíî RM ",RM,"%");
      return (0);
     }
   }
  return;
 } 
//+------------------------------------------------------------------+

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