Discusión sobre el artículo "Cree sus propios paneles gráficos en MQL5" - página 4

 

El indicador tiene esta propiedad:

#property indicator_separate_window

Esta propiedad es necesaria para que el indicador esté en la parte inferior. Pues sí, está bastante claro.

Necesito tener también una "barra de diálogo" en la ventana principal....

Y ya está. Debido a esta propiedad, no importa lo que hagas, no importa las propiedades que definas, tu barra de diálogo estará en la subventana del indicador. Y nunca estará en la ventana principal.

Pasé tres días tratando de entender la biblioteca estándar. Sigo sin entender cómo ha sido posible semejante omisión.

Si me equivoco, indícame dónde lo estoy haciendo mal. Sólo por el amor de Dios no escribas que necesitas especificar 0 para las propiedades de ventana y subventana.

Mientras tanto, crearé mi propio panel que funcionará como debería.

 
Evgeniy Scherbina biblioteca estándar. Sigo sin entender cómo ha sido posible semejante omisión.

Si me equivoco, indícame dónde lo estoy haciendo mal. Solo por el amor de Dios no escribas que necesitas especificar 0 para las propiedades de ventana y subventana.

Mientras tanto, crearé mi propio panel que funcionará como debería.

revisa el código, añade la opción m_subwin definiendo el número de subventana, intercepta los eventos "crear/borrar" de subventana para corregir este caso en todo el diálogo si no es 0, usa este m_subwin donde se usa ObjectCreate(...)

entonces se pueden crear paneles y elementos en cualquier ventana y subventana

 
Maxim Kuznetsov #:

revisar el código, añadir la opción m_subwin que define el número de subventana, interceptar los eventos de "creación/eliminación" de subventana para corregir este caso en todo el diálogo si no es 0, utilizar este m_subwin donde se utiliza ObjectCreate(...).

entonces se pueden crear paneles y elementos en cualquier ventana y subventana

Sí, sí, todo esto es para añadir, fijar, envolver con alambre de aluminio y cinta adhesiva. Necesitamos una solución simple y correcta para toda esta biblioteca. Si no hay tal solución, entonces la biblioteca debe ser rediseñado. Probablemente haré mi cuadro de diálogo yo mismo.
 
Evgeniy Scherbina #:
Sí, sí, añade todo esto, fíjalo, envuélvelo en alambre de aluminio y pégalo con cinta adhesiva. Necesitamos una solución simple y correcta para toda esta biblioteca. Si no existe tal solución, habrá que rediseñar la biblioteca. Probablemente haré mi propia ventana de diálogo.

Esta es una limitación de la plataforma MetaTrader - un indicador puede estar sólo en la ventana principal o sólo en una subventana.

Posibles soluciones y un ejemplo de una aplicación se encuentran en el libro.

En resumen - usted crea 2 indicadores, y uno creará al otro usando ChartIndicatorAdd. Pueden intercambiar datos a través de eventos, recursos, buffers, etc.

Учебник по MQL5: Создание прикладных программ / Использование готовых индикаторов из MQL-программ / Комбинирование вывода в главное окно и вспомогательное
Учебник по MQL5: Создание прикладных программ / Использование готовых индикаторов из MQL-программ / Комбинирование вывода в главное окно и вспомогательное
  • www.mql5.com
Создание прикладных программ - Программирование на MQL5 для трейдеров - Учебник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Stanislav Korotky #:

Esta es una limitación de la plataforma MetaTrader - un indicador sólo puede estar en la ventana principal o sólo en una sub-ventana.

Posibles soluciones y un ejemplo de una implementación están en el libro.

En resumen - usted crea 2 indicadores, y uno creará al otro usando ChartIndicatorAdd. Pueden intercambiar datos a través de eventos, recursos, buffers, etc.

Si estas son las palabras de un especialista, entonces esto es exactamente lo que quería oír. Y significa que necesitas crear tu propio panel.

Si eso es sólo una suposición... entonces tienes que crear tu propio panel.

Estoy esperando una pista sobre cómo simplemente pegar el panel en la ventana principal, si el indicador se encuentra en la subventana.