Miscellaneous
Implements a curve of type %1
0 Views
0 Downloads
0 Favorites
ZigZag2_v1
//ZigZag2


#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 OrangeRed
#property indicator_color3 Green
#property indicator_color4 Red

//---- input parameters
 extern int Q = 122;   // Êîëè÷åñòâî áàðîâ â ðàñ÷åòàõ. Ðàñ÷åò ñïðàâà íàëåâî, îò ïåðâîãî èëè íóëåâîãî áàðà. Åñëè Q = 0, òî 
 // â ðàñ÷åòàõ áóäóò èñïîëüçîâàòüñÿ âñå áàðû.
 extern int N = 2;     // Ìèíèìàëüíîå êîëè÷åñòâî áëèæàéøèõ áàðîâ ñïðàâà îò ïðîâåðÿåìîãî áàðà è óäîâëåòâîðÿþùèõ óñëîâèþ 
 //  áûòü íèæå èëè âûøå ïðîâåðÿåìîãî áàðà äëÿ îáðàçîâàíèÿ ôðàêòàëà.
 extern int Allowance = 4;        // Ñóììà ÷èñåë Allowance è N ïîêàçûâàåò êàêîå êîëè÷åñòâî áàðîâ ñëåâà îò ïðîâåðÿåìîãî  
 // áàðà èìåþùåãî èíäåêñ i  áóäåò ïðîâåðÿòüñÿ íà óñëîâèå îáðàçîâàíèå ôðàêòàëà èìåþùåãî èíäåêñ i.
 // Ýòî ñêîðåé ïîäãîíî÷íûé ïàðàìåòð òàê, êàê àëãîðèòì ðàñ÷åòà ýòàëîííîãî èíäèêàòîðà ôðàêòàëîâ ìíå íå èçâåñòåí.   
 extern bool ShowFractals = false;            // Ïîêàçûâàòü ôðàêòàëû:   ShowFractals >= true.
 extern bool UseZeroBar = false;              // Èñïîëüçîâàíèå íóëåâîãî áàðà â ðàñ÷åòàõ:   UseZeroBar >= true.
 extern bool Show_6_Last_Ext_ZigZag = false;  // Ïîêàçàòü çíà÷åíèÿ ïîñëåäíèõ 6 ýêñòðåìóìîâ ZigZag è èõ èíäåêñû â êîììåíòàðèÿõ:
                                              //  Show_6_Last_Ext_ZigZag >= true.
 extern bool Show_6_Last_Fractals = false;    // Ïîêàçàòü çíà÷åíèÿ ïîñëåäíèõ 6 ôðàêòàëîâ ââåðõ è âíèç è èõ èíäåêñû â êîììåíòàðèÿõ:
                                              //  Show_6_Last_Fractals >= true.
 extern int TurnEconomy = 1;                  // Ïðîèçâîäèòü ðàñ÷åòû êîëè÷åñòâî ðàç = TurnEconomy, ïîñëå îòêðûòèÿ íîâîãî áàðà.
 extern int SpacePoints = 3;                  // Ðàññòîÿíèå â ïèïñàõ ìåæäó çíà÷êîì ôðàêòàëà è ýêñòðåìóìîì áàðà  
 
