Uma divisão por erro zero apareceu em um indicador - página 7

 
Aleksey Vyazmikin:

Eu poderia pensar sobre isso, obrigado. Mas o problema global é algo mais.... O problema é que ela não é estável.

Alternativamente, o problema poderia ser observado no início da barra de horários. Quando a barra acaba de abrir, há apenas um minuto de valor dentro dela.start_index seria igual astop_index

 
Sergey Savinkin:

Alternativamente, o problema poderia ser observado no início de um bar de hora em hora. Quando a barra acaba de abrir, há apenas um minuto de valor dentro dela.start_index seria igual astop_index

Não, acontece de forma aleatória, em momentos diferentes. O problema não deve estar relacionado ao código, ele funcionou corretamente durante muito tempo em diferentes instrumentos e em diferentes modos. Acho que é alguma função embutida que se quebrou depois de outra atualização.

 

if(PeriodSeconds(_Period)!=0)limit=(int)(stop_time-start_time)/PeriodSeconds(_Period);

 
Renat Akhtyamov:

if(PeriodSeconds(_Period)!=0)limit=(int)(stop_time-start_time)/PeriodSeconds(_Period);

E quando esta condição não deve aparecer, em que caso?

 
Aleksey Vyazmikin:

E quando esta condição não deve aparecer, em que caso?

senão

tempo de impressão ou escrever timestamp para global

deixará um rastro, é aí que você vai descobrir o problema
 

Alguém conseguiu obter um erro de divisão de zero? Imprimir?

Acabei de iniciar 1 gráfico, esperei uma hora, nenhum erro, mudei o perfil para um perfil de trabalho e os erros começaram. É por isso que eu me perguntava se há mais do que isso.

 
Renat Akhtyamov:

senão

tempo de impressão ou escrever carimbos de tempo para global

deixará um rastro, é aí que você encontrará o problema.

O traço já está lá, mas para que serve - não é reproduzido no perfil ou no testador.

 
Aleksey Vyazmikin:

Alguém conseguiu obter um erro de divisão de zero? Imprimir?

Acabei de iniciar 1 gráfico, esperei uma hora, nenhum erro, mudei o perfil para um de trabalho e os erros começaram. É por isso que eu me perguntava se o assunto é ainda mais profundo?

Talvez eu precise salvar o modelo de um gráfico de trabalho de novo?

o vento não está congelando, o disco rígido está se desmoronando?

 
Renat Akhtyamov:

talvez você precise salvar o modelo do gráfico de trabalho novamente?

Os ventos não congelam, o disco rígido está se desmoronando?

Qual é a utilidade de salvar o modelo? Quando mudei o perfil, havia dezenas de indicadores diferentes sendo processados. Neste ponto, o terminal fica pendurado, mas depois volta ao normal.

Eu não tenho um problema aqui, não é um problema com o SSD duro. Eu sugeri um problema com o MT5 em termos de processamento de indicadores de fluxo.

 

Suponha que temos

2018.07.04 22:46:13.566 IndDrafter_Test (Si-9.18,M1)    i=638 start_time - 2018.04.28 23:38 stop_time - 2018.04.28 23:38
2018.07.04 22:46:13.566 IndDrafter_Test (Si-9.18,M1)    start_index=26430 stop_index=26430
2018.07.04 22:46:13.566 IndDrafter_Test (Si-9.18,M1)    TimeFrames=3600

Sabemos queo horário de início deve ser2018.04.28 23:00

Então, acontece que o tempo está errado aqui?

datetime start_time=rates[i].time;