Cotações máximas e mínimas visíveis - página 3

 
Por que o valor inicial da FirstVisibleBar( ) é incorreto ???

As dimensões geométricas do gráfico permanecem inalteradas.

FirstVisibleBar( ) = BarsPerWindow( ) - travessão da borda direita;

BarsPerWindow( ) = const, não dependente do período e dos dados.

travessão da borda direita = const, não dependente do período e dos dados.
 
Por que стартовое значение FirstVisibleBar( ) está errado ????
FirstVisibleBar( ) = BarsPerWindow( ) - travessão da borda direita;

De onde você tirou esta fórmula?

A primeira barra visível no gráfico e o número de barras cabem na janela do gráfico não têm nada a ver uma com a outra
 
Quando não há indentação FirstVisibleBar( ) = BarsPerWindow( ).

Sob estas condições, a FirstVisibleBar( ) ainda tem o valor inicial errado quando os períodos de troca são trocados.
 
<br / translate="no"> Quando não há indentação FirstVisibleBar( ) = BarsPerWindow( ).

E daí? Passe o gráfico para a direita e esquerda, no início (com o botão home) e veja o valor produzido pela função FirsVisibleBar. Mas certifique-se de desativar a rolagem automática do gráfico antes de fazer isso.
 
Perguntas muito interessantes foram feitas por belkor.

A quais funções do sistema e bibliotecas precisam ser conectadas
- obtendo o tamanho vertical e horizontal da tabela atual em pixels;
- Obtenha as cotações máximas e mínimas visíveis do gráfico atual;
- obter o número total de gráficos expandidos na janela ???

Talvez faça sentido complementar a linguagem MQL4 com funções apropriadas ?
 
Precisamos de uma função que devolva o número de barras na janela do gráfico atual, levando em conta a presença/ausência de recuo da margem direita do gráfico.
 
<br / translate="no"> Precisamos de uma função que devolva o número de barras na janela do gráfico atual, levando em conta a presença / ausência de recuo da margem direita do gráfico.

Por quê?
Apesar da indentação, a janela do gráfico pode ser completamente preenchida.
E apesar da falta de indentação, a janela do gráfico pode não ser preenchida.
 
O usuário está usando gráficos recuados a partir da margem direita. Quantas barras são exibidas em um gráfico desse tipo? Pura constante geométrica, independente de períodos, história, rolagem e tudo mais.

Pessoalmente, acho os saltos de 20 ou mais vezes e os atrasos na FirstVisibleBar( ) inaceitáveis.
 
Cavalheiros desenvolvedores, por favor, aconselhem

Quais funções do sistema e bibliotecas devem ser incluídas para

- obtendo o tamanho vertical e horizontal da tabela atual em pixels;
- obter as cotações máximas e mínimas visíveis do gráfico atual;
- obter o número total de gráficos expandidos na janela ???

Talvez faça sentido complementar a linguagem MQL4 com funções apropriadas ?

Obrigado.
 
1. GetClientRect do user32.dll
2. Não há nenhuma função especial. Você pode calcular sozinho, com base na FirstVisibleBar() e BarsPerWindow()
3. O que é "número total de gráficos na janela"? Se for uma subjanela com indicadores, a função embutida WindowsTotal() ajudará. Se se trata de gráficos abertos no terminal do cliente, então não pode ser determinado diretamente - somente através das correspondentes funções WinAPI em sua própria dll.

Agora não vamos acrescentar nada ao idioma.