- Obtener símbolos disponibles y listas de Observación de Mercado
- Editar la lista de Observación de Mercado
- Comprobar la existencia de un símbolo
- Comprobar la pertinencia de los datos de los símbolos
- Obtener el último tick de un símbolo
- Horarios de sesiones de trading y cotización
- Coeficientes de margen de los símbolos
- Visión general de las funciones para obtener las propiedades de los símbolos
- Comprobar el estado de los símbolos
- Tipo de precio para construir gráficos de símbolos
- Divisas base, de cotización y de margen del instrumento
- Precisión de la representación de precios y pasos de cambio
- Volúmenes permitidos de operaciones de trading
- Permiso de trading
- Condiciones de trading de símbolos y modos de ejecución de órdenes
- Requisitos de margen
- Reglas de vencimiento de órdenes pendientes
- Diferenciales y distancia de orden del precio actual
- Obtener tamaños de swap
- Información actual sobre el mercado (tick)
- Propiedades descriptivas de los símbolos
- Profundidad de Mercado
- Propiedades personalizadas de símbolos
- Propiedades específicas (bolsa, derivados, bonos)
Comprobar la existencia de un símbolo
En lugar de buscar en toda la lista de símbolos, un programa MQL puede comprobar la presencia de un símbolo concreto por su nombre. Para ello existe la función SymbolExist.
bool SymbolExist(const string name, bool &isCustom)
En el parámetro name debe pasar el nombre del símbolo deseado. El parámetro isCustom pasado por referencia será establecido por la función dependiendo de si el símbolo especificado es estándar (false) o personalizado (true).
La función devuelve false si el símbolo no se encuentra ni en los símbolos estándar ni en los personalizados.
Un análogo parcial de esta función es la consulta de la propiedad SYMBOL_EXIST.
Vamos a analizar el sencillo script SymbolExists.mq5 para probar esta función. En su parámetro, el usuario puede especificar el nombre, que luego se pasa a SymbolExist, y se registra el resultado. Si se introduce una cadena vacía, se comprobará el símbolo de trabajo del gráfico actual. Por defecto, el parámetro se establece en «XYZ», que presumiblemente no coincide con ninguno de los símbolos disponibles.
#property script_show_inputs
|
Cuando el script se ejecuta dos veces, primero con el valor por defecto y luego con una línea vacía en el gráfico EURUSD, obtendremos las siguientes entradas en el registro.
Symbol 'XYZ' is missing
|
Si ya tiene símbolos personalizados o crea uno nuevo con una fórmula de cálculo sencilla, puede asegurarse de que la variable personalizada está poblada. Por ejemplo, si abre la ventana Symbols en el terminal y pulsa el botón Create symbol, puede introducir «SP500/FTSE100» (los nombres de los índices pueden diferir según su bróker) en el campo Synthetic tool formula y «GBPUSD.INDEX» en el campo con el nombre Symbol. Un clic en OK creará un instrumento personalizado para el que puede abrir un gráfico, y nuestro script debería mostrar en él lo siguiente:
Symbol 'GBPUSD.INDEX' is custom |
Cuando configure su propio símbolo, no olvide establecer no sólo la fórmula, sino también valores suficientemente «pequeños» para el tamaño del punto y el paso de cambio de precio (tick). De lo contrario, la serie de cotizaciones sintéticas puede resultar «escalonada», o incluso degenerar en una línea recta.