Atualize a janela do gráfico - página 3

 
Ei pessoal, está funcionando bem. obrigado mais uma vez,..,
 
phy:

O que é GV?

O que tenho feito recentemente, é algo assim:

for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){

Ele remonta a parte visível do indicador em cada tic tac, mas não as barras que estão fora de vista.

Olá, phy.....

Mesmo que eu tenha o mesmo problema que acima, tenho que mudar o cronograma manualmente e depois recebo um indicador de status de atualização.....

Como sou novo em codificação, não sei onde adicionar a linha mágica................

for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){

A Plesae sugere....

Obrigado... a .....lot.

Harry.

 
brspMA:
Ei pessoal, está funcionando bem. obrigado mais uma vez,..,

Olá, brspMA,

Até eu tenho o mesmo problema.........

Pode u me orientar onde acrescentar essa cal...

Obrigado......

 
  1. Por que você está postando em um tópico com cinco anos de idade? Você realmente espera que alguém que não poste há anos responda?
  2. for( int i = MathMax(WindowFirstVisibleBar(), Bars-IndicatorCounted()); i>= 0; i--){
    Você já desenhou todas as barras, então apenas a barra zero está mudando. Qual é o objetivo de redesenhar as barras visíveis
  3. Uma mudança de prazo, atualização de gráfico, etc. já é tratada pelo IndicatorCounted, nenhum código adicional é necessário, exceto o -1 que falta -- a maioria das barras é Bars-1
  4. hp69: Até eu tenho o mesmo problema.........
    Se seu indicador não estiver atualizando sem uma atualização, o problema é que seu indicador está quebrado. A mudança desse loop NÃO ajudará. Você deve consertar o indicador. Somente a primeira vez (e atualizar) é que ele atrairá todas as barras. A maioria dos outros ticks Bars-1-IndicatorCounted() será zero. O laço funciona uma vez. Você está usando variáveis não inicializadas em vez de valores salvos em buffers, a partir da barra anterior. Se você não conseguir descobrir, abra um NOVO post com seu código.
  5. Hp69 Não duplique a postagem
 


Data de início da rosca - 2007.11.29
 

WHRoeder- Por que você está postando em uma linha com cinco anos de idade?

RaptorUK - Data de início do tópico - 2007.11.29

============================

O que há de errado em responder a fios antigos?

O Google não discrimina o conteúdo contra a cronologia (a menos que utilize filtros), portanto não há nada de errado em ajudar outras pessoas que se deparam com threads através de mecanismos de busca.

Os mods vão para uma escola onde são ensinados a vilipendiar e a condenar noobs?

 
FlatFap:

WHRoeder - Por que você está postando em uma linha com cinco anos de idade?

RaptorUK - Data de início do tópico - 2007.11.29

============================

O que há de errado em responder a fios antigos?

O Google não discrimina o conteúdo contra a cronologia (a menos que utilize filtros), portanto não há nada de errado em ajudar outras pessoas que se deparam com threads através de mecanismos de busca.

Os mods vão para uma escola onde são ensinados a vilipendiar e condenar noobs?

Em princípio, não há nada de errado em responder a um tópico antigo.

São respostas como as suas que não têm nada a ver com o tópico que incomodam os outros.

Além disso, as respostas a uma pergunta de 5 anos de idade muitas vezes não são úteis, pois o mql4 evolui com o tempo. Trazer um tópico antigo para o topo da lista muitas vezes significa que noobs estão lendo informações que não são mais relevantes.

 
FlatFap, você não precisa ser desanimado. Está perfeitamente bem respondendo a um fio antigo. O simples fato de o Google colocar este tópico no topo de sua lista de busca significa que esta é a correspondência mais próxima possível do que você está procurando. A MQL4 está evoluindo como qualquer outra aplicação, mas a maioria das funções de comando não muda todos os dias, e com um pouco de tentativa e erro e mais pesquisa, você pode alcançar a solução desejada. Boa sorte!
 

É possível que tenhamos que redesenhar um indicador, mas não sabemos quantas barras temos que redesenhar. Se criarmos um indicador fractal, temos que recalcular as três últimas barras, porque a terceira barra pode se tornar um fractal se as duas barras seguintes à esquerda satisfizerem as regras. Eu criei um indicador que marcará um nível de suporte ou resistência quando ele for quebrado. No entanto, isto pode se juntar após 10 barras ou após 1000 barras. Portanto, não saiba realmente quantas barras temos que recalcular. E se recalcularmos todas as barras em cada carrapato, geralmente precisaremos limitar nosso indicador às últimas 500 ou 1000 barras.

Também é possível atualizar o gráfico para que ele recalcule todas as barras de nosso indicador. Mas como fazemos isso programadamente? O WindowsRedraw() e o ChartRedraw() não irão acionar uma atualização para o indicador. Se mudarmos o outro período de tempo e voltarmos, o indicador será recalculado, como descrito no primeiro post. Podemos colocar um especialista com um CHARTEVENT_CLICK em nosso gráfico e depois chamar o método ChartSetSymbolPeriod(0, NULL, 0). Isto ajustará o gráfico para o período do símbolo real e permitirá que o indicador seja recalculado automaticamente cada vez que clicarmos no gráfico. usar um evento de clique é apenas um exemplo e você pode usá-lo da maneira que quiser.

 

No final do código do indicador coloque "ChartNavigate(0,CHART_CURRENT_POS,0)";"

{

...

ChartNavigate(0,CHART_CURRENT_POS,0);

return(rates_total);

}