Qualquer pessoa que quisesse ver gráficos sem barras em falta - aqui =)

 
Hoje foi publicado um artigo Gráficos sem "buracos", detalhando o algoritmo de preenchimento de barras perdidas.
Havia tanta "gritaria" (e apenas declarações) no fórum a favor de tais gráficos que eu não pude deixar de olhar para o assunto =)

Então, vamos tentar e fazer sugestões e sugestões de melhorias.

ps: discutir em um artigo não é muito conveniente - toda vez que você baixa uma centena extra de kilobytes - por quê? ;)
 
komposter писал (а):
Hoje foi publicado um artigo Gráficos sem "buracos", que descreve em detalhes o algoritmo de preenchimento de barras em falta.
Havia tanta "gritaria" (e apenas declarações) no fórum a favor de tais gráficos que eu não pude deixar de olhar para o assunto =)

Então, vamos tentar e fazer sugestões e sugestões de melhorias.

ps: discutir em um artigo não é muito conveniente - toda vez que você baixa uma centena extra de kilobytes - por quê? ;)

Por favor, informe porque você escolheu um Expert Advisor em vez de um indicador para "AllMinutes.mq4"?
(Eu mesmo escrevi "próximo a ele" como um indicador apenas porque pensei "melhor muitos indicadores em um gráfico do que muitos gráficos com um especialista". ZS. Muitos indicadores/especialistas/scripts para "minhas nuances" são fundamentais).
 
(Eu mesmo escrevi "próximo a ele" na forma de um indicador apenas porque sentia que "são melhores muitos indicadores em um gráfico do que muitos gráficos com um especialista". ZZY. Muitos indicadores/peritos/escritas para "minhas nuances" são fundamentais).


AllMinutes.mq4, trabalhando em um único gráfico, atualiza vários gráficos (até 32).
Para que serve o indicador? É uma pena ter uma tabela de "serviço"? ;)

Na verdade, eu simplesmente não pensei em tal possibilidade ))))
 
A janela para editar o post comporta-se de forma estranha, e o conteúdo do post depois de pressionar "adicionar comentário" desapareceu em algum lugar, ok, vou tentar digitar novamente. Acho que deveria ser assim: 1. no primeiro segundo de uma nova barra, olhamos se há uma citação: a) sim, há uma citação - a barra é desenhada normalmente, o código pode esperar até o final da barra (o início sem um novo tick não vai funcionar, então certamente precisamos de um roteiro); b) sem citação - desenhamos uma "barra vazia" e mudamos para o modo de verificação periódica para que o tick apareça dentro de nossa "barra vazia"; 2. se uma "barra vazia" foi desenhada, verifique periodicamente se uma citação apareceu: a) um tick apareceu - substitua a barra "vazia" por uma real e defina o código nos feriados até o final do tempo atual da barra b) sem tick - continue no modo de espera; isto diminuirá significativamente a carga da CPU :)
 
A 0ª barra não será atualizada "normalmente" - estes são gráficos off-line.
E desenhar um preço inexistente também me parece errado - uma barra perdida só deve ser desenhada quando estiver claro que ela está perdida =)
 
Cavalheiros! O problema é resolvido desta forma em apenas uma pequena parte.

1. Os indicadores incorporados (e aqueles fornecidos com MT4) ainda funcionarão incorretamente, assim como os EAs baseados neles. Você pode, claro, reescrever os necessários... é o que muitos fazem :)
2. Eu, por exemplo, gostaria de saber o que causa uma lacuna nos dados - é uma coisa quando o preço não muda, e outra quando é uma conseqüência de problemas técnicos.
Novamente com a barra zero. Que seja pulado pode ser determinado quando tiver passado mais tempo da última barra do que o período do gráfico. Mas não há informações sobre as razões para tal pulo... E não há nenhuma garantia de que poderemos colocar (fechar) um pedido ao último preço conhecido neste momento.
 
>> E ninguém garante que um pedido possa ser colocado (fechado) ao último preço conhecido naquele momento.

Se o preço não mudou, por que "ninguém é garantido"?
Pesquise neste fórum e http://www.metatrader4.com/ru/forum para ver os tópicos de discussão em saltos de barra.
O tema é tão batido que tudo o que resta é uma recomendação para procurar nos fóruns.
 
1. Os indicadores incorporados (e aqueles fornecidos com MT4) ainda não funcionarão corretamente, nem os EAs baseados neles. Você pode, claro, reescrever os necessários... que é exatamente o que muitos fazem :)

Por quê? Em TODOS* os gráficos também?


Novamente - com uma barra zero. Que seja pulado pode ser determinado quando tiver passado mais tempo da última barra do que o período do gráfico. Mas não há informações sobre os motivos de tal pulo...

É por isso que AllMinutes só desenha barras perdidas quando a primeira barra "normal" aparece.
 
komposter писал (а):

1. Os indicadores incorporados (e aqueles fornecidos com o MT4) ainda não funcionarão corretamente, nem os EAs baseados neles. Você pode, claro, reescrever os necessários... que é exatamente o que muitos fazem :)

Por quê? Eles também o fazem em TODOS* os gráficos?

Porque os indicadores são calculados para um certo número de barras ao contrário. Se houver lacunas - é claro que o mesmo MA pode ser calculado em diferentes períodos de tempo ao contrário. Isto é, ao calcular MA(9) está implícito que MA é calculado para os últimos 9 períodos de tempo. E se houver omissões, obteremos (de fato) então MA(10), então MA(20).


Novamente - com uma barra zero. Que é pulado pode ser determinado quando passou mais tempo desde a última barra do que o período do gráfico. Mas não há informações sobre as razões de tal pulo.

É por isso que AllMinutes só desenha barras perdidas quando a primeira barra "normal" aparece.


A questão com o Motivo para pular ainda está em aberto.
 
Renat:
>> E ninguém garante que um pedido possa ser colocado (fechado) ao último preço conhecido naquele momento.

Se o preço não mudou, por que "ninguém garante"?

Porque pode haver alguns problemas técnicos, além do fato de que o preço não mudou. Não creio que precisemos explicar do que estamos falando.


Pesquise neste fórum e http://www.metatrader4.com/ru/forum para ver os tópicos que discutem os saltos de barra.
O tema é tão vulgar que tudo o que resta é uma recomendação para pesquisar nos fóruns.

Concordo, é banal. E ainda é.
 
Porque os indicadores são calculados um certo número de barras ao contrário. Se houver lacunas - é claro que o mesmo MA pode, em diferentes momentos, ser calculado para diferentes períodos de TEMPO ao contrário. Isto é, ao calcular MA(9) está implícito que MA é calculado para os últimos 9 períodos de tempo. E se houver omissões, obteremos (de fato) então MA(10), então MA(20).


Por quê? Em TODOS* os gráficos também?


Eu esclareci especificamente: nos gráficos gerados pelo especialista AllMinutes também estão errados?


A questão com a RAZÃO de pular ainda está em aberto.


Alternativamente, a verificação constante da IsConnected().
Além disso, se as barras estiverem faltando devido à perda da conexão, elas devem ser baixadas quando a conexão for restaurada.
Entretanto, eu não testei tal situação e não sei como o "enchimento de buracos" se comportaria.