Tem algum jeito de pegar a quantidade de graficos abertos?

 

Oi,

Teria algum jeito de pegar a quantidade de graficos abertos no terminal? Sera que a API do windows devolveria?

Eu estou procurando um jeito diferente da tradicional contagem andando com chartfirst() e seguidos chartnext().

Obrigado!

 
Ricardo Rodrigues Lucca:

Oi,

Teria algum jeito de pegar a quantidade de graficos abertos no terminal? Sera que a API do windows devolveria?

Eu estou procurando um jeito diferente da tradicional contagem andando com chartfirst() e seguidos chartnext().

Obrigado!

Olá.

int total_windows;
ChartGetInteger(0, CHART_WINDOWS_TOTAL, 0, total_windows);
 
Rogerio Giannetti Torres #:

Olá.

Ao contrario do que o nome e a documentação sugere, isso sempre devolve 1 de ter um grafico aberto na janela, se tenho 1 grafico e um indicador devolve 2 e assim por diante. O que não é o que quero, muito obrigado pela contribuição!

 
Rogerio Giannetti Torres #: Olá.

CHART_WINDOWS_TOTAL — Isso não é numero de gráficos (Charts), mas sim ... "O número total de janelas de gráficos, incluindo sub-janelas de indicadores".

 
Ricardo Rodrigues Lucca: Oi, Teria algum jeito de pegar a quantidade de graficos abertos no terminal? Sera que a API do windows devolveria? Eu estou procurando um jeito diferente da tradicional contagem andando com chartfirst() e seguidos chartnext(). Obrigado!

Desconheço alguma funcção ou propriedade que indique o número total de gráficos abertos.

A único método disponível parece ser o que já está a usar, nomeadamente ChartFirst e ChartNext.

 
Fernando Carreiro #:

CHART_WINDOWS_TOTAL — Isso não é numero de gráficos (Charts), mas sim ... "O número total de janelas de gráficos, incluindo sub-janelas de indicadores".

Sim tem toda a razão. 

CHART_WINDOWS_TOTAL

O número total de janelas de gráficos, incluindo sub-janelas de indicadores

int r/o

Documentação sobre MQL5: Constantes, Enumeradores e Estruturas / Constantes de Gráfico / Exemplos de como trabalhar com um gráfico
Documentação sobre MQL5: Constantes, Enumeradores e Estruturas / Constantes de Gráfico / Exemplos de como trabalhar com um gráfico
  • www.mql5.com
Exemplos de como trabalhar com um gráfico - Constantes de Gráfico - Constantes, Enumeradores e Estruturas - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5
 
Ricardo Rodrigues Lucca:

Oi,

Teria algum jeito de pegar a quantidade de graficos abertos no terminal? Sera que a API do windows devolveria?

Eu estou procurando um jeito diferente da tradicional contagem andando com chartfirst() e seguidos chartnext().

Obrigado!

Eu acho que só deste modo mesmo.

Já vi até uma postagem no fórum americano tratando sobre isso uma vez.


Abs.

 
Ricardo Branco #: Eu acho que só deste modo mesmo. Já vi até uma postagem no fórum americano tratando sobre isso uma vez. Abs.

Americano?

Que eu saiba o idioma chama-se "Inglês". Não existe nenhum idioma "americano" e a bandeira associada ao forum em Inglês é a bandeira do Reino Unido e não dos Estados Unidos da America.

 
Entendi, vou continuar com o meu código então como está.

Apenas pra compartilhar teve uma ideia que surgiu que se pudesse ter um indicador específico em todos os gráficos (condição que não posso ter assumida) poderia incrementar uma variável global no OnInit e decrementa-la no OnDestroy. Além disso tem dois problemas que surgiriam nisso que seria de tempos em tempos a variável global ser apagada e a concorrência no acesso (ex. Todos lerem zero e atribuem o valor 1).
 
Ricardo Rodrigues Lucca #: Entendi, vou continuar com o meu código então como está. Apenas pra compartilhar teve uma ideia que surgiu que se pudesse ter um indicador específico em todos os gráficos (condição que não posso ter assumida) poderia incrementar uma variável global no OnInit e decrementa-la no OnDestroy. Além disso tem dois problemas que surgiriam nisso que seria de tempos em tempos a variável global ser apagada e a concorrência no acesso (ex. Todos lerem zero e atribuem o valor 1).
Com todo esse trabalho extra, mais vale simplesmente contar os gráficos com o método ChartFirst / ChartNext.
Razão: