Mira cómo descargar robots gratis
¡Búscanos en Twitter!
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
Librerías

FileUnlimited - librería para MetaTrader 5

Visualizaciones:
732
Ranking:
(30)
Publicado:
2016.03.08 13:58
Actualizado:
2016.11.22 07:33
\MQL5\Include\TheXpert\
stringutils.mqh (0.61 KB) ver
\MQL5\Libraries\TheXpert\ \MQL5\Scripts\
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa

Biblioteca para trabajar con los archivos que usan WinAPI sin limitaciones de ubicación.

Ahora se ha implementado solo el trabajo con los archivos de constante (solo lectura), se irán actualizando a medida que se reparen los bugs y se vaya completando el código.

Los archivos FileUnlimited.mqh, FileUnlimitedConstants.mqh y StringUtils.mqh se deben copiar en catálogo_de_datos_del_terminal\MQL5\Include\TheXpert, la biblioteca ConstFileUnlimited.mqh se debe copiar en catálogo_de_datos_del_terminal\MQL5\Libraries\TheXpert, y el script FileUnlimitedTest.mq5 en catálogo_de_datos_del_terminal\MQL5\Scripts.

He intentado que el uso de la clase sea lo más sencillo posible.

Ejemplo de uso (doblo el script)

#include <TheXpert/FileUnlimited.mqh>
#include <TheXpert/StringUtils.mqh>

#define CP_UTF16 1200

void OnStart()
{
   string name = "TheXpert\\Test.txt";
   string path = TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Files\\" + name;
   
   int hFile = FileOpen(name, FILE_WRITE | FILE_TXT, ' ', CP_UTF16);
   if (hFile == INVALID_HANDLE)
   {
      Print("File not opened.");
      return;
   }
   
   bool writeBool = false, readBool = true;
   long writeLong = -4369549, readLong = 0;
   double writeDouble = -4369549.245, readDouble = 0;
   datetime writeDatetime = 2596824987, readDatetime = 0;
   color writeColor = Blue, readColor = White;
   string writeString = "2r4i6bf4wb9tb69vw", readString = "";
   
   FileWrite(hFile, writeBool);
   FileWrite(hFile, writeLong);
   FileWrite(hFile, writeDouble);
   FileWrite(hFile, writeDatetime);
   FileWrite(hFile, writeColor);
   FileWrite(hFile, writeString);

   FileClose(hFile);
   
   // ---------------------------------------------
   // a partir de aquí se usa la librería para la lectura.
   // ---------------------------------------------
   ConstFile* file = OpenConstFile(path);
   if (CheckPointer(file) != POINTER_INVALID)
   {
      file.Read(readBool);
      Print("readBool = ", readBool);

      file.Read(readLong);
      Print("readLong = ", readLong);

      file.Read(readDouble);
      Print("readDouble = ", readDouble);

      file.Read(readDatetime);
      Print("readDatetime = ", readDatetime);

      file.Read(readColor);
      Print("readColor = ", readColor);

      file.Read(readString);
      Print("readString = ", readString);
      
      delete file;
   }
   else
   {
      Print("Failed to open ConstFile at path -- ", path);
   }
}

La biblioteca funciona solo con archivos unicode, por eso tenemos la página de códigos CP_UTF16 (por algún motivo no está disponible en las constantes de lenguaje).

Le ruego que me comunique todos los posibles errores detectados, dejando un mensaje en los comentarios o en este tema.

Cualquier observación o ruego, así como la crítica constructiva, serán bienvenidos.

¡Hagamos juntos una cosa que sea útil para todos!

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

Extrem_N Extrem_N

Indicador sencillo y sin pretensiones, que determina un máximo creciente o un mínimo descendente.

Notches_HTF Notches_HTF

Indicador Notches con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.

EA based on indicator SAR, ADX and SMA 100 EA based on indicator SAR, ADX and SMA 100

Asesor basado en los indicadores SMA, ADX y SAR.

Advanced ADX Advanced ADX

Indicador Advanced ADX.