//ARM
 
#property indicator_chart_window
 
//---- input parameters
 
          extern int AR_Period = 14;
 
//-------------------------
 
          string SYMB[100];
          string TEXT[100];
          double ARM[100];
          
//----------------
          int init( )
          {
 
           return( 0 );
          }
          
//-------------
          int deinit( )
          {
           Comment( "  " );
           return( 0 );
          }
          
//-------------
          int start( )
          {
          int i;
          string text;
          int error = 0;
          int Handle = FileOpen( "Symbols.txt", FILE_CSV | FILE_READ, "," );
          if( Handle < 0 )
          {
          
              error = GetLastError( );
              if( error == 4103 )
              {
               Alert( "ARM  ôàéë ñ èìåíåì  Symbols.txt íå íàéäåí" );
              }
              else
              {
              if( error != 0 )
              {
               Alert( "ARM  íîìåð îøèáêè ïðè îòêðûòèè ôàéëà  Symbols.txt  ", error );
              }
              }
              
           FileClose( Handle );
           return( 0 ); 
          
          }
          else
          {
          if( Handle > 0 )
          {
          
           while( FileIsEnding( Handle ) == false )
           {
           
            i++;
            text = FileReadString( Handle );
            SYMB[i] = StringTrimRight( text );
            
            
            if( FileIsEnding( Handle ) == true )
            {
             break;
            }
            
            
            double tick = MarketInfo( SYMB[i], MODE_TICKSIZE );
            int e = 1;
            double sum = 0;
            int sma = 0;
          
          
               while( e <= AR_Period )
               {
                sum = sum + ( iHigh( SYMB[i], PERIOD_D1, e ) - iLow( SYMB[i], PERIOD_D1, e ) );
                e++;
               }
               
               
               if( tick != 0 )
               {
                sma = sum / AR_Period / tick;
               }
          
          
          ARM[i] = sma + 0.0001 * i;
          
          
          }  // ãðàíèöà öèêëà  while( FileIsEnding( Handle ) == false )
          
          }  // ãðàíèöà óñëîâèé if( Handle < 0 )
          }  // else  if( Handle > 0 )
          
          FileClose( Handle );
          
          //---------------------------
          
          
          ArraySort( ARM, i, 0, MODE_DESCEND );
          e = 0;
          while( e < i )
          {
           int dd = MathFloor( ARM[e] );
           double k = NormalizeDouble( 10000 * ( ARM[e] - dd ), 0 );
           int f = k;
           TEXT[e] = SYMB[f] + "          " + dd;
           e++;
          }
          error = 0;
          
          
          //----------------------------
          
          
          int y;
          int handle0 = FileOpen( "ARM_f.txt",  FILE_CSV | FILE_WRITE, "," );
          if( handle0 < 0 )
          {
          
             error = GetLastError( );
             if( error == 4103 )
             {
              Alert( "ARM   ôàéë ñ èìåíåì   ARM_f.txt  íå íàéäåí " );
             }
             else
             {
             if( error != 0 )
             {
              Alert( "ARM  êîä îøèáêè ïðè ïîïûòêå ñîçäàòü ôàéë  ARM_f.txt   ", error );
             }
             }
             
             
           FileClose( handle0 );
           return( 0 );
          }
          else
          {
          if( handle0 > 0 )
          {
          
              for( y = 1; y <= i; y++ )
              {
              
                if( TEXT[y] == "" )
                {
                 break;
                }
          
                int c = FileWrite( handle0, TEXT[y] );
                if( c < 0 )
                {
                 Alert( "ARM  êîä îøèáêè ïðè çàïèñè ôàéëà  ARM_f.txt   ", GetLastError( ) );
                 FileClose( handle0 );
                 return( 0 );
                }
          
          
              } // ãðàíèöà öèêëà  for( y = 1; y <= i; y++ )
          
          FileClose( handle0 );
          
          } // ãðàíèöà óñëîâèé if( handle < 0 )
          } // else  if( handle > 0 )
          
          
          
          Comment( TEXT[1],
          "\n",TEXT[2],
          "\n",TEXT[3],
          "\n",TEXT[4],
          "\n",TEXT[5],
          "\n",TEXT[6],
          "\n",TEXT[7],
          "\n",TEXT[8],
          "\n",TEXT[9],
          "\n",TEXT[10],
          "\n",TEXT[11],
          "\n",TEXT[12],
          "\n",TEXT[13],
          "\n",TEXT[14],
          "\n",TEXT[15],
          "\n",TEXT[16],
          "\n",TEXT[17],
          "\n",TEXT[18],
          "\n",TEXT[19],
          "\n",TEXT[20],
          "\n",TEXT[21],
          "\n",TEXT[22],
          "\n",TEXT[23],
          "\n",TEXT[24],
          "\n",TEXT[25],
          "\n",TEXT[26],
          "\n",TEXT[27],
          "\n",TEXT[28],
          "\n",TEXT[29],
          "\n",TEXT[30],
          "\n",TEXT[31],
          "\n",TEXT[32] );
          return(0);
          }
             
            
            
            
Comments