Price Data Components
Series array that contains the highest prices of each barSeries array that contains the lowest prices of each bar
Miscellaneous
Uses files from the file systemIt issuies visual alerts to the screenIt reads information from a fileIt writes information to file
0 Views
0 Downloads
0 Favorites
ARM
//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