Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Visualizaciones:
1027
Ranking:
(29)
Publicado:
2014.01.14 14:32
Actualizado:
2016.11.22 07:33
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

El script analiza uno por uno todos los archivos CSV ubicados en la carpeta general de todos los terminales clientes para obtener sus tamaños. Despues de obtener el tamaño, este valor se compara con el valor de referencia "InpThresholdSize" y según el resultado, el archivo es colocado en una de las carpertas "InpBigFolderName" o "InpSmallFolderName". De esta forma se clasifican los archivos en grandes y pequeños.

Ademas de utilizar la función FileSize(), aquí se utilizan también las funciones FileFindFirst(), FileFindNext() y FileFindClose() para ordenar los archivos y la función FileMove() para moverlos.

Código:

//--- muestra una ventana con los parámetros de entrada al lanzar el script
#property script_show_inputs
//--- parámetros de entrada
input ulong  InpThresholdSize=20;        // tamaño de referencia en kilobytes
input string InpBigFolderName="big";     // carpeta para archivos grandes
input string InpSmallFolderName="small"; // carpeta para archivos pequeños
//+------------------------------------------------------------------+
//| Función de inicio del script                                     |
//+------------------------------------------------------------------+
void OnStart()
  {
   string   file_name;      // variable para almacenar los nombres de los archivos
   string   filter="*.csv"; // filtro para seleccionar los archivos
   ulong    file_size=0;    // tamaño del archivo en bytes
   int      size=0;         // número de archivos
//--- imprimimos la ruta del archivo con el que estamos trabajando
   PrintFormat("Usando la carpeta %s\\Files\\",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
//--- recibimos el descriptor de búsqueda en la raiz de la carpeta común a todos los terminales
   long search_handle=FileFindFirst(filter,file_name,FILE_COMMON);
//--- comprobamos si FileFindFirst() se ha ejecutado correctamente
   if(search_handle!=INVALID_HANDLE)
     {
      //--- dentro del ciclo movemos los archivos según su tamaño
      do
        {
         //--- abrimos el archivo
         ResetLastError();
         int file_handle=FileOpen(file_name,FILE_READ|FILE_CSV|FILE_COMMON);
         if(file_handle!=INVALID_HANDLE)
           {
            //--- obtenemos su tamaño
            file_size=FileSize(file_handle);
            //--- cerramos el archivo
            FileClose(file_handle);
           }
         else
           {
            PrintFormat("Error abriendo el archivo %s, código de error = %d",file_name,GetLastError());
            continue;
           }
         //--- imprimimos el tamaño del archivo
         PrintFormat("El tamaño del archivo %s es igual a %d bytes",file_name,file_size);
         //--- definimos la ruta hacia donde moveremos el archivo
         string path;
         if(file_size>InpThresholdSize*1024)
            path=InpBigFolderName+"//"+file_name;
         else
            path=InpSmallFolderName+"//"+file_name;
         //--- movemos el archivo
         ResetLastError();
         if(FileMove(file_name,FILE_COMMON,path,FILE_REWRITE|FILE_COMMON))
            PrintFormat("El archivo %s ha sido movido",file_name);
         else
            PrintFormat("Error, código = %d",GetLastError());
        }
      while(FileFindNext(search_handle,file_name));
      //--- cerramos el descriptor de busqueda
      FileFindClose(search_handle);
     }
   else
      Print("No se encontraron archivos!");
  }

Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/1633

Stochastic Momentum Blau_SM Stochastic Momentum Blau_SM

Stochastic Momentum de William Blau.

Stochastic Momentum Index Blau_SMI Stochastic Momentum Index Blau_SMI

Stochastic Momentum Index de William Blau.

Stochastic Oscillator Blau_TS_Stochastic Stochastic Oscillator Blau_TS_Stochastic

Oscilador Estocástico de William Blau.

Stochastic Index Blau_TStochI Stochastic Index Blau_TStochI

Indicador Stochastic Index (periodo-q del Estocástico con suavizado normalizado) de William Blau.