Indicador, Precisa de aconselhamento sobre o auto-controle da DISTÂNCIA entre textos (MT-4) - página 2

 
Não há uma boa solução para este problema no MT4. Uma opção é usar ATR com um período de 100 barras (e offset 1), a segunda opção é escrever uma função que retorna pontos dependendo do período de tempo.
 
Dmitry Fedoseev:
Não há uma boa solução para este problema no MT4. Uma opção é usar ATR com um período de 100 barras (e offset 1), a outra opção é escrever uma função que retorna pontos dependendo do período de tempo.

Na minha opinião, uma tela é uma solução universal absolutamente transversal que tem grandes oportunidades em comparação com objetos gráficos.

 

Por que assinar tudo em palavras?
Isto sobrecarregaria a percepção - muito texto no gráfico.

Eu faria ícones de caracteres diferentes para cada padrão (e selecionaria um código de caracteres nos parâmetros).

 
Isso mesmo, a ordem na tabela é importante. Mas isso precisa ser feito rapidamente, sem se deixar levar por embelezamentos, e direcionando suas energias para onde você sabe
 

como fazê-lo sem tela, mas de acordo com os mesmos princípios:

1. você precisará da altura atual da janela do gráfico em pixels para determinar o travessão atual: ChartGetInteger com CHART_HEIGHT_IN_PIXELS propriedade

2. Para determinar o início do desenho do gráfico: ChartTimePriceToXY

3) Como determinar que área do gráfico estamos vendo agora? ChartGetInteger com as propriedades CHART_VISIBLE_BARS e CHART_FIRST_VISIBLE_BAR

4. tudo acontece na OnChartEvent. estamos desenhando objetos como OBJ_LABEL

Na verdade, isso me faz lembrar de um velho lamento (incluindo o meu) sobre um texto de várias linhas. eh, se ao menos...

 
Igor Zakharov:

como fazê-lo sem tela, mas de acordo com os mesmos princípios:

1. você precisará da altura atual da janela do gráfico em pixels para determinar o travessão atual: ChartGetInteger com CHART_HEIGHT_IN_PIXELS propriedade

2. Para determinar o início do desenho do gráfico: ChartTimePriceToXY

3) Como determinar que área do gráfico estamos vendo agora? ChartGetInteger com as propriedades CHART_VISIBLE_BARS e CHART_FIRST_VISIBLE_BAR

4. tudo acontece na OnChartEvent. desenhamos objetos como OBJ_LABEL

Na verdade, isso me faz lembrar de um velho lamento (incluindo o meu) sobre um texto de várias linhas. eh, se ao menos...

O Canvas parece um monstro? E por isso é necessário criar um Frankenstein...
Um comentário multilinha é feito de uma só vez.
 
Artyom Trishkin:
O comentário de várias linhas é feito de uma só vez.

comentário? é aquele no canto superior esquerdo? como isso ajuda o autor do tópico?

ou você quer dizer alguma forma de produzir texto multilinha ligado ao preço/tempo? não se lembre de tal facilidade em quatro quadrado. você pode me ensinar?

não entendo a parte sobre a tela e o monstro...

A propósito, aqui está um exemplo sobre tela de Nikolay, quase exatamente o que o autor precisa, edições mínimas:

https://www.mql5.com/ru/forum/329224#comment_14363671

 
Igor Zakharov:

como fazê-lo sem tela, mas de acordo com os mesmos princípios:

1. você precisará da altura atual da janela do gráfico em pixels para determinar o travessão atual: ChartGetInteger com CHART_HEIGHT_IN_PIXELS propriedade

2. Para determinar o início do desenho do gráfico: ChartTimePriceToXY

3) Como determinar que área do gráfico estamos vendo agora? ChartGetInteger com as propriedades CHART_VISIBLE_BARS e CHART_FIRST_VISIBLE_BAR

4. tudo acontece na OnChartEvent. estamos desenhando objetos como OBJ_LABEL

Na verdade, isso me faz lembrar de um velho lamento (incluindo o meu) sobre um texto de várias linhas. eh, se ao menos...

É melhor escrever uma função, que retorna a distância em preço, mas corresponde a um determinado número de pixels. Então, no OnChartEvent, devemos percorrer a parte visível do gráfico e ajustar as distâncias para rótulos de texto. Com esta abordagem, a quantidade de modificações é mínima e a diferença entre o indicador e o comum também é mínima.

 
Artyom Trishkin:

Na minha opinião, o kanvas é uma solução universal absolutamente transversal, que tem enormes possibilidades em comparação com os objetos gráficos.

Ninguém precisa dele, exceto um pequeno punhado de entusiastas. E a maioria das pessoas precisa disso para que tudo seja simples, direto e compreensível.

 
Dmitry Fedoseev:

Ninguém precisa dele, exceto um pequeno punhado de entusiastas. E a maioria das pessoas quer que seja simples, direto e fácil de entender.

É mais fácil e mais claro escrever/escrever tudo o que é invencível-movível-ajustável em tela com um objeto gráfico. O objeto é simples. Mas a proporção deles é uma bagunça. Mas Kanvas também é um objeto, mas um objeto por vela - você apenas cria uma tela e desenha tudo o que você precisa lá. Não é preciso pensar em como economizar o espaçamento entre linhas quando se muda o período do gráfico e a escala vertical.