Características da linguagem mql5, subtilezas e técnicas - página 219

 
fxsaber #:

Aqui.

Alexey Viktorov#:

GRÁFICO_É_MAXIMIZADO

Gráfico_é_maximizado

bool r/o

GRÁFICO_É_MINIMIZADO

Gráfico_é_minimizado gráfico é minimizado

bool r/o

Obrigado, vou tentar agora.
Também encontrado CHART_WINDOW_IS_VISIBLE. Mas penso que já o verifiquei antes e houve algumas nuances.

 
Nikolai Semko #:

Obrigado, vou experimentar agora.
Também encontrado CHART_WINDOW_IS_VISIBLE. Mas penso que já o tinha verificado antes e havia algumas nuances.

fxsaber #:

Aqui.

Sim, a sua variante funciona, ao contrário do CHART_WINDOW_IS_VISIBLE.
Mais uma vez, obrigado.

Assim, faz sentido controlar a visibilidade da carta para a formação de bitmap desta forma em vez de através de CHART_BRING_TO_TOP

Excepto que o controlo é demasiado caro sem utilizar o user32.dll, porque tem de monitorizar constantemente todas as janelas.
Mas obviamente, todas as janelas só devem ser monitorizadas quando a própria janela do gráfico não está em foco (ChartGetInteger(0, CHART_BRING_TO_TOP) == falso)
 
Nikolai Semko #:

Mas obviamente, todas as janelas devem ser monitorizadas apenas quando a própria janela do gráfico não está em foco(ChartGetInteger(0, CHART_BRING_TO_TOP) == falso)

Uma janela minimizada pode voltar a ser verdadeira mesmo quando existem múltiplas janelas.

 
fxsaber #:

Uma janela minimizada pode voltar a ser verdadeira mesmo quando existe mais do que uma janela.

Estamos a falar da função CHART_BRING_TO_TOP ou IsInvisible?

 
Nikolai Semko #:


Assim, faz sentido controlar a visibilidade da carta para a formação de bitmap desta forma em vez de através de CHART_BRING_TO_TOP

HHH excepto que a monitorização é demasiado cara sem utilizar a user32.dll, porque é necessário monitorizar constantemente todas as janelas.
Mas é óbvio que a monitorização de todas as janelas só deve ser feita quando a sua própria janela de gráficos está desfocada (ChartGetInteger(0, CHART_BRING_TO_TOP) == falso)

Sim, pode ser justificado apenas em Expert Advisors, porque as funções ChartGet funcionam muito mais rapidamente aí.
Não faz sentido incomodar-se com isso em indicadores. É mais rápido redesenhar a tela do que monitorizar o estado de outras janelas.
IMHO

Mais uma vez, tudo se resume à lentidão das funções do ChatGet :(
 
Nikolai Semko #:

Estamos a falar de CHART_BRING_TO_TOP ou IsInvisible?

GRÁFICO_BRING_TO_TOP.

 
Nikolai Semko #:

Sim, isto só pode ser justificado em EAs, pois as suas funções ChartGet são muito mais rápidas.

Foi lento quando o monitorizei.

Não há sentido em preocupar-se com indicadores. É mais rápido a redesenhar lona do que a monitorar outras janelas.
IMHO

Depende da severidade dos cálculos. Para o HFT é muito importante manter a visualização o mínimo possível. É por isso que eu uso IsInvisible2.

 
fxsaber #:

GRÁFICO_BRING_TO_TOP.

É estranho que, neste modo, o tamanho da janela apareça como se não estivesse minimizado.
No entanto, este é um caso muito raro em que a janela activa é minimizada. Sim, neste caso, a sua presença não se fará por nenhuma boa razão.

 
Nikolai Semko #:

No entanto, este é um caso muito raro em que a janela activa é minimizada.

Fórum sobre comércio, sistemas de comércio automatizados e testes estratégicos

MT5 e Velocidade em Acção

fxsaber, 2020.09.30 21:42

Vejo que até os meus bots agora equipados com desempenho estão a funcionar de modo a que a CPU do Terminal seja 15%. E agora uma ponta do chapéu!

  • Close Market Watch (CTRL+M) - apenas os símbolos comercializados no mesmo.
  • Fechar tabela com posições actuais (CTRL+T).
  • Minimizar todos os gráficos.

Voila, CPU terminal 2,5%! Descarregue o seu VPS. Se mais alguém tiver alguma recomendação válida, informe-me.


Caros programadores, por favor tenham a capacidade de mudar o terminal para o modo de consumo mínimo de recursos para algotrading.

O modo de funcionamento mais difundido dos conselheiros de batalha.
 
fxsaber #:
O modo de operação mais comum para EAs de combate.

significa que em modo de combate deve desligar todos os disparates gráficos sem minimização. Deixar os gráficos congelados se a janela permanecer visível mas não activa.
E é mais fácil e melhor, parece-me, desligar e remover automaticamente todos os gráficos quando o rato está inactivo, por exemplo 1 minuto. Assim que o rato estiver activo - os gráficos são retomados.