- Símbolos y marcos temporales
- Aspectos técnicos de la organización y el almacenamiento de series temporales
- Obtención de características de arrays de precios
- Número de barras disponibles (Bars/iBars)
- Índice de la barra de búsqueda por tiempo (iBarShift)
- Visión general de las funciones Copy para obtener arrays de comillas
- Obtener cotizaciones como un array de estructuras MqlRates
- Solicitud independiente de arrays de precios, volúmenes, diferenciales, tiempo
- Lectura de precio, volumen, diferencial y hora por índice de barras
- Encontrar los valores máximo y mínimo de una serie temporal
- Trabajar con arrays de ticks reales en estructuras MqlTick
Obtención de características de arrays de precios
Antes de leer arrays de series temporales debemos asegurarnos de que están disponibles y de que poseen las características requeridas. La función SeriesInfoInteger recupera las propiedades básicas, como la profundidad del historial disponible en el terminal y en el servidor, el número de barras construidas para una combinación específica de símbolo/período, y la ausencia de discrepancias en las cotizaciones entre el terminal y el servidor.
La función tiene dos formas: la primera devuelve directamente el valor solicitado (de tipo long) y la segunda utiliza el cuarto parámetro result pasado por referencia. En este caso, el segundo formulario devuelve una señal de éxito (true) o de errores (false). En cualquier caso, el código de error puede encontrarse utilizando la función GetLastError.
long SeriesInfoInteger(const string symbol, ENUM_TIMEFRAMES timeframe, ENUM_SERIES_INFO_INTEGER property)
bool SeriesInfoInteger(const string symbol, ENUM_TIMEFRAMES timeframe, ENUM_SERIES_INFO_INTEGER property, long &result)
La función permite averiguar una de las propiedades de la serie temporal para el símbolo y el marco temporal especificados o para todo el historial del símbolo. La propiedad solicitada se identifica mediante el tercer argumento de tipo ENUM_SERIES_INFO_INTEGER. Esta enumeración incluye todas las propiedades disponibles:
Identificador |
Descripción |
Tipo de propiedad |
|---|---|---|
SERIES_BARS_COUNT |
Número de barras por símbolo/período, véase Bars |
long |
SERIES_FIRSTDATE |
Primera cita por símbolo/período |
datetime |
SERIES_LASTBAR_DATE |
Hora de apertura de la última barra por símbolo/período |
datetime |
SERIES_SYNCHRONIZED |
Signo de sincronización de datos por símbolo/período en el terminal y en el servidor |
bool |
SERIES_SERVER_FIRSTDATE |
Primera fecha de la historia por símbolo en el servidor independientemente del periodo |
datetime |
SERIES_TERMINAL_FIRSTDATE |
Primera fecha del historial por símbolo en el terminal de cliente independientemente del periodo |
datetime |
Dependiendo de la esencia de la propiedad, el valor resultante debe convertirse en un valor de un tipo específico (véase la columna Property type).
Todas las propiedades se devuelven en el momento actual.
El script SeriesInfo.mq5 proporciona un ejemplo de consulta de todas las propiedades.
void OnStart()
|
He aquí un ejemplo del resultado obtenido en EURUSD, H1, en el servidor MQ Demo:
SeriesInfoInteger(NULL,0,SERIES_BARS_COUNT)=10001 / ok
|