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
|