Problemas encontrados durante os testes posteriores e não é possível encontrar a causa raiz! - página 4

 
GumRai:

permitirá cálculos diferentes na primeira execução em barras fechadas para o que faz na barra atual.

O que ele fará na primeira execução de uma nova barra é

Em carrapatos subseqüentes da mesma barra, ele calculará

O que é uma espécie de composto

Prezado GumRai,

Barra atual, Bar[0] é necessária para a repintura. Então o tópico é sobre a questão de que barras históricas foram observadas com repintura, talvez Bar[8],...Bar[3],..., ou Bar[1].

Você pode ver que são apenas cerca de 10 linhas de códigos para o conteúdo principal do indicador.

Entretanto, ainda é muito difícil para nós encontrarmos a causa raiz para a repintura de barras históricas.

É tão estranho e estou confuso como as barras históricas podem ser repintadas com esse código.

 

Como eu disse, o indicador está recalculando a barra[0] cada tick usando um valor que foi calculado no tick anterior da mesma barra

Enquanto o testador estiver em funcionamento, o indicador será calculado em pseudo tempo real, mesmo que o indicador não esteja de fato no gráfico

Quando o testador termina, o indicador é adicionado ao gráfico e acredito que não leva em conta todos os carrapatos, pois é calculado apenas uma vez por barra.

Experimente-o colocando o indicador no gráfico em modo visual.

 
jollydragon:

Caro ffoorr, não consigo abrir as páginas e não consigo acessar o site, www.forex-tsd.com. Talvez minha configuração da Internet tenha algum problema.

Por favor, vamos nos concentrar no meu código. São apenas cerca de 10 linhas de códigos para o conteúdo principal.

No entanto, ainda é muito difícil para nós encontrar a causa raiz para a repintura de barras históricas.


diminua o zoom para acessar o número da página no TSD,


o indicador é melhor

 
GumRai:

Como eu disse, o indicador está recalculando a barra[0] cada tick usando um valor que foi calculado no tick anterior da mesma barra

Experimente colocando o indicador no gráfico em modo visual.

GumRai, por favor, consulte meus cargos anteriores:

. Não há problema para que a barra[0] seja repintada à medida que for necessário.

. Para este tópico, o tópico ou questão é exatamente por isso que as barras históricas à esquerda da barra[0] foram repintadas e não é esperado. Já o observei nos gráficos e já colei screenshots.

Caros colegas, por favor, vamos nos concentrar em meus códigos e nos melhorar juntos, desenterrando a causa raiz. Não preciso de nenhum indicador melhor, mas quero saber a causa raiz!

Obrigado pela compreensão e pelo apoio.

 

Você parece não estar entendendo o que estou lhe dizendo.

Não sei se é porque não estou me explicando bem ou se você simplesmente não está lendo bem minhas mensagens.

Quando você reinicia o indicador, todo o indicador é recalculado com base em um tique-taque por barra, enquanto em tempo real é baseado em vários tique-taques em uma barra.

Portanto, se o indicador for desenhado em tempo real e, em seguida, reinicializado, haverá diferenças.

 
GumRai:

Você parece não estar entendendo o que estou lhe dizendo.

Não sei se é porque não estou me explicando bem ou se você simplesmente não está lendo bem minhas mensagens.

Quando você reinicia o indicador, todo o indicador é recalculado com base em um tique-taque por barra, enquanto em tempo real é baseado em vários tique-taques em uma barra.

Portanto, se o indicador for desenhado em tempo real e, em seguida, reinicializado, haverá diferenças.

Desculpe dizer que o inglês não é minha língua nativa.

Não importa se é desenhado na reinicialização ou em tempo real, cada barra histórica é calculada com base no último tick.

Portanto, a barra histórica deve ser congelada como a mesma. Correto? Como a diferença ou repintura pode ser observada se você observar o indicador em um gráfico ao vivo com M1 por um período?

 
Parece que esta não é uma questão simples e fora da capacidade de muitos especialistas em codificação.
 

Bem, parece ser uma questão simples para mim, é que você não entende a resposta.

Tente o código anexo, no qual espero que você consiga ver o que acontece

Acabei de mudar o circuito de desenho do indicador para

   for(i=limit-1; i>=0; i--)
     {
      ExtBuffer1[i]=1.1*Fish1;
      Fish1=ExtBuffer1[i];
      if(Fish1>=EMPTY_VALUE)
         Fish1=1;
     }

e o valor inicial para o peixe1

Fish1=0.00001;

Execute-o em um gráfico M1 com carrapatos regulares . Você verá vários picos se formando.

Reinicialize o indicador e você verá todos esses picos desaparecerem.

Além disso, se você tiver uma conexão de internet não tão boa e faltar uma barra, todo o indicador é recalculado, assim os picos desaparecerão.

Você vê por quê?

Arquivos anexados:
 
GumRai:

Bem, parece ser uma questão simples para mim, é que você não entende a resposta.

Tente o código anexo, no qual espero que você consiga ver o que acontece

Acabei de mudar o circuito de desenho do indicador para

e o valor inicial para o peixe1

Execute-o em um gráfico M1 com carrapatos regulares . Você verá vários picos se formando.

Reinicialize o indicador e você verá todos esses picos desaparecerem.

Além disso, se você tiver uma conexão de internet não tão boa e faltar uma barra, todo o indicador é recalculado, assim os picos desaparecerão.

Você vê por quê?

Prezado GumRai,

Parece que você entendeu meu ponto de vista.

Por favor, consulte os screenshots abaixo. Depois de clicar com o botão direito do mouse no seu indicador e selecionar "refresh", a localização dos picos mudou.

No entanto, ainda não consigo entender o porquê. É por isso que eu não consigo encontrar a causa raiz em meu indicador de repintura.

. De acordo com o indicador que você modificou, eu entendo que ele deve traçar uma linha exponencial. Por que ele desenha picos com intervalos? É porque há um "valor vazio"?

. Por que a localização dos picos muda após a atualização?

. Eu ainda não consigo ver o desaparecimento dos picos. Como "reinicializá-lo"?

Antes de refrescar:

Depois do refrescamento:

 
jollydragon: Entretanto, ainda não consigo ver o porquê. É por isso que eu não consigo encontrar a causa raiz em meu indicador de repintura.

   for(i=limit-1; i>=0; i--)
     {
      ExtBuffer1[i]=1.1*Fish1;
      Fish1=ExtBuffer1[i];
      if(Fish1>=EMPTY_VALUE)
         Fish1=1;
     }

Para cada iteração, (exceto a primeira,) Fish1 é o valor do elemento tampão anterior, mas você não o inicializa para ExtBuffer1[limite].

Assim, para a iteração inicial (quando limite == barras) você define ExtBuffer1[0] = 1,1*ExtBuffer1[1] .

Mas para os tiquetaques subseqüentes (quando limite == 1), você define ExtBuffer1[0] = 1,1*0,00001 .

Razão: