- Funciones para obtener las propiedades básicas del gráfico actual
- Identificación de gráficos
- Obtener la lista de gráficos
- Obtener el símbolo y el marco temporal de un gráfico arbitrario
- Visión general de funciones para trabajar con el conjunto completo de propiedades
- Propiedades descriptivas de los gráficos
- Comprobar el estado de la ventana principal
- Obtener el número y la visibilidad de las ventanas/subventanas
- Modos de visualización de gráficos
- Gestionar la visibilidad de los elementos del gráfico
- Desplazamientos horizontales
- Escala horizontal (por tiempo)
- Escala vertical (por precio y lecturas del indicador)
- Colores
- Control del ratón y del teclado
- Desacoplar la ventana del gráfico
- Obtener las coordenadas de caída del programa MQL en un gráfico
- Conversión de coordenadas de pantalla a tiempo/precio y viceversa
- Desplazamiento de gráficos por el eje temporal
- Solicitud para volver a dibujar el gráfico
- Cambiar símbolo y marco temporal
- Gestionar indicadores en el gráfico
- Abrir y cerrar gráficos
- Trabajar con plantillas de gráficos tpl
- Guardar la imagen de un gráfico
Colores
Un programa MQL puede reconocer y cambiar los colores para mostrar todos los elementos del gráfico. Las propiedades correspondientes forman parte de la enumeración ENUM_CHART_PROPERTY_INTEGER.
Identificador |
Descripción |
---|---|
CHART_COLOR_BACKGROUND |
Color de fondo del gráfico |
CHART_COLOR_FOREGROUND |
Color de los ejes, escalas y líneas OHLC |
CHART_COLOR_GRID |
Color de la cuadrícula |
CHART_COLOR_VOLUME |
Color de los volúmenes y niveles de apertura de posiciones |
CHART_COLOR_CHART_UP |
El color de la barra ascendente, la sombra y el borde del cuerpo de una vela alcista. |
CHART_COLOR_CHART_DOWN |
El color de la barra descendente, la sombra y el borde del cuerpo de una vela bajista. |
CHART_COLOR_CHART_LINE |
El color de la línea del gráfico y de los contornos de las velas japonesas |
CHART_COLOR_CANDLE_BULL |
Color del cuerpo de la vela alcista |
CHART_COLOR_CANDLE_BEAR |
Color del cuerpo de la vela bajista |
CHART_COLOR_BID |
Color de la línea de precio de demanda (Bid) |
CHART_COLOR_ASK |
Color de la línea de precio de oferta (Ask) |
CHART_COLOR_LAST |
Color de la línea del último precio negociado (Last) |
CHART_COLOR_STOP_LEVEL |
Color de los niveles de las órdenes stop (Stop Loss y Take Profit) |
Como ejemplo de trabajo con estas propiedades, vamos a crear un script, ChartColorInverse.mq5, que cambiará todos los colores del gráfico a inverso, es decir, por la representación en bits del color en el formato RGB XOR ('^',XOR). Así, tras reiniciar el script en el mismo gráfico, se restablecerá su configuración.
#define RGB_INVERSE(C) ((color)C ^ 0xFFFFFF)
|
En la siguiente imagen se combinan las imágenes del gráfico antes y después de aplicar el script:
Invertir los colores del gráfico desde un programa MQL
Ahora vamos a terminar de editar IndSubChart.mq5. Tenemos que leer los colores del gráfico principal y aplicarlos a nuestro gráfico indicador. Existe una función para estos fines: SetPlotColors, cuya llamada se comentó en el manejador OnChartEvent (véase el último ejemplo de la sección Modos de visualización de gráficos).
void SetPlotColors(const int index, const ENUM_CHART_MODE m)
|
En esta nueva función, obtenemos, dependiendo del modo de dibujo del gráfico, el color de los contornos y cuerpos de las velas alcistas y bajistas, o el color de las líneas, y aplicamos los colores a los gráficos. Por supuesto, no olvide llamar a esta función durante la inicialización.
int OnInit()
|
El indicador está listo. Pruebe a ejecutarlo en la ventana y cambiar los colores en el cuadro de diálogo de propiedades del gráfico. El gráfico debería adaptarse automáticamente a la nueva configuración.