Por favor, dé más libertad para gestionar las ventanas del gráfico - página 5

 
joo:
... Hoy en día, puedes dibujar lo que quieras con un mapa de bits en una ventana... es un poco engorroso, pero puedes hacer lo que quieras.
El problema no es que puedas o no puedas dibujar; lo que necesitas es una ventana de gráfico que puedas controlar: mover, redimensionar.
 

Como solución (esta opción me parece fea) aplicarobj_chart, pero no se le puede aplicar plantilla y añadir indicadores.

Si fuera posible añadir indicadores aobj_chart, creo que sería una medida aceptable a medias.

 
barabashkakvn:

Como solución (esta opción me parece fea) aplicarobj_chart, pero no se le puede aplicar plantilla y añadir indicadores.

Si fuera posible añadir indicadores aobj_chart, creo que sería una medida aceptable a medias.

Es posible agregar indicadores alobj_chart usando MQL5, pero también es inconveniente.
 
tol64:
Es posible añadir indicadores alobj_chart utilizando las herramientas MQL5, pero también es un inconveniente.
Sí, se puede, usandoOBJPROP_CHART_ID. Me equivoqué - me refería a añadir gráficos aobj_chart en una ventana separada.
 
barabashkakvn:

Como solución (esta opción me parece fea) aplicarobj_chart, pero no se le puede aplicar plantilla y añadir indicadores.

Si sólo fuera posible añadir indicadores aobj_chart, entonces, creo, sería una medida aceptable a medias.

barabashkakvn:
Sí, se puede, usandoOBJPROP_CHART_ID. Me equivoqué - me refería a añadir gráficos aobj_chart en la ventana del separador.

Ya lo tengo resuelto: se puede aplicar la plantilla, añadir el indicador y configurar la ventana separadora del objetoobj_chart. Así, el objeto gráfico en esta etapa de MQL5 puede ser prácticamente un sustituto de una ventana gráfica habitual.

¿Por qué prácticamente?

Ojalá la ventana del separador de gráficos pudiera colocarse no sólo en horizontal, sino también en vertical. Entonces, una ventana de separación vertical podría convertirse en un sustituto completo de una ventana de gráfico normal. Y la ventana del separador vertical se puede controlar: se puede cambiar su tamaño. Así, se puede implementar el control de ventanas mediante MQL5 sin WinAPI.

 
barabashkakvn:

Con obj_chart, lo he resuelto: puedes aplicar una plantilla y añadir un indicador y una ventana de separación al objetoobj_chart. Así, el objeto gráfico en esta etapa de MQL5 puede ser prácticamente un sustituto de una ventana gráfica habitual.

¿Por qué prácticamente?

Ojalá la ventana del separador de gráficos pudiera colocarse no sólo en horizontal, sino también en vertical. Entonces, una ventana de separación vertical podría convertirse en un sustituto de pleno derecho de una ventana gráfica estándar. Y la ventana del separador vertical se puede controlar: se puede cambiar su tamaño. Así, se puede implementar el control de las ventanas mediante MQL5 sin WinAPI.

En la ventana de un objeto de gráfico, puede colocar otros objetos del tipo de gráfico. Teniendo en cuenta los eventos del gráfico existentes(CHARTEVENT_MOUSE_MOVE) podemos implementar la gestión de objetos. No es elemental, pero sí bastante factible.
 
antt:
En la ventana de objetos gráficos se pueden colocar otros objetos de tipo gráfico. Teniendo en cuenta los eventos de gráfico existentes(CHARTEVENT_MOUSE_MOVE), se puede implementar la gestión de objetos. Esto no es elemental, pero sí bastante factible.
¿Funciona yaChartNavigate() en los objetos gráficos? De alguna manera, había enviado una solicitud al Service Desk con esta petición, pero aún no he obtenido respuesta.
 
tol64:
¿Funciona ya ChartNavigate() en los objetos gráficos? Una vez envié una solicitud al Servicio de Atención al Cliente con esta petición, pero aún no he recibido respuesta.

Ha funcionado y sigue funcionando. Un ejemplo sencillo:

void OnStart()
  {
   ObjectCreate(0,"chart",OBJ_CHART,0,0,0);
   long id=ObjectGetInteger(0,"chart",OBJPROP_CHART_ID);
   ChartSetInteger(id,CHART_AUTOSCROLL,0);
   ChartNavigate(id,CHART_END,0);
   Sleep(1000);
   ChartNavigate(id,CHART_BEGIN,0);
   Sleep(1000);
   ChartNavigate(id,CHART_END,0);
  }
 
antt:

Ha funcionado y sigue funcionando. Un ejemplo sencillo:

Gracias. Resulta que mi error fue que no desactivé el autoscroll en el objeto gráfico. )

Genial. El desplazamiento horizontal en el objeto gráfico puede entonces implementarse por sí mismo.

 
tol64:

Gracias. Resulta que mi error fue que no desactivé el autoscroll en el gráfico del objeto. )

Genial. El desplazamiento horizontal en el objeto gráfico puede entonces implementarse por sí mismo.

¿Y cómo hacer que el "Crosshair" funcione en el objeto gráfico - es decir, cuando se mantiene el "Crosshair sobre el objeto gráfico", los datos OHLC se muestran en la barra de estado?