VR---POMOSHNIK--MOD

Orders Execution
Checks for the total of open ordersIt automatically opens orders when conditions are reachedIt can change open orders parameters, due to possible stepping strategy
Indicators Used
Moving average indicator
Miscellaneous
It issuies visual alerts to the screen
0 Views
0 Downloads
0 Favorites
VR---POMOSHNIK--MOD
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
#property link      "http://traders-union.ru/?ref=25250"            //
//                       ÂÍÈÌÀÍÈÅ                                   //
//Äëÿ ïàðòíåðîâ ãðóïïû â "ÌÎÔÒ" (Ìåæäóíàðîäíîå Îáüåäåíåíèå          //
//Ôîðêñ Òðåéäåðîâ) ïèøó ñîâåòíèêè áåñïëàòíî è ïðåäëàãàþ íåñêîëüêî   //
//ðàáî÷èõ âàðèàíòîâ. Ñêàéï Voldemar227  ICQ 155553959               //
//////////////////////////////////////////////////////////////////////
extern string ÌÎÔÒ       = "http://traders-union.ru/?ref=25250";
extern int    TakeProfit      = 300           ;                     //Òåéê ïðîôèò
extern int    StopLoss        = 350           ;                     //Ñòîï ëîññ
extern double Lots            = 0.1           ;                     //Ëîòû
extern int    Bezubitoc       = 150           ;                     //Ïåðåíîñ ëîñÿ â áåçóáûòîê
extern bool   TWO_order       = true          ;                     //àçðåøèòü âòîðîé îðäåð
extern bool   MODIFICUL       = true          ;
extern bool   LOC             = true          ;
extern int    Otstup          = 50            ;
//=============================================
extern bool   COMMENT         = true          ;                     //Ðàçðåøèòü êîììåíòàðèè
extern int    time            = 10            ;                     //Ïåðåîäè÷íîñòü êîììåíòàðèåâ
//=============================================
extern int    Distanciay      = 80            ;                     //Ðàçìåð ñâå÷è
extern int    MA1_period      = 8             ;                     //Ïåðèîä áûñòðîãî ìóâèíãà
extern int    MA1_type        = 1             ;                     //Òèï ìóâèíãà
extern int    MA1_price       = 0             ;                     //Òèï öåíû
extern int    MA1_shift       = 0             ;                     //Ñäâèã îòíîñèòåëüíî ãðàôèêà
//=============================================
extern int    MA2_period      = 18            ;                     //Ïåðèîä ìåäëåííîãî ìóâèíãà
extern int    MA2_type        = 1             ;                     //Òèï ìóâèíãà
extern int    MA2_price       = 0             ;                     //Òèï öåíû
extern int    MA2_shift       = 0             ;                     //Ñäâèã îòíîñèòåëüíî ãðàôèêà
//=============================================
extern int    MagicNumber     = 227           ;                     //Ìàãè÷åñêèé íîìåð
extern int    Slip            = 50            ;                     //Ïðîñêàëüçûâàíèå
//==================================================================
int start ()   { time=time*60000              ;                     //Ñòàðò è ïðèâåäåíèå âðåìåíè ê íîðìå
double spid = iMA(NULL,0,MA1_period,MA1_shift,MA1_type,MA1_price,0);//Áûñòðàÿ ñêîëüçÿùàÿ
double sred = iMA(NULL,0,MA2_period,MA2_shift,MA2_type,MA2_price,0);//Ìåäëåííàÿ ñêîëüçÿùàÿ
//==================================================================
double slb    =NormalizeDouble(Bid - (StopLoss  *    Point),Digits);//Ñòîï ëîññ äëÿ áàé îðäåðîâ
double tpb    =NormalizeDouble(Ask + (TakeProfit*    Point),Digits);//Òåéê ïðîôèò äëÿ áàé îðäåðîâ
double sls    =NormalizeDouble(Ask + (StopLoss  *    Point),Digits);//Ñòîï ëîñ äëÿ ñåëë îðäåðîâ
double tps    =NormalizeDouble(Bid - (TakeProfit*    Point),Digits);//Òåéê ïðîôèò äëÿ ñåëë îðäåðîâ
//==================================================================
int    distanciya=NormalizeDouble(Distanciay*(Point),Digits);       //Íîðìàëèçàöèÿ ïàðàìåòðà
double dis  =spid-sred;                                             //Ðàçíîñòü ìóâèíãîâ
   int total=OrdersTotal();                                         //Ïðèñâîåíèå îáùåãî êîëëè÷åñòâà îðäåðîâ
   int b=0, s=0;                                                    //Îáíóëåíèå ïåðåìåííûõ
   for (int i=total-1; i>=0; i--)                                   //Ïåðåáîð îðäåðîâ
   {
    if(OrderSelect(i, SELECT_BY_POS))                               //Ðàçáîð îðäåðà
    {
    if(OrderSymbol()!=Symbol())continue;                            //Åñëè îðäåð íå ãðàôèêà òî ïåðåáîð ñíîâà
     {
     if (OrderType()==OP_BUY)                                       //Åñëè îðäåð íàø è ÁÀÉ
     {
      string  VALB=OrderSymbol     ();                              //Ïðèñâîåíèå ñèìâîëà
      double  tpbb=OrderTakeProfit ();                              //Ïðèñâîåíèå òåéê ïðîôèòà
      double  slbs=OrderStopLoss   ();                              //Ïðèñâîåíèå Ñòîï ëîññà
      double  lotb=OrderLots       ();                              //Ïðèñâîåíèå ëîòà
      double  otkb=OrderOpenPrice  ();                              //Ïðèñâîåíèå öåíû îòêðûòèÿ
      double  magb=OrderMagicNumber();                              //Ïðèñâîåíèå ìàãè÷åñêîãî íîìåðà
      b++                            ;                              //Ñ÷åò÷èê îðäåðîâ
     }
     if (OrderType()==OP_SELL)                                      //Åñëè îðäåð íàø è ÑÅËË
     {
      string  VALS=OrderSymbol     ();                              //Ïðèñâîåíèå ñèìâîëà
      double  tpbs=OrderTakeProfit ();                              //Ïðèñâîåíèå òåéê ïðîôèòà
      double  slss=OrderStopLoss   ();                              //Ïðèñâîåíèå Ñòîï ëîññà
      double  lots=OrderLots       ();                              //Ïðèñâîåíèå ëîòà
      double  otks=OrderOpenPrice  ();                              //Ïðèñâîåíèå öåíû îòêðûòèÿ
      double  mags=OrderMagicNumber();                              //Ïðèñâîåíèå ìàãè÷åñêîãî íîìåðà
      s++                            ;                              //Ñ÷åò÷èê îðäåðîâ
     }}}}
//=============================================
if (TWO_order==true)
{
if(b==1)                                                            //Åñëè åñòü îðäåð ÁÀÉ
{
 OrderSend(VALB,OP_BUY, lotb,Ask,Slip,slb,0,NULL,MagicNumber,0,CLR_NONE);//Îòêðûòü ÁÀÉ
}
if(s==1)                                                            //Åñëè åñòü îðäåð ÑÅËË
{
 OrderSend(VALS,OP_SELL,lots,Bid,Slip,sls,0,NULL,MagicNumber,0,CLR_NONE);//Îòêðûòü ÑÅËË
}}
//=============================================
if (MODIFICUL==true)
{
  for (int k=total-1; k>=0; k--)                                    //Ïåðåáîð ÂÑÅÕ ÎÐÄÅÐÎÂ
   {
    if(OrderSelect(k, SELECT_BY_POS))                               //Ðàçáîð îðäåðà
    {
     if(OrderType()==OP_BUY&&OrderStopLoss()==0)                    //Åñëè åñòü ÁÀÉ è Åñëè Ñòîï Ëîññ ðàâåí 0
     { 
       OrderModify(OrderTicket(),OrderOpenPrice(),slb,tpb,0,Blue);  //Ìîäèôèöèðîâàòü ïîñòàâèòü ïðîôèò è ñòîï
     }
     if(OrderType()==OP_SELL&&OrderStopLoss()==0)                   //Åñëè åñòü ÑÅËË è Åñëè Ñòîï Ëîññ ðàâåí 0
     {
       OrderModify(OrderTicket(),OrderOpenPrice(),sls,tps,0,Blue);  //Ìîäèôèöèðîâàòü ïîñòàâèòü ïðîôèò è ñòîï
     }}}} 
//////////////////////////////////////////////////////////////////////
if (LOC==true)
{
double Otst =NormalizeDouble(Otstup*(Point),Digits);
    for (int w=total-1; w>=0; w--)
      {
        if(OrderSelect(w,SELECT_BY_POS, MODE_TRADES)==true)
          {
           if(OrderSymbol()!=Symbol())continue;                            //Åñëè îðäåð íå ãðàôèêà òî ïåðåáîð ñíîâà
            {
           if (OrderType()==OP_BUY)
              {
              double otkrbbb=OrderOpenPrice();
              double stopbbb=OrderStopLoss() ;
              double fan=      NormalizeDouble(otkrbbb+(Otstup*Point),Digits);  
               if (Ask>= fan)     
               {
               
                OrderSend(Symbol(),OP_SELL,lots,Bid,Slip,0,0,NULL,MagicNumber,0,CLR_NONE);
                
               }
              }
           if (OrderType()==OP_SELL)
             {
              double otkrsss=OrderOpenPrice();
              double stopsss=OrderStopLoss() ;
              double han=  NormalizeDouble(otkrsss-(Otstup*Point),Digits);
               if (Bid<= han)      
               {
               OrderSend(Symbol(),OP_BUY, lotb,Ask,Slip,0,0,NULL,MagicNumber,0,CLR_NONE);
              }
            }
         }
     }
}}
//////////////////////////////////////////////////////////////////////
if (COMMENT==true)                                                  //Åñëè ðàçðåøåíû êîììåíòàðèè
{ 
  if (dis>0&&dis>distanciya&&Low[2]>spid&&Low[1]>spid)              //Óñëîâèå êîììåíòàðèÿ
  {
  Alert("ÍÀ="+Symbol(),"=ÂÎÇÌÎÆÅÍ ÂÕÎÄ ==BUY==");                   //Êîììåíòàðèé
  Sleep(time);                                                      //Ïåðèîäè÷íîñòü Êîììåíòàðèÿ
  }
  if (dis<0&&dis*(-1)>distanciya&&High[2]<spid&&High[1]<spid)       //Óñëîâèå êîììåíòàðèÿ
  {
  Alert("ÍÀ="+Symbol(),"=ÂÎÇÌÎÆÅÍ ÂÕÎÄ ==SELL==");                  //Êîììåíòàðèé
  Sleep(time);                                                      //Ïåðèîäè÷íîñòü Êîììåíòàðèÿ
  }
  double cena=High[1]-Low[1];                                       //Ðàñ÷åò ðàçìåðà ïîñëåäíåé çàêðûòîé ñâå÷è
  double cenaglav=NormalizeDouble(800*(Point),Digits);              //Íîðìàëèçàöèÿ ïàðàìåòðà
  if (cena>=cenaglav)                                               //Åñëè ñâå÷à áîëüøå Distanciay
  {
  Alert("ÁÎËÜØÀß ÑÂÅ×À==ÐÀÇÌÅÐ==",cena/Point);                      //êîììåíòàðèé
  Sleep(time);                                                      //Ïåðèîäè÷íîñòü Êîììåíòàðèÿ
  }}
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 ---