Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
CFastFile - clase para trabajar con una matriz de tipo uchar como un fichero virtual - librería para MetaTrader 5
- Visualizaciones:
- 1162
- Ranking:
- Publicado:
- 2014.01.14 12:49
- Actualizado:
- 2017.05.02 10:01
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
CFastFile elimina la necesidad de una escritura intermedia de datos en un fichero físico del disco. Proporciona una aceleración significativa trabajando con datos.
Tiene funciones similares a las funciones estándar FileWriteXXX/FileReadXXX. Significa que puede migrar fácilmente del uso de ficheros físicos al acceso rápido con ficheros "virtuales" en memoria. El almacenamiento y lectura/escritura de datos se basa en el uso de una matriz de tipo uchar en lugar de un fichero físico.
Lista de funciones:
CFastFile(uchar &data[]); // constructor con la inicialización de los datos del fichero desde una matriz void Clear(); // limpia fichero //--- funciones para trabajar con las propiedades del fichero void Delim(uchar delim=';'); // delimitador (separador de datos) para el modo CSV int Size(); // obtiene el tamaño del fichero int Tell(); // obtiene la posición actual void Seek(int offset, int origin); // posiciona bool IsEnding(); // comprobación de fin de fichero (EOF) bool IsLineEnding(); // comprobación de final de línea //--- funciones para escribir datos en el fichero uint WriteArray(uchar &src[], uint src_start=0, int src_cnt=WHOLE_ARRAY); // escribe matriz uchar uint WriteDouble(double v); // escribe un double uint WriteFloat(float v); uint WriteLong(long v); uint WriteInt(int v); uint WriteShort(short v); uint WriteChar(char v); uint WriteInteger(int v, int sz=INT_VALUE); // escribe un entero - para compatibilidad con el estándar FileWriteInteger uint WriteString(string v, int cnt); // escribe una cadena cnt=-1 significa modo CSV con adición de \r\n (salto de línea) //--- funciones para leer del fichero uint ReadArray(uchar &dst[], uint dst_start=0, int cnt=WHOLE_ARRAY); // lee matriz double ReadDouble(); // lee un double float ReadFloat(); long ReadLong(); int ReadInt(); short ReadShort(); char ReadChar(); int ReadInteger(int sz=INT_VALUE); // lee un entero - para compatibilidad con el estándar FileReadInteger double ReadNumber(); // string ReadString(int cnt); // lee una cadena. cnt=-1 significa modo CSV - leyendo hasta delimitador (separador de datos) //--- funciones, usadas para guardar datos uint Save(uchar &v[]); // guarda el fichero en matriz uchar uint Save(int h); // guarda el fichero en el fichero físico en el disco. h - descriptor de fichero (el fichero debe estar abierto) uint Save(string file); // guarda el fichero en el fichero físico en el disco. file - Nombre del fichero //--- funciones usadas para la carga de datos uint Load(uchar &v[]); // carga el fichero desde matriz uchar uint Load(int h); // carga datos desde el fichero físico en el disco. h - descriptor de fichero (el fichero debe estar abierto) uint Load(string file); // carga datos desde el fichero físico en el disco. file - Nombre del fichero
Como se puede observar, las funciones tienen nombres similares a las operaciones estándar de ficheros.
La migración desde ficheros reales a CFastFile es muy fácil. En lugar de abrir el archivo y obtener el descriptor de archivo (por ejemplo, int h) usted necesita crear la instancia de clase CFastFile, por ejemplo:
CFastFile f;
Lo siguiente que necesita cambiar son las funciones de ficheros convencionales de acuerdo a la regla:
FileWriteDouble(h, 10) -> f.WriteDouble(10)
Para su comodidad, las funciones Save/Load han sido añadidas, esto le permite grabar/cargar los datos del fichero "virtual" al fichero real en disco.
Se incluye un ejemplo de demostración del uso de la clase CFastFile.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/845
Módulo de señales de comercio para el asistente MQL5 . En el momento, que el indicador ColorJFatl indicator cambia su color, indica el momento de entrada en el mercado.
Trading signals module based on SilverTrend_Signal indicatorMódulo de señales de trading para el Asistente MQL5. El punto de color del indicador SilverTrend_Signal sirve como una señal de entrada en el mercado.
Módulo de señales de trading para el asistente MQL5. La flecha de color del indicador WPRSIsignal sirve como señal de entrada en mercado.
Módulo de señales de comercio basado en el indicador Candles_SmoothedMódulo de señales de comercio para el asistente MQL5 . En el momento, que una vela formada por Candles_Smoothed cambia su color, indica el momento de entrada en el mercado.