//==================================================================================================================

 double X[10000];    // Ìàññèâ äëÿ çíà÷åíèé ìàêñèìóìîâ çèãçàãà, (÷èñëî â êâàäðàòíûõ ñêîáêàõ ïîêàçûâàåò ðàçìåð ìàñèâà,
 // èëè êàêîå êîëè÷åñòâî äàííûõ ìîæíî çàãðóçèòü. Ýòî ÷èñëî ìîæíî èçìåíÿòü)
 double Y[10000];    // Ìàññèâ äëÿ çíà÷åíèé ìèíèìóìîâ çèãçàãà
 int E[10000];       // Ìàññèâ èíäåêñîâ äëÿ ìàêñèìóìîâ çèãçàãà
 int F[10000];       // Ìàññèâ èíäåêñîâ äëÿ ìèíèìóìîâ  çèãçàãà
 double U[10000];    // Ìàññèâ äëÿ çíà÷åíèé ôðàêòàëîâ ââåðõ
 double D[10000];    // Ìàññèâ äëÿ çíà÷åíèé ôðàêòàëîâ âíèç
 int H[10000];       // Ìàññèâ èíäåêñîâ äëÿ ôðàêòàëîâ ââåðõ
 int G[10000];       // Ìàññèâ èíäåêñîâ äëÿ ôðàêòàëîâ âíèç
 double Buffer0[];
 double Buffer1[];
 double Buffer2[];
 double Buffer3[];  
 datetime Newtime;
 double points;
 int k;
 int re;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers( 4 );
   IndicatorDigits( Digits );
	SetIndexBuffer( 0, Buffer0 ); 
	SetIndexStyle( 0, DRAW_ZIGZAG );  
	SetIndexBuffer( 1, Buffer1 ); 
	SetIndexStyle( 1, DRAW_ZIGZAG );
	
   SetIndexBuffer( 2, Buffer2 );
   SetIndexStyle( 2,DRAW_ARROW );
   SetIndexArrow( 2,217 );
   SetIndexBuffer( 3, Buffer3 ); 
   SetIndexStyle( 3,DRAW_ARROW );
   SetIndexArrow( 3,218 );
	//---- name for DataWindow and indicator subwindow label  
   IndicatorShortName( "ZigZag2" );
   SetIndexLabel( 2, "Fractal Up" );
   SetIndexLabel( 3, "Fractal Down" );       
   if ( UseZeroBar == true ) k = 1;
   if ( Q > Bars || Q == 0 ) Q = Bars; 
   points = SpacePoints * Point;
    	   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----

//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {

