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

 
O usuário utiliza графики с отступами от правого края. Сколько баров отображается на таком графике ? Uma constante geométrica pura, independente de períodos, história, rolagem e tudo mais.
E se você pensar sobre isso?
Suponha que o gráfico seja rolado para a direita o máximo possível, então o recuo é visível e há, por exemplo, 100 barras no gráfico.
Mas se rolarmos o gráfico para a esquerda para recuar, ele mostrará 100 + tantas barras quanto cabe no recuo.
 
Suponha que o gráfico seja rolado para a direita o máximo possível, então o recuo é visível e há, por exemplo, 100 barras no gráfico. <br/ translate="no"> Mas se rolarmos o gráfico para a esquerda para recuá-lo, haverá 100 + tantas barras quanto o recuo permitir.


Não é interessante rebobinar o gráfico à mão.


Que funções do sistema e bibliotecas precisam ser conectadas a
- obter tamanho vertical e horizontal da tabela atual em pixels;

1. GetClientRect do user32.dll


Não tenho experiência na importação de *.dll.
Encontrei uma descrição da GetClientRect

A função GetClientRect recupera as coordenadas da área de trabalho da janela. As coordenadas de trabalho definem os cantos superior esquerdo e inferior direito do espaço de trabalho. Como as coordenadas de trabalho são relativas ao canto superior esquerdo do espaço de trabalho da janela, as coordenadas do canto superior esquerdo são (0,0).
Sintaxe
BOOL GetClientRect
(
HWND hWnd, // window descriptor
LPRECT lpRect // endereço da estrutura de coordenadas de trabalho
);
Parâmetros
hWnd
Identifica a janela cujas coordenadas de trabalho devem ser devolvidas.
lpRect
Indica a estrutura RECT que aceita as coordenadas de trabalho. Os elementos esquerdo e superior são nulos. Os elementos direito e inferior contêm a largura e a altura da janela.
Valores de retorno
Se a função for concluída com sucesso, o valor de retorno é diferente de zero. Se a função falhar, o valor de retorno é zero. Para obter dados de erro ampliados, ligue para GetLastError.


Em outras fontes, esta função é descrita como nula. Em que acreditar ?

É necessário especificar #importar "user32.dll" para conectar?

De acordo com algumas fontes, a estrutura RECT é descrita em winuser.h, outras em windef.h. Nenhum desses arquivos existe na minha máquina.

#include <winuser.h> ou #include <windef.h> ?

O que deve ser especificado como o identificador da janela hWnd ?

Como obter os parâmetros necessários da estrutura lpRect ? A MQL4 não suporta tipos de dados complexos (estruturas).


Que funções do sistema e bibliotecas devem ser conectadas a

- obter cotações máximas e mínimas aparentes do gráfico atual;

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




|
| <- 1.8595
|..........|
|----|
|........................--- Alta |
|_----| |----|
|_----|
|----|
|----|
|_----|
|------- Baixa
|
|----|
|_----| |
 
Caros desenvolvedores!

Por favor, responda minhas perguntas.
 
As questões de programação são discutidas no fórum especializado MQL4.COMmunity.

Há muitos artigos e uma coleção de programas no site. Não hesite em lê-los. Em particular, a questão das citações mínimas e máximas foi discutida aqui: "MQL4: Intercepção".

Eu cito de
===
Se você sabe o tamanho da janela em pixels, você pode facilmente usar as funções BarsPerWindow e FirstVisibleBar. Não há problema para calcular o número da barra.
É mais complicado com a coordenação de preços. Se a escala for automática, podemos calculá-la adicionando 5% da diferença entre os valores de preço máximo e mínimo na parte superior e inferior. Se a escala é fixa, ela não pode ser calculada, pois não há informações sobre o limite superior e inferior.
===
 
<br / translate="no"> Vou citar
===
Se você sabe o tamanho da janela em pixels, então você pode facilmente usar as funções BarsPerWindow e FirstVisibleBar. Não há problema em descobrir o número do bar.
É mais complicado com a coordenação de preços. Se a escala for automática, podemos calculá-la adicionando 5% da diferença entre os valores de preço máximo e mínimo na parte superior e inferior. Se a escala é fixa, ela não pode ser calculada, pois não há informações sobre o limite superior e inferior.
===


Exemplo real: EURUSD, M1
Alto 1,2613 Valor máximo visível 1,2620 delta 0,0007
Baixo 1.2602 Min 1.2600 delta 0.0002 valor visível

Onde fica 5% ?

A pesquisa GetClientRect no fórum MQL4.COM produz 2 referências. Nenhuma resposta ou recomendação específica.
 
<br/ translate="no"> Uma busca por GetClientRect no fórum MQL4.COMmunity dá 2 referências. Nenhuma resposta ou recomendação específica.

Portanto, você faz uma pergunta. Convidei você para um fórum especializado para esse fim.
Além disso, citei a mim mesmo: "É mais complicado com a coordenação de preços". O que significa que a pergunta não tem uma resposta inequívoca.

A propósito, 5% não é o preço, mas o número de pixels entre o preço máximo e mínimo.
 
Somente os preços altos e baixos ainda estão disponíveis para o usuário. De acordo com o exemplo acima, os objetos de texto só podem ser exibidos em 50% da área do gráfico. Isto é normal?
 
<br / translate="no"> Então você faz uma pergunta. Convidei você para um fórum especializado para esse fim.
Além disso, citei a mim mesmo: "É mais complicado com a coordenação de preços". O que significa que a pergunta não tem uma resposta inequívoca.

A propósito, 5% não é o preço, mas o número de pixels entre o preço máximo e mínimo.


Segui seu conselho e coloquei sua pergunta no fórum da MQL4.COM. Tive zero resposta e nenhuma resposta e nenhuma esperança. Por favor, ajude.
 
Caros desenvolvedores!

Por favor, ajude-me com a função GetClientRect do user32.dll para obter o tamanho vertical e horizontal do gráfico atual em pixels.

A descrição da função é dada acima.

Para conectá-lo, especifique #importar "user32.dll".

Como identificador da janela hWnd indicamos o valor retornado pela função WindowHandle (...) .

Como obter os parâmetros necessários da estrutura lpRect, se a MQL4 não suporta tipos de dados complexos (estruturas) ?
 
Caros desenvolvedores!

Há mais de um mês venho pedindo ajuda para resolver meu problema sem sucesso.

Alguns postos recebem uma resposta após uma ou duas horas, outros são flagrantemente ignorados por um longo tempo. Por quê?