Características del lenguaje mql5, sutilezas y técnicas - página 219

 
fxsaber #:

Aquí.

Alexey Viktorov#:

GRÁFICO_ES_MÁXIMO

Gráfico_es_máximo

bool r/o

GRÁFICO_ES_MINIMIZADO

Chart_is_minimized el gráfico está minimizado

bool r/o

Gracias, lo probaré ahora.
También se ha encontrado CHART_WINDOW_IS_VISIBLE. Pero creo que lo he comprobado antes y había algunos matices.

 
Nikolai Semko #:

Gracias, voy a experimentar ahora.
También se ha encontrado CHART_WINDOW_IS_VISIBLE. Pero creo que lo comprobé antes y había algunos matices.

fxsaber #:

Aquí.

Sí, su variante funciona, a diferencia de CHART_WINDOW_IS_VISIBLE.
Gracias de nuevo.

Así que tiene sentido controlar la visibilidad del gráfico para la formación de mapas de bits de esta manera en lugar de a través de CHART_BRING_TO_TOP

Excepto que el control es demasiado caro sin usar user32.dll, porque tienes que monitorizar constantemente todas las ventanas.
Pero obviamente, todas las ventanas deberían ser monitorizadas sólo cuando la propia ventana del gráfico no está enfocada (ChartGetInteger(0, CHART_BRING_TO_TOP) == false)
 
Nikolai Semko #:

Pero obviamente, todas las ventanas deben ser monitoreadas sólo cuando la propia ventana del gráfico no está en foco(ChartGetInteger(0, CHART_BRING_TO_TOP) == false)

Una ventana minimizada puede devolver true incluso cuando hay varias ventanas.

 
fxsaber #:

Una ventana minimizada puede devolver true incluso cuando hay más de una ventana.

¿Estamos hablando de la función CHART_BRING_TO_TOP o de la función IsInvisible?

 
Nikolai Semko #:


Así que tiene sentido controlar la visibilidad del gráfico para la formación de mapas de bits de esta manera en lugar de a través de CHART_BRING_TO_TOP

HHH excepto que la monitorización es demasiado costosa sin usar user32.dll, porque necesitas monitorizar constantemente todas las ventanas.
Pero es obvio que la monitorización de todas las ventanas debe hacerse sólo cuando tu propia ventana del gráfico está fuera de foco (ChartGetInteger(0, CHART_BRING_TO_TOP) == false)

Sí, se puede justificar sólo en los Asesores Expertos, porque las funciones de ChartGet se ejecutan mucho más rápido allí.
No tiene sentido molestarse con él en los indicadores. Es más rápido redibujar el lienzo que controlar el estado de otras ventanas.
IMHO

De nuevo todo se reduce a la lentitud de las funciones de ChatGet :(
 
Nikolai Semko #:

¿Estamos hablando de CHART_BRING_TO_TOP o de IsInvisible?

CHART_BRING_TO_TOP.

 
Nikolai Semko #:

Sí, esto sólo puede justificarse en los EAs, ya que sus funciones ChartGet son mucho más rápidas.

Fue lento cuando lo supervisé.

No tiene sentido molestarse con los indicadores. Es más rápido redibujar el lienzo que monitorear otras ventanas.
IMHO

Depende de la gravedad de los cálculos. Para la HFT es muy importante que la visualización sea la mínima posible. Por eso uso IsInvisible2.

 
fxsaber #:

CHART_BRING_TO_TOP.

Es extraño que en este modo el tamaño de la ventana aparezca como si no estuviera minimizada.
Sin embargo, este es un caso muy raro en el que la ventana activa se minimiza. Sí, en este caso se agitará sin razón alguna.

 
Nikolai Semko #:

Sin embargo, se trata de un caso muy raro en el que la ventana activa se minimiza.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

MT5 y Speed en acción

fxsaber, 2020.09.30 21:42

Veo que incluso mis bots, ahora alineados con el rendimiento, están funcionando de manera que la CPU de la terminal es del 15%. Y ahora, ¡una propina para el sombrero!

  • Cerrar la Vigilancia del Mercado (CTRL+M) - sólo los símbolos negociados en ella.
  • Cerrar la tabla con las posiciones actuales (CTRL+T).
  • Minimizar todos los gráficos.

¡Voilà, CPU terminal 2,5%! Descargue su VPS. Si alguien más tiene alguna recomendación válida, que me lo diga.


Estimados desarrolladores, por favor, tengan la posibilidad de cambiar el terminal al modo de mínimo consumo de recursos para el algotrading.

El modo de funcionamiento más extendido de los consejeros de guerra.
 
fxsaber #:
El modo de funcionamiento más común de los EA de combate.

significa que en el modo de combate debes desactivar todas las tonterías gráficas sin minimizar. Deja que los gráficos se congelen si la ventana permanece visible pero no activa.
Y es más fácil y mejor, según me parece, apagar y eliminar automáticamente todos los gráficos cuando el ratón está inactivo, por ejemplo, durante 1 minuto. Tan pronto como el ratón está activo - los gráficos se reanudan.