Testando 'CopyTicks'. - página 5

 
Karputov Vladimir:
Portanto, estou pedindo duas páginas: dê o exemplo mais curto possível (esclareço, para o caso de "exemplo" ser *.mq5 em número de uma peça - ou seja, apenas uma), o que mostra o problema.
Bem, pelo menos lhe foi dada uma hifa inteira... E no início pensei que o monitor estava morrendo...
 

Em anexo está a fonte que gera os dois arquivos de texto subseqüentes. A captura de tela de parte desses arquivos acima é um exemplo da diferença tanto em bandeiras quanto em volumes.

 
zimbabve15:

Em anexo está a fonte que gera os dois arquivos de texto subseqüentes. A captura de tela de parte desses arquivos acima é um exemplo da diferença tanto em bandeiras quanto em volumes.

Eu lhe disse - precisa ser simplificado. Aqui está o indicador: exibe bandeiras de duas estruturas MqlTick em uma linha (uma estrutura é preenchida via CopyTicks, a segunda via SymbolInfoTick). Além disso, as bandeiras destas duas estruturas são comparadas - no caso de a bandeira ser igual a zero, então Alarme.
Arquivos anexados:
 

o resultado de seu indicador em meu terminal.

Não entendi bem a premissa de sua última mensagem, ou eu preciso refazê-la, ou você me mostrou como deveria ter sido feito e o fez você mesmo. Seu método e o meu mostram a diferença na estrutura dos carrapatos tomados por diferentes métodos. Ao que chegamos?

 
zimbabve15:

o resultado de seu indicador em meu terminal.

Não entendi bem a premissa de sua última mensagem, ou eu preciso refazê-la, ou você me mostrou como deveria ter sido feito e o fez você mesmo. Seu método e o meu mostram a diferença na estrutura dos carrapatos tomados por diferentes métodos. Ao que chegamos?

Em que servidor comercial e em que instrumento você testa? Bandeiras com "0" são claramente recebidas - isto é uma falha do servidor comercial.
 

Digamos que há uma falha no servidor comercial com as bandeiras. E quanto aos volumes? Um par de posts acima, enviei uma captura de tela e dois arquivos de texto, o que mostra claramente que as bandeiras não só podem ser zero, mas nos mesmos carrapatos obtidos por métodos diferentes eles são diferentes, e volumes diferentes - isto são dois. Se houve um erro durante a transferência do servidor eSymbolInfoTick recebe informações incorretas, então com base em que dados o CopyTicks funciona com ticks com um volume diferente? E no que acreditar?

 
Dois arquivos anexos - da mesma forma coletados carrapatos, mas no par euro-dólar do corretor FiboGroup. Olha, embora não haja zeros, mas há uma confusão com bandeiras
Arquivos anexados:
 

Abaixo está uma captura de tela e arquivos de histórico de tick do servidor MetaQuotes-Demo. As bandeiras dos mesmos carrapatos recebidos por métodos diferentes são diferentes.

Como resultado, em dois servidores de negociação forex diferentes de empresas diferentes, um e o mesmo tick, recebidos através de CopyTicks eSymbolInfoTick têm bandeiras diferentes, no servidor de negociação de câmbio junto com estes volumes diferentes são transmitidos.

Arquivos anexados:
 
zimbabve15:

Abaixo está uma captura de tela e arquivos de histórico de tick do servidor MetaQuotes-Demo. As bandeiras dos mesmos carrapatos recebidos de maneiras diferentes são diferentes.

Como resultado, em dois servidores de negociação forex diferentes de empresas diferentes, um e o mesmo tick, recebidos através de CopyTicks eSymbolInfoTick têm bandeiras diferentes, no servidor de negociação de câmbio junto com estes volumes diferentes são transmitidos.

Eles são diferentes na MetaQuotes-Demo - porque, mais uma vez, o exemplo deve ser o mais simples possível. Minhas bandeiras são as mesmas em MetaQuotes-Demo hoje.
 

Tente ajustar a profundidade da solicitação do tick para dois em seu indicador e veja os seguintes valores no depurador:

O elemento com índice 0 da matriz tick_array mostra a história, ou seja, o segundo tick solicitado. E se você observar como os valores mudam em cada iteração - três deles mudam de forma sincronizada e mostram o valor atual da bandeira, e o mesmo valor na próxima etapa da corrida deve ser mostrado em tick_array[0]. Como deveria ser, isso não acontece. Ou a função CopyTicks funciona corretamente com a profundidade do histórico não mais do que 1 tick?

Razão: