Discussão do artigo "Implementado OLAP na negociação (Parte 4): análise quantitativa e visual dos relatórios do testador" - página 2

 

Aqui está.

Arquivos anexados:
 
Szabo Bence #:

Aqui está.

A MQL5 pode mudar com o tempo, de compilação para compilação. Às vezes, essas alterações quebram a compatibilidade com fontes existentes.

Os dois primeiros erros em sua lista de erros vêm de uma compilação desatualizada do MT5 (você deve atualizar para uma versão mais recente).

Quanto aos erros na biblioteca TypeToBytes, devo observar que essa biblioteca não é minha. Trata-se de um material de terceiros e, como acontece com qualquer dependência de terceiros, você deve verificar as atualizações dos autores correspondentes.

No momento, estou anexando a versão mais recente da TypeToBytes.

Arquivos anexados:
TypeToBytes.mqh  21 kb
 
Stanislav Korotky #:

A MQL5 pode mudar com o tempo, de compilação para compilação. Às vezes, essas alterações quebram a compatibilidade com fontes existentes.

Os dois primeiros erros em sua lista de erros são provenientes de uma compilação desatualizada do MT5 (você deve atualizar para a versão mais recente).

Quanto aos erros na biblioteca TypeToBytes, devo observar que essa biblioteca não é minha. Trata-se de um material de terceiros e, como acontece com qualquer dependência de terceiros, você deve verificar as atualizações dos autores correspondentes.

No momento, estou anexando a versão mais recente da TypeToBytes.

Obrigado pela biblioteca atualizada. Ela está funcionando.

Embora os dois primeiros erros ainda apareçam. Tenho a compilação 2981 (mais recente).

 
Szabo Bence #:

Obrigado pela biblioteca atualizada. Ela está funcionando.

Embora os dois primeiros erros ainda apareçam. Tenho a compilação 2981 (mais recente).

Sim, há um erro nela. Você pode instalar a versão beta mais recente (digamos, 3042, 3061) ou adicionar casting a (Selector<E> *) e (Filter<E> *) nas duas linhas correspondentes. De acordo com o texto do erro, o compilador ignora o modificador const por engano. Aparentemente, o código-fonte está correto. A alteração sugerida é apenas uma solução temporária.

 
Stanislav Korotky #:

Sim, há um bug nele. Você pode instalar a versão beta mais recente (digamos, 3042, 3061) ou adicionar casting a (Selector<E> *) e (Filter<E> *) nas duas linhas correspondentes. De acordo com o texto do erro, o compilador ignora o modificador const por engano. Aparentemente, o código-fonte está correto. A alteração sugerida é apenas uma solução temporária.

Está bem, estou entendendo. Com a modificação de código sugerida, está funcionando.

Obrigado.

 

Publico o código-fonte atualizado do arquivo OLAPCommon.mqh, que parou de ser compilado devido a alterações no compilador. Também preciso do TypeName.mqh - o comportamento do typename também foi alterado.

PS. A biblioteca do fxsaber TesterCache.mqh também precisa ser atualizada.

Arquivos anexados:
OLAPCommon.mqh  47 kb
TypeName.mqh  2 kb
 

Stanislav, por favor, diga-me o que pode ser o problema. Atualizei todos os arquivos. Mas o compilador ainda falha.



Talvez esse seja o caminho certo? Então o erro desaparece:

TypeSelector(): TradeSelector(FIELD_TYPE)
  {
// _typename = typename(this); // falha
   _typename(typename(this));   // OK
  }


 
Denis Kirichenko #:

Stanislav, por favor, diga-me o que pode ser o problema. Atualizei todos os arquivos. Mas o compilador continua falhando.

Talvez esse seja o caminho certo? Então o erro desaparece:

Algo foi alterado na MQL5, então você precisa corrigir o OLAPTrades.mqh por analogia com o OLAPCommon.mqh (o que já foi feito anteriormente).

      _typename_ = TYPENAME(this);

Anexei o arquivo corrigido.

Arquivos anexados:
OLAPTrades.mqh  15 kb
 
Muito obrigado! Funcionou ))