Dos tipos de indicadores: para la ventana principal y para la subventana

Como usted sabe, los indicadores en MetaTrader 5 pueden mostrar sus líneas en dos lugares: en la ventana del gráfico principal en la parte superior de las cotizaciones o en una ventana separada creada por debajo del gráfico de precios. Estos dos modos se excluyen mutuamente: cada indicador está diseñado para la ventana principal o para una subventana, pero no puede combinar ambos métodos.

Existen varias soluciones alternativas para los casos en los que se requiere que el programa visualice los datos en ambas ventanas. Por ejemplo, un proyecto puede implementarse en forma de dos indicadores que interactúan (el aspecto técnico de la interacción queda abierto: pueden ser recursos, archivos, sistema de gestión de bases datos (DBMS) o memoria compartida a la que se accede a través de una DLL). Otro enfoque consiste en utilizar los búferes de indicadores en una de las ventanas, por ejemplo, en el panel inferior, y realizar la visualización en el gráfico principal utilizando objetos gráficos.

Se pueden aplicar varios indicadores tanto en la ventana principal como en la subventana. Si el indicador está diseñado para trabajar en una ventana independiente, al arrastrarlo con el ratón desde el Navegador a la ventana principal se creará automáticamente una nueva ventana para este indicador. Sin embargo, si la ventana ya tiene una subventana con otro indicador, entonces el nuevo puede arrastrarse al mismo lugar, alineando así dos o más indicadores. En este caso, son posibles varios modos de escalar indicadores en una ventana. Por defecto, las construcciones de cada indicador se escalan automática e independientemente unas de otras a la altura total del panel, pero esto puede cambiarse (véase el ejemplo SubScaler.mq5 en la sección sobre eventos de teclado).

La ventana de visualización del indicador se selecciona mediante una de las dos directivas de compilación.

#property indicator_chart_window     // display the indicator in the chart window
#property indicator_separate_window  // display the indicator in a separate window

El desarrollador del indicador debería insertar uno de ellos al principio del código fuente. Si ninguna de las directivas está presente, la opción por defecto lo mostrará en la ventana principal, pero el compilador generará una advertencia. Ya lo vimos en la sección anterior. En los siguientes ejemplos nos aseguraremos de indicar #property indicator_chart_window o #property indicator_separate_window.

La segunda advertencia de compilación IndStub.mq5 se refería a la falta de configuración de búferes y gráficos. Nos ocuparemos de ellos en la próxima sección.

La acción de la lista desplegable Apply to en la configuración del indicador depende de la ventana para la que se diseñó.
 
Un indicador para una ventana individual puede ser Applied al indicador de la subventana, pero no al indicador de la ventana principal.
 
Sin embargo, el indicador de la ventana principal puede ser Applied to cualquier indicador, tanto al de la ventana principal como al de la subventana.