Discusión sobre el artículo "Interfaces gráficas X: Control "Gráfico estándar" (build 4)" - página 5

 
Реter Konow:

2. el hecho de que mi aplicación no se ralentice puede verse en el vídeo.

4. Así es. Por eso estoy discutiendo contigo. Desde mi punto de vista, tu solución de redibujar todo el gráfico en el evento de cada objeto no es eficiente y causa carga adicional en el procesador. La optimización depende de resolver este problema correctamente. No tengo ninguna llamada a la función ChartRedrow() (créeme, por favor) y la interfaz no se ralentiza (puedes verlo en el vídeo).

De ahí mi sugerencia: no utilices el redibujado constante del gráfico, ya que puedes prescindir de él.

5. La prueba de que mis afirmaciones son válidas es mi palabra de que no utilizo ChartRedrow() y un vídeo con el resultado de prescindir de esta función.

2. El hecho de que nada se ralentiza en mi versión de la librería, mucho más funcional que la tuya, es evidente en el gráfico directamente en el terminal, no en el vídeo.

4. ¿Cuántas veces necesitas hacer la misma pregunta? ¿O intentas esquivarla tan a la ligera?

Preguntas duplicadas:

¿Dónde realizas tus pruebas? ¿En MetaTrader 4/5? ¿En Windows 7/8/10?

Ya he respondido a tu sugerencia. No es adecuado, porque ChartRedraw() debe ser utilizado en relación con la funcionalidad incorporada de mi versión de la biblioteca. Sin embargo, todo el mundo tiene la oportunidad de desactivar el redibujado en el motor de la librería, clase CWndEvents, método OnTimerEvent(), y probarlo usted mismo para ver por qué es necesario. Todos los archivos para las pruebas se proporcionan al final del artículo.

5. Tu palabra, así como la mía y la de cualquier otro, no vale nada sin material para que todo el mundo lo pruebe. Por mi parte, proporciono todo el material necesario.

 
Anatoli Kazharski:

2. el hecho de que en mi versión de la biblioteca mucho más funcional que la tuya, nada se ralentiza, se puede ver en el gráfico directamente en el terminal, no en el vídeo.

4. ¿Cuántas veces necesitas hacer la misma pregunta? ¿O intentas esquivarla tan a la ligera?

Preguntas duplicadas:

¿Dónde realizas tus pruebas? ¿En MetaTrader 4/5? ¿En Windows 7/8/10?

Ya he respondido a tu sugerencia. No es adecuado, porque ChartRedraw() debe ser utilizado en relación con la funcionalidad incorporada de mi versión de la biblioteca. Sin embargo, todo el mundo tiene la oportunidad de desactivar el redibujado en el motor de la librería, clase CWndEvents, método OnTimerEvent(), y probarlo usted mismo para ver por qué es necesario. Todos los archivos para las pruebas se proporcionan al final del artículo.

5. Tu palabra, así como la mía y la de cualquier otro, no vale nada sin material para que todos lo prueben.

2. Siguiendo tu lógica, es posible concluir que tu biblioteca es mucho más funcional, no mirando "desde arriba", sino sólo probando ambas variantes. Aún no has tenido esa oportunidad. Y yo he tenido menos tiempo para implementarlo (después de todo, llevas más tiempo programando que yo), así que tómate tu tiempo....

4. Estoy probando en Windows 8, MetaTrader 4, sólo para reducir la velocidad más. Así puedo ver mejor las deficiencias en velocidad, frenado, etc... MT5 es más avanzado y no pruebo allí todavía. Quiero que todo funcione perfectamente en MT4.

Ya me he dado cuenta de que no se puede cambiar la situación con ChartRedraw(), ya que implicaría un rediseño global de toda la funcionalidad de la librería. Estos son los límites de la posible optimización de tu librería.

5. La variante probada de mis ventanas será proporcionada aquí en este hilo después de algún tiempo, como el material mismo para la prueba por todos. Pídelo tú mismo y no digas que estoy haciendo publicidad de algo.

 
Реter Konow:

2. Siguiendo tu lógica, es posible concluir que tu biblioteca es mucho más funcional, no mirándola desde arriba, sino sólo probando ambas variantes. Tú no has tenido esa oportunidad todavía. Y yo he tenido menos tiempo para implementarlo (después de todo, llevas más tiempo programando que yo), así que tómate tu tiempo....

4. Estoy probando en Windows 8, MetaTrader 4, sólo para reducir la velocidad más. Así puedo ver mejor las deficiencias en velocidad, frenado, etc... MT5 es más avanzado y no pruebo allí todavía. Quiero que todo funcione perfectamente en MT4.

2. ¿Quieres decir que todavía no has mostrado todo lo que tienes? Bien. Es aún más interesante.

