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.
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...
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...
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:
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.
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.
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.
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).
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...
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...
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
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.
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.
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.