//---- 
     datetime time = Time[0];
     
     if ( Newtime == time && TurnEconomy < re ) return(0);
      
            if ( Newtime != time ) re = 1;
            
            re++; // ñ÷åò÷èê òèêîâ äëÿ óñëîâèÿ TurnEconomy < re
            
            Newtime = time; 
            
     int c = 2; 
     int limit, e, f, w, u, q1, v1;
     double s, g;
     
     int counted_bars = IndicatorCounted( );   
     //---- ïîñëåäíèé ïîñ÷èòàííûé áàð áóäåò ïåðåñ÷èòàí
     if ( counted_bars > 0 ) counted_bars--;
     limit = Q-counted_bars-1;
     //---- îñíîâíîé öèêë      
      
     int i = N + 1 - k;            
     for ( i = i; i < limit; i++ )
     { 
      Buffer0[i] = EMPTY_VALUE; // çàïîëíÿåì ïóñòîòîé
      Buffer1[i] = EMPTY_VALUE; 
      Buffer2[i] = EMPTY_VALUE;
      Buffer3[i] = EMPTY_VALUE;      
      double high = High[i]; 
      double low = Low[i];
      int q = 0;
      int v = 0;
      int b1 = 0;
      int b2 = 0;      
      int b3 = 0;      
      int b4 = 0;
      int c1 = 0;
      int c2 = 0;
      
      //-------------------------------------- Èññëåäóåì áàðû ñïðàâà îò ïðîâåðÿåìîãî íà äàííûé ìîìåíò áàðà è èìåþùèé èíäåêñ ðàâíûé i
      
      for ( int z = 1; z < N + 1; z++ )               
      {    
           //---------äëÿ ôðàêòàëîâ ââåðõ
            
           if ( high > High[i - z] ) // åñëè ìàêñèìóì  ïðàâîãî áàðà íèæå ïðîâåðÿåìîãî áàðà,  
           {
              q++;  // òî âêëþ÷èì ñ÷åò÷èê áàðîâ ïðàâåå îò ïðîâåðÿåìîãî áàðà èìåþùèå ìàêñèìóìû íèæå ÷åì ìàêñèìóì ïðîâåðÿåìîãî áàðà
               if ( q == N )  // åñëè q = N òî ñîõðàíèì íà ïàìÿòü îá ýòîì ïðèäàâ c1 çíà÷åíèå 1 íåîáõîäèìîãî äëÿ   
               {              // óñëîâèÿ if ( b1 == 0 && b2 == 0 && c1 == 1 ) íà÷àëà ïîèñêà áàðîâ ëåâåå îò ïðîâåðÿåìîãî è êîòîðûå 
                c1 = 1;       // èìåþò ìàêñèìóìû íèæå ìàêñèìóìà ïðîâåðÿåìîãî áàðà ñ èíäåêñîì i
               }
           }
           else // åùå âàðèàíò 
           {
           if ( high <= High[i - z] ) // åñëè äî íàðóøåíèÿ óñëîâèÿ z < N + 1 â öèêëå for ( int z = 1; z < N + 1; z++ ) êàêîé íèáóäü 
           {             // èç ïðàâûõ áàðîâ èìåþùèé èíäåêñ i-z âûøå èëè ðàâåí ìàêñèìóìó ïðîâåðÿåìîãî áàðà èìåþùåãî èíäåêñ i
            q = N + 1;   // òî äîáàâèì ê ïåðåìåííîé q íåêîòîðîå ÷èñëî åäèíèö äëÿ òîãî ÷òîáû óñëîâèå if ( q == N ) ,à âìåñòå 
           }             // ñ íèì è óñëîâèå if ( b1 == 0 && b2 == 0 && c1 == 1 ) íèêîãäà íå áûëè âûïîëíåíû äî ñëåäóþùåãî ïðîâåðÿåìîãî 
           }             // áàðà çàäàâàåìîãî öèêëîì for ( i = i; i < limit; i++ )
             
           //---------äëÿ ôðàêòàëîâ âíèç
           
           if ( low < Low[i - z] )  // åñëè ìèíèìóì ïðàâîãî áàðà âûøå ïðîâåðÿåìîãî áàðà, 
           {
              v++;  // òî âêëþ÷èì ñ÷åò÷èê áàðîâ ïðàâåå îò ïðîâåðÿåìîãî áàðà èìåþùèå ìèíèìóìû âûøå ÷åì ìèíèìóì ïðîâåðÿåìîãî áàðà
                if ( v == N ) // åñëè v = N, òî ñîõðàíèì íà ïàìÿòü îá ýòîì ïðèäàâ c2 çíà÷åíèå 1 íåîáõîäèìîãî äëÿ  
                {             // óñëîâèÿ if ( b3 == 0 && b4 == 0 && c2 == 1 ) íà÷àëà ïîèñêà áàðîâ ëåâåå îò ïðîâåðÿåìîãî è êîòîðûå
                 c2 = 1;      // èìåþò ìèíèìóìû âûøå ìèíèìóìà ïðîâåðÿåìîãî áàðà ñ èíäåêñîì i
                }      
           }
           else // åùå âàðèàíò
           {
           if ( low >= Low[i - z] ) // åñëè äî íàðóøåíèÿ óñëîâèÿ z < N + 1 â öèêëå for ( int z = 1; z < N + 1; z++ ) êàêîé íèáóäü
           {                       // èç ïðàâûõ áàðîâ èìåþùèé èíäåêñ i-z íèæå èëè ðàâåí ìèíèìóìó ïðîâåðÿåìîãî áàðà èìåþùåãî èíäåêñ i
            v = N + 1;             // òî äîáàâèì ê ïåðåìåííîé q íåêîòîðîå ÷èñëî åäèíèö äëÿ òîãî ÷òîáû óñëîâèå if ( v == N ),à âìåñòå
           }            // ñ íèì è óñëîâèå if ( b3 == 0 && b4 == 0 && c2 == 1 ) íèêîãäà íå áûëè âûïîëíåíû äî ñëåäóþùåãî ïðîâåðÿåìîãî 
           }            // áàðà çàäàâàåìîãî öèêëîì for ( i = i; i < limit; i++ )
                
      } // çàêðûâàþùàÿ ñêîáêà äëÿ öèêëà for ( int z = 1; z < N + 1; z++ ) 
      
      //-------------------------------- Òåïåðü èññëåäóåì áàðû ñëåâà îò ïðîâåðÿåìîãî íà äàííûé ìîìåíò áàðà è èìåþùèé èíäåêñ ðàâíûé i
      
      q = 0; // ïîäãîòîâèì ïåðåìåííûå q è v äëÿ öèêëà for ( z = 1; z < N + 1 + Allowance; z++ ) îáíóëèâ èõ 
      v = 0;
                                  
      for ( z = 1; z < N + 1 + Allowance; z++ )               
      {
         if ( b1 == 0 && b2 == 0 && c1 == 1 )  // Ïðè ñîõðàíåíèè ýòîãî óñëîâèÿ ïîèñê ëåâûõ áàðîâ èìåþùèõ ìàêñèìóìû íèæå ÷åì
         {                                     // ìàêñèìóì ïðîâåðÿåìîãî áàðà ñ èíäåêñîì i áóäåò ïðîäîëæàòüñÿ 
              if ( high > High[i + z] )
              {
               q++;  // ñ÷åò÷èê ëåâûõ áàðîâ ó êîòîðûõ ìàêñèìóìû íèæå ìàêñèìóìà ïðîâåðÿåìîãî áàðà 
                 if ( q == N ) 
                 {
                       if ( ShowFractals == true || Show_6_Last_Fractals == true )
                       { 
                        q1++;          // ñ÷åò÷èê ôðàêòàëîâ ââåðõ
                        U[q1] = high;  // ìàññèâ çíà÷åíèé ôðàêòàëîâ ââåðõ
                        H[q1] = i;     // ìàññèâ èíäåêñîâ äëÿ ôðàêòàëîâ ââåðõ
                        Buffer2[i] = high + points;  //åñëè q = N , òî î÷åðåäíîé ôðàêòàë ââåðõ íàéäåí è èìååò èíäåêñ i è òîãäà
                       }        // ïðåêðàòèì ïîèñê äî ñëåäóþùåãî ïðîâåðÿåìîãî áàðà çàäàâàåìûì öèêëîì for ( i = i; i < limit; i++ )  
                       b1 = 1;  //íàðóøèâ óñëîâèå if ( b1 == 0 && b2 == 0 && c1 == 1 ) äîáàâèâ ê b1 åäèíèöó 
                       
                       //===================================================== Ïîèñê î÷åðåäíîãî ìèêñèìóìà ZigZag, èëè áëîê çèãçàãà
                       
                              if ( c != 0 ) // åñëè îáðàçîâàëñÿ ìèíèìóì çèãçàãà êîãäà ñ = 1 è êîãäà äîñòèãíóòî óñëîâèå if ( q == N )
                              {             // èëè b1 = 1, òî åñòü ïîÿâèëñÿ íîâûé ôðàêòàë ââåðõ, òî èäåíòèôèöèðóåì ýòîò ôðàêòàë ïîêà  
                                            // êàê âðåìåííûé ìàêñèìóìà  çèãçàãà, 
                                e = i;
                                s = high;  
                                Buffer0[e] = high; // ïîìåùàÿÿ çíà÷åíèå ýòîãî ôðàêòàëà â áóôåð Buffer0[i] èíäèêàòîðà è ìàññèâ X[]
                                w++; 
                                X[w] = high;       
                                E[w] = i;          // à òàêæå êëàäåì èíäåêñ áàðà ñîîòâåòñòâóþùåìó ýòîìó ôðàêòàëó â ìàññèâ E[]
                              }

                                   if ( c == 0 && s < high )  // åñëè ñâåæèé ôðàêòàë âûøå ïîñëåäíåãî ìàêñèìóìà çèãçàãà è ìåæäó  
                                   {                          // íèìè íåò ìèíèìóìà çèãçàãà êîãäà ñ = 0 òî  
                                    Buffer0[e] = EMPTY_VALUE; // óäàëèì çíà÷åíèå ïîñëåäíåãî ìàêñèìóìà èç áóôåðà Buffer0[e] 
                                    s = high;                 // ñîîòâåòñòâóþùåå ïîñëåäíåìó èíäåêñó å çàìåíèâ åãî ïóñòûì çíà÷åíèåì 
                                    e = i;
                                    Buffer0[i] = high;  // â îáìåí íà íîâîå çíà÷åíèå ôðàêòàëà ñîîòâåòñòâóþùåìó òåêóùåìó èíäåêñó i
                                    X[w] = high;        // íå çàáûâ ïðè ýòîì ïîìåñòèòü ýòî çí÷åíèå â ìàññèâ X[] ìàêñèìóìîâ çèãçàãà 
                                    E[w] = i;           // à òàêæå íå çàáûâ ïîìåñòèòü èíäåêñ íîâîãî ôðàêòàëà  â ìàññèâ E[]
                                   }
                                   c = 0;               // òåïåðü æäåì êîëåíà çèãçàãà âíèç íàðóøèâ óñëîâèå if ( c != 0 )
                                                         
                 //================================================================ Ãðàíèöà ïîèñêà î÷åðåäíîãî ìàêñèìóìà  ZigZag. 
                
                 } // çàêðûâàþùàÿ ñêîáêà äëÿ óñëîâèÿ if ( q == N )
              } // çàêðûâàþùàÿ ñêîáêà äëÿ óñëîâèÿ if ( high > High[i + z] )
              else // åùå âàðèàíò 
              {
              if ( high < High[i + z] )  // åñëè ìàêñèìóì ïðîâåðÿåìîãî áàðà íèæå ìàêñèìóìà áàðà ðàññïîëîæåííîãî ëåâåå    
              {         // îò ïðîâåðÿåìîãî áàðà,òî ïðåêðàòèì ïðîñìîòð âëåâî äî ñëåäóþùåãî ïðîâåðÿåìîãî áàðà  
               b2 = 1;  //çàäàâàåìûì öèêëîì  for( i = i; i < limit; i++ ) íàðóøèâ óñëîâèå if ( b1 == 0 && b2 == 0 && c1 == 1 )
              }         // äîáàâèâ ê b2 åäèíèöó
              }
                   if ( high == High[i + z] ) // åñëè ìàêñèìóìû áëèæàéøåãî áàðà ñëåâà è ïðîâåðÿåìîãî áàðà èìåþùåãî èíäåêñ i 
                   {                          // ðàâíû, òî
                    q = 0;                // ñáðîñèì íà 0 ñ÷åò÷èê q++ äëÿ ïîñëåäíåãî óñëîâèÿ íàõîæäåíèÿ ôðàêòàëà ââåðõ if ( q == N )
                   }                      // è íà÷íåì ñ÷èòàòü çàíîâî äî òåõ ïîð ïîêà ñîõðàíÿåòñÿ óñëîâèå z < N + 1 + Allowance
                                          // â öèêëå for ( z = 1; z < N + 1 + Allowance; z++ )
                                              
         }  // çàêðûâàþùàÿ ñêîáêà äëÿ óñëîâèÿ if ( b1 == 0 && b2 == 0 && c1 == 1 )
         
         //--------------------------------------------------------------------- Ïîèñê ôðàêòàëîâ âíèç.
         
         if ( b3 == 0 && b4 == 0 && c2 == 1 )  // Ïðè ñîõðàíåíèè ýòîãî óñëîâèÿ ïîèñê ëåâûõ áàðîâ èìåþùèõ ìèíèìóìû âûøå ÷åì
         {                                     // ìèíèìóì ïðîâåðÿåìîãî áàðà ñ èíäåêñîì i áóäåò ïðîäîëæàòüñÿ 
              if ( low < Low[i + z] )
              {
               v++;     // ñ÷åò÷èê ëåâûõ áàðîâ ó êîòîðûõ ìèíèìóìû âûøå ìèíèìóìà ïðîâåðÿåìîãî áàðà  
                  if ( v == N )
                  {
                        if ( ShowFractals == true || Show_6_Last_Fractals == true )
                        {
                         v1++;          // ñ÷åò÷èê ôðàêòàëîâ âíèç
                         D[v1] = low;   // ìàññèâ çíà÷åíèé ôðàêòàëîâ âíèç
                         G[v1] = i;     // ìàññèâ èíäåêñîâ äëÿ ôðàêòàëîâ âíèç 
                         Buffer3[i] = low - points;  // åñëè v = N , òî î÷åðåäíîé ôðàêòàë âíèç íàéäåí è èìååò èíäåêñ i è òîãäà 
                        }       // ïðåêðàòèì ïîèñê äî ñëåäóþùåãî ïðîâåðÿåìîãî áàðà çàäàâàåìûì öèêëîì for ( i = i; i < limit; i++ )
                    b3 = 1;     //íàðóøèâ óñëîâèå ( b3 == 0 && b4 == 0 && c2 == 1 ) äîáàâèâ ê b3 åäèíèöó 
                    
                   //======================================================================= Ïîèñê î÷åðåäíîãî ìèíèìóìà ZigZag 
                   
                             if ( c != 1 )// åñëè îáðàçîâàëñÿ ìàêñèìóì çèãçàãà êîãäà ñ = 0 è êîãäà äîñòèãíóòî óñëîâèå if ( v == N )
                             {            // èëè b3 = 1, òî åñòü ïîÿâèëñÿ íîâûé ôðàêòàë âíèç, òî èäåíòèôèöèðóåì ýòîò ôðàêòàë ïîêà
                                          // êàê âðåìåííûé ìèíèìóì  çèãçàãà,
                              f = i;
                              g = low;
                              Buffer1[i] = low; // ïîìåùàÿÿ çíà÷åíèå ýòîãî ôðàêòàëà â áóôåð Buffer1[i] èíäèêàòîðà è ìàññèâ Y[]
                              u++;
                              Y[u] = low;
                              F[u] = i;         // à òàêæå êëàäåì èíäåêñ áàðà ñîîòâåòñòâóþùåìó ýòîìó ôðàêòàëó â ìàññèâ F[]
                             }
           
                                  if ( c == 1 && g > low )   // åñëè ñâåæèé ôðàêòàë íèæå ïîñëåäíåãî ìèíèìóìà çèãçàãà è ìåæäó 
                                  {                          // íèìè íåò ìàêñèìóìà çèãçàãà êîãäà c = 0, òî  
                                   Buffer1[f] = EMPTY_VALUE; // óäàëèì çíà÷åíèå ïîñëåäíåãî ìèíèìóìà èç áóôåðà Buffer1[f]
                                   g = low;                  // ñîîòâåòñòâóþùåå ïîñëåäíåìó èíäåêñó f çàìåíèâ åãî ïóñòûì çíà÷åíèåì
                                   f = i;
                                   Buffer1[i] = low;   // â îáìåí íà íîâîå çíà÷åíèå ôðàêòàëà ñîîòâåòñòâóþùåìó òåêóùåìó èíäåêñó i
                                   Y[u] = low;         // íå çàáûâ ïðè ýòîì ïîìåñòèòü ýòî çí÷åíèå â ìàññèâ Y[] ìèíèìóìîâ çèãçàãà 
                                   F[u] = i;           // à òàêæå íå çàáûâ ïîìåñòèòü èíäåêñ íîâîãî ôðàêòàëà  â ìàññèâ F[]   
                                  } 
                                  c = 1;               // òåïåðü æäåì êîëåíà çèãçàãà ââåðõ íàðóøèâ óñëîâèå if ( c != 1 )     
                                        
                  //===================================================================== Ãðàíèöà ïîèñêà î÷åðåäíîãî ìèíèìóìà ZigZag
                   
                  } // çàêðûâàþùàÿ ñêîáêà äëÿ óñëîâèÿ if ( v == N )
              }  // çàêðûâàþùàÿ ñêîáêà äëÿ óñëîâèÿ if ( low < Low[i + z] )
              else  // åùå âàðèàíò 
              {
              if ( low > Low[i + z] ) // åñëè ìèíèìóì ïðîâåðÿåìîãî áàðà âûøå ìèíèìóìà áàðà ðàññïîëîæåííîãî ëåâåå 
              {                       // îò ïðîâåðÿåìîãî áàðà,òî ïðåêðàòèì ïðîñìîòð âëåâî äî ñëåäóþùåãî ïðîâåðÿåìîãî áàðà 
               b4 = 1;  //çàäàâàåìûì öèêëîì  for( i = i; i < limit; i++ ) íàðóøèâ óñëîâèå if ( b3 == 0 && b4 == 0 && c2 == 1 )
              }         // äîáàâèâ ê b4 åäèíèöó
              }    
             
                   if ( low == Low[i + z] ) // åñëè ìèíèìóìû áëèæàéøåãî áàðà ñëåâà è ïðîâåðÿåìîãî áàðà èìåþùåãî èíäåêñ i
                   {                        // ðàâíû, òî
                    v = 0;               // ñáðîñèì íà 0 ñ÷åò÷èê v++ äëÿ ïîñëåäíåãî óñëîâèÿ íàõîæäåíèÿ ôðàêòàëà âíèç if ( v == N )
                   }                     // è íà÷íåì ñ÷èòàòü çàíîâî äî òåõ ïîð ïîêà ñîõðàíÿåòñÿ óñëîâèå z < N + 1 + Allowance
                                         // â öèêëå for ( z = 1; z < N + 1 + Allowance; z++ )
                                            
           }  // çàêðûâàþùàÿ ñêîáêà äëÿ óñëîâèÿ if ( b3 == 0 && b4 == 0 && c2 == 1 )
           
                   if ( b1 == 1 && b2 == 1 && b3 == 1 && b4 == 1 )
                   {
                    break;    // îáðûâ öèêëà for ( z = 1; z < N + 1 + Allowance; z++ )
                   }
                    
       }  // çàêðûâàþùàÿ ñêîáêà äëÿ öèêëà for ( z = 1; z < N + 1 + Allowance; z++ )
       
    } // çàêðûâàþùàÿ ñêîáêà äëÿ öèêëà for ( i = i; i < limit; i++ )                 
     
   //---------------------------------------------------------------------------------------------- Êîììåíòàðèè
        
         string text = " ";
         if ( Show_6_Last_Ext_ZigZag == true )
         {
          text = StringConcatenate( " ZigZag Maxs:   ",X[1]," [ "+E[1]+" ]    ", X[2]," [ "+E[2]+" ]    ",
          X[3]," [ "+E[3]+" ]    ",X[4]," [ "+E[4]+" ]    ",X[5]," [ "+E[5]+" ]    ",X[6], " [ "+E[6]+" ]",
          "\n\n ZigZag Mins:   ",Y[1]," [ "+F[1]+" ]    ", Y[2]," [ "+F[2]+" ]    ",
          Y[3]," [ "+F[3]+" ]    ",Y[4]," [ "+F[4]+" ]    ",Y[5]," [ "+F[5]+" ]    ",Y[6], " [ "+F[6]+" ] " );
         }
         else
         {
         if ( Show_6_Last_Fractals == true )
         {
          text = StringConcatenate( " Fractals Up:   ",U[1]," [ "+H[1]+" ]    ", U[2]," [ "+H[2]+" ]    ",
          U[3]," [ "+H[3]+" ]    ",U[4]," [ "+H[4]+" ]    ",U[5]," [ "+H[5]+" ]    ",U[6], " [ "+H[6]+" ]",
          "\n\n Fractals Down:   ",D[1]," [ "+G[1]+" ]    ", D[2]," [ "+G[2]+" ]    ",
          D[3]," [ "+G[3]+" ]    ",D[4]," [ "+G[4]+" ]    ",D[5]," [ "+G[5]+" ]    ",D[6], " [ "+G[6]+" ] " );
         }
         } 
              
         Comment( text );
         
   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 ---