Discussão do artigo "Apresentação personalizada do histórico de negociação e criação de gráficos para relatórios" - página 3

 
Andrey Azatskiy:

Tente substituir o arquivo DealHistoryGetter.mqh pelo arquivo anexado a esta postagem.

Somente este erro permanece

2018.09.01 19:11:36.150 Get_TradingHistory (GAZR Splice,H1)     zero divide in 'DealHistoryGetter.mqh' (457,51)
 
Faça um breakpoint em 451 e 461 e examine inputParam.deals[i].volume e a matriz de contratos.

Você tem o volume do contrato definido como zero por algum motivo. Se eu estiver certo, deveria haver duas iterações antes desse erro. Mas, se eu estiver certo, não consigo imaginar por que o volume do contrato poderia ser igual a zero, isso não acontece....
 
Na linha 460, na primeira iteração, o primeiro contrato é inserido na matriz de contratos. Na linha 457, o último contrato ativo é calculado a partir da matriz de contratos usando o método descrito no artigo. Em minhas histórias que executei, não houve erros desse tipo.
 
Andrey Azatskiy:
Faça um breakpoint em 451 e 461 e examine inputParam.deals[i].volume e a matriz de contratos.

Você tem o volume do contrato definido como zero por algum motivo. Se eu estiver certo, deveria haver duas iterações antes desse erro. Mas se eu estiver certo, não consigo imaginar por que o volume do contrato poderia ser igual a zero, isso não acontece....

Não sei como usar o depurador, coloquei pontos, executei-o, mas não há erros.

Talvez a questão seja o fato de haver tais operações no histórico?


 

Além disso, na linha 407, seria bom colocar um ponto de interrupção e examinar a matriz lotArr.

Não vou reproduzir seu problema porque ele está relacionado ao seu histórico de negociação. Meus históricos (os que executei por meio dessa classe) não produziram esses erros....

 
Andrey Azatskiy:

Também seria bom colocar um ponto de interrupção na linha 407 e examinar a matriz lotArr.

Não vou reproduzir seu problema porque ele está relacionado ao seu histórico de negociação. Meus históricos (os que executei por meio dessa classe) não produziram esses erros....

Você testou em uma conta real ou em uma conta de demonstração?

 
Talvez haja uma falha em minha classe, mas não consigo reproduzi-la.... Ela está relacionada ao seu histórico e, consequentemente, ao seu terminal e à sua conta de negociação. Talvez haja algumas nuances na análise do histórico do Me5 que eu tenha perdido ao escrever esta aula, mas somente você poderá reproduzi-las. Terei que descobrir o depurador.
 
Aleksey Vyazmikin:

Você testou em uma conta real ou em uma conta de demonstração?

Não se trata da conta, mas de seu histórico. O terminal gera o histórico da mesma forma para as contas reais e de demonstração.

 
Andrey Azatskiy:
Talvez haja uma falha em minha classe, mas não consigo reproduzi-la.... Ela está relacionada ao seu histórico e, consequentemente, ao seu terminal e à sua conta de negociação. Talvez haja algumas nuances na análise do histórico do Me5 que eu tenha deixado passar ao escrever esta aula, mas somente você poderá reproduzi-las. Terei de lidar com o depurador.

Se você escrever mais especificamente o que e onde procurar e escrever, eu o ajudarei a encontrar o erro.

 
Andrey Azatskiy:

Não se trata da conta, mas de seu histórico. O terminal gera o histórico da mesma forma, tanto para a conta real quanto para a demo.

Não há correções na demonstração, cuja captura de tela apresentei acima.

Todo dia começa com elas.