3. Así que usted prueba sólo en Windows 8 y MetaTrader 4, pero usted ha hecho conclusiones para todo y para todos? Cuando empieces a probar en otros entornos, entonces muchas cosas te quedarán más claras.

Retag Konow:

Ya me he dado cuenta de que no se puede cambiar la situación con ChartRedraw(), porque implicaría un rediseño global de toda la funcionalidad de la librería.

Ni siquiera voy a cambiar nada en ella. Por ejemplo, ¿cuántas discusiones has tenido con los desarrolladores de terminales en Service Desk sobre tal o cual cuestión?

Veo que exactamente cero:

//---

Y me aclaré muchas dudas allí, mientras se desarrollaba la plataforma MetaTrader 5:


//---

Retag Konow:

Esto define los límites de la posible optimización de su biblioteca.

Y esto no es lo que define las capacidades de la biblioteca en absoluto. Escribes tonterías.

Retag Konow:

5. La variante probada de mis ventanas será proporcionada aquí en este hilo después de algún tiempo, como el material mismo para la prueba por todos. Pídelo y no digas que estoy haciendo publicidad de algo.

Serás baneado más rápido.

P.D. Bueno, ya baneado, y aún no has posteado nada.

 

Tol, pista: si tenemos una ventana con un gráfico estándar (CStandardChart), entonces si seleccionamos la cruceta (Ctrl+F) e intentamos medir algo en el subgráfico, entonces, por supuesto, no pasará nada - la "regla" mide los datos del gráfico principal, y el gráfico del subgráfico se está moviendo hacia adelante y hacia atrás detrás de la cruceta.

Pregunta:

  1. ¿es posible eliminar el subgráfico que se mueve detrás del retículo? (no es una opción muy interesante), o
  2. ¿es posible hacer que las mediciones se realicen en el subgráfico? (que sería bastante sabroso)
 
Artyom Trishkin:

Tol, pista: si tenemos una ventana con un gráfico estándar en ella (CStandardChart), entonces si seleccionamos la cruceta (Ctrl+F) e intentamos medir algo en el subgráfico, entonces, por supuesto, no pasará nada - la "regla" mide datos del gráfico principal, y el gráfico del subgráfico se está moviendo hacia adelante y hacia atrás detrás de la cruceta.

Lo único que no está claro es por qué debe medir en el gráfico principal cuando el cursor está encima del subgráfico. Elimine la interferencia colapsando el formulario y trabaje con normalidad.

Artyom Trishkin:

...

1. ¿es posible eliminar el hecho de que el subgráfico corra por detrás del cursor? (no es una opción muy interesante)

Sí. Sólo que no lo haga por encima del subgráfico.

Artyom Trishkin:

...

2. ¿es posible hacer que las mediciones se realicen sobre el subgráfico? (lo que sería bastante sabroso)

Todavía no lo he probado. Pero parece posible, a juzgar por este indicador: ZoomPrice tick indicator

 
Anatoli Kazharski:

No lo entiendo, ¿por qué hacer mediciones en el gráfico principal cuando el cursor está encima del subgráfico? Elimine la interferencia colapsando el formulario y trabaje normalmente.

Sí, pero no sobre el subgráfico.

Aún no lo he probado. Pero parece que se puede, a juzgar por este indicador: ZoomPrice tick indicator.

Sorprendido yo mismo ;)

Esperemos que puedas hacerlo. O lo descubriremos nosotros mismos en nuestro tiempo libre.

 
¿Está previsto introducir la funcionalidad para cambiar la disposición de los gráficos en la próxima actualización? La versión actual tiene una disposición horizontal, pero existe la necesidad de disponerlos verticalmente, lo hemos hablado con vosotros.
 
Konstantin:
¿Está previsto introducir la funcionalidad para cambiar la disposición de los gráficos en la próxima actualización? La versión actual tiene una disposición horizontal, pero hay una necesidad de organizarlos verticalmente, hablamos de ello.

Y te he contestado que lo haré.

No en la próxima actualización, porque ahora hay mucho trabajo en otras partes dentro de la segunda etapa de desarrollo. En general, no puedo decir exactamente cuándo. En una de las próximas.

 
Anatoli Kazharski:

Y te he contestado que lo haré.

No en la próxima actualización, no, ya que ahora mismo se está trabajando mucho en otras partes como parte de la segunda fase de desarrollo. De todas formas, no puedo decirte exactamente cuándo. En una de las próximas.


sí contesté, pero en qué actualización no lo especifiqué, por eso pregunté ))
 
Konstantin:

sí respondieron, pero en que actualización no especifiqué, por eso pregunté ))

¡En primer lugar, voy a añadir la posibilidad de trabajar con estos gráficos: Visualise it! Librería de gráficos en MQL5 como análogo de plot de R

Y luego ampliaré las capacidades de la clase CStandartChart.