Discussão do artigo "Usando Indicadores MetaTrader 5 com Estrutura de Aprendizado de Máquina ENCOG para Previsão das Séries Temporais" - página 2

 

Sim... agora está funcionando...


Tive que copiar o "Cloo.dll, encog-core-cs.dll e log4net.dll" na pasta raiz de onde o Metatrader estava instalado... onde está o "Terminal64.exe".)
 


Mas o indicador não está sendo desenhado, embora, ao usar a função print, ele retorne o valor. (Ainda estou trabalhando nele para descobrir por que não está desenhando!)

Encontrei a solução, ele precisa de algum tempo para calcular e desenhar, descobri isso quando notei o uso intenso da minha CPU.

Atenciosamente,

 

Depois de compilar e executar o NinjaIndicators, aparece o seguinte erro:

No código-fonte, fixei apenas a linha public const String DIRECTORY = "d:{\Fx_dev\Program Files\\MetaTrader 5\MQL5\\\Files\\"; mt5export.csv é gerado pelo script e está na pasta especificada. Como fazer isso funcionar?

Edit: a mesma coisa acontece quando se usa o exe original do artigo.

 

Obrigado por esse código.

Tenho um problema no final da execução. Obtenho este erro no registro:

2011.05.06 14:49:05 Core 1 2010.11.05 21:56:08 Exceção não tratada 0xE0434F4D

2011.05.06 14:49:05 Core 1 2010.11.05 21:56:08 C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\MQL5\Files\step5_network.eg

As dll's estão colocadas corretamente e não vejo o que perdi.

Alguém pode me ajudar?

 

WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO. A pergunta ainda é relevante. A mesma situação ao usar o NinjaIndicators.exe original sem recompilação.

SUS: por que você está postando um artigo com código que não funciona????

 
Graff:

WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO. A pergunta ainda é relevante. A mesma situação ao usar o NinjaIndicators.exe original sem recompilação.

SUS: por que você está postando um artigo com código que não funciona????

Não há necessidade de construir o NinjaIndicators, ele não é usado em nenhum lugar, foi removido do artigo.

Como resultado da compilação do projeto EncogNNNTrainDLL, é obtido o arquivo EncogNNNTrainDLL.dll, que é usado no artigo.

Para que os exemplos descritos no artigo funcionem, ele deve ser colocado no diretório \Libraries. Os arquivos encog-core-cs.dll, Cloo.dll e log4net.dll devem ser copiados para o diretório com o terminal.exe.

 
Automated-Trading:

Não há necessidade de criar o NinjaIndicators, pois ele não é usado em lugar algum e foi removido do artigo.

A compilação do projeto EncogNNTrainDLL resulta no arquivo EncogNNTrainDLL.dll, que é usado no artigo.

Para que os exemplos descritos no artigo funcionem, ele deve ser colocado no diretório \Libraries. Os arquivos encog-core-cs.dll, Cloo.dll e log4net.dll devem ser copiados para o diretório com o terminal.exe.

Por que isso não é necessário?

O script ExportToEncog carrega os dados do indicador em csv e, em seguida, o NinjaIndicators pega esse csv, converte os dados em um formato compreensível para o ENCOG e treina a rede. O resultado é um arquivo eg que é usado em indicadores e Expert Advisors. Para obter uma descrição mais detalhada do processo em inglês, consulte o site do autor no link.

Tenho todas as dlls nos lugares certos.

O indicador NeuralEncogIndicator não quer funcionar. Sem o arquivo step5_network.eg na pasta MQL5\Files, eu tenho a imagem:

Com o step5_network.eg do artigo, obtenho o seguinte:

 
Graff:

Depois de compilar e executar o NinjaIndicators, o seguinte erro é exibido:

No código-fonte, corrigi apenas a linha public const String DIRECTORY = "d:{\Fx_dev\Program Files\\MetaTrader 5\MQL5\\\Files\\"; mt5export.csv foi gerado pelo script e está na pasta especificada. Como fazer isso funcionar?

Edit: a mesma coisa acontece quando se usa o exe original do artigo.

O arquivo step2_future.csv criado com base no mt5export.csv não tem as colunas necessárias com dados, o que é uma consequência do processamento incorreto do mt5export.csv. Isso acontece se o "," estiver definido nas configurações do sistema operacional como separador de partes inteiras e fracionárias dos números.

Defina o separador de partes inteiras e fracionárias "." na seção "Padrões regionais e de idioma".

 
Graff:

Como assim, você não precisa dele?

O script ExportToEncog carrega os dados do indicador em csv e, em seguida, o NinjaIndicators pega esse csv, converte os dados em um formato compreensível para o ENCOG e treina a rede. O resultado é um arquivo eg que é usado em indicadores e Expert Advisors. Para obter uma descrição mais detalhada do processo em inglês, consulte o site do autor no link.

Você está certo.

Tenho todas as dlls nos lugares certos.

O NeuralEncogIndicator não quer funcionar. Sem o arquivo step5_network.eg na pasta MQL5\Files, eu obtenho a imagem:

Com o step5_network.eg do artigo, obtenho isso:

Também pode estar relacionado ao separador de partes inteiras e fracionárias. Se isso não ajudar, tente atualizar o .NET para 4.
 
Automated-Trading:

O arquivo step2_future.csv criado com base no mt5export.csv não tem as colunas necessárias com dados, o que é resultado do processamento incorreto do mt5export.csv. Isso acontece se o "," estiver definido nas configurações do sistema operacional como separador de partes inteiras e fracionárias dos números.

Defina o separador de partes inteiras e fracionárias "." na seção "Padrões regionais e de idioma".

Depois dessas ações, quase funcionou, mas agora trava no treinamento, mas sem erros.

NET Eu tenho o 4º. Win 7 x64 sp1

NeuralEncogIndicator (EURUSD,M5) Violação de acesso lida para 0x00000000 continuar