Participe de nossa página de fãs
Coloque um link para ele, e permita que outras pessoas também o avaliem
Avalie seu funcionamento no terminal MetaTrader 5
- Visualizações:
- 2665
- Avaliação:
- Publicado:
- 2014.01.14 13:40
- Atualizado:
- 2016.11.22 07:33
-
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance
CNetMLP fornece um perceptron multicamadas (MLP).
A característica desta classe é que o vetor de entrada e a estrutura da rede são separados, isto é, as descrições do vetor e da estrutura de entrada da rede não estão ligados entre si.
O tamanho do vetor de entrada pode ter qualquer valor dentro dos limites razoáveis. Os dados de entrada devem ser normalizados, isto é, os dados devem estar dentro do intervalo de -1.. 1 ou 0.. 1. Várias funções de ativação são aplicadas para a rede de acordo com o tipo dos dados usados: a tangente hiperbólica deve ser usada para um intervalo de dados de -1..1, enquanto que o sigmóide é usado para o intervalo de dados de 0..1.
A rede tem uma estrutura de camada por camada, com uma transmissão direta de sinais. Tne estrutura de rede é descrita por um array unidimensional, onde o valor do elemento do array determina o número de neurónios na camada apropriada. O número de camadas e neurônios não é limitada. A rede pode consistir de um único neurónio.
Cada neurônio tem múltiplas entradas, definidas por seu lugar na rede, e uma saída. Se você precisar da rede para dar N respostas, a última camada deve conter N neurônios. O algoritmo de aprendizagem é iRprop. Os dados de treinamento de entrada e saída estão localizados em arrays unidimensionais vetor por vetor. O processo de aprendizagem é limitada pelo número de ciclos de aprendizagem (epochs) ou por um erro permissível.
A criação da rede é declarada para ser um construtor paramétrico classe.
CNetMLP *net=new CNetMLP(
o número de camadas, a estrutura de rede do array, tamanho do vetor de entrada, tipo de função de ativação: 0 - Sigmóide, 1 - Tangente hiperbólica).
O ensino da rede é fornecido, chamando o método Learn (o número de padrões de ensino, array de dados de entrada, array de dados de saída, o número de ciclos de aprendizagem, erro de aprendizagem permissível). O resultado da aprendizagem pode ser verificada através das variáveis de classe: mse - o erro de aprendizado e epoch - o número de ciclos de aprendizagem realizados.
O método Calculate (array vetor de entrada, array de resposta da rede) é usado para obter a resposta da rede.
Os métodos Save (abre o manipulador de arquivo com os flags FILE_WRITE e FILE_BIN) e Load (abre o manipulador de arquivo com os flags FILE_READ e FILE_BIN) são destinados a salvar a rede para um arquivo e carregar a rede a partir do arquivo, respectivamente. Apenas os erros de aprendizagem e o tamanho dos arrays são salvos no arquivo. Antes de criar e baixar as redes verifique se o método Load (manipualdor) é usado.
O seguinte exemplo ilustra a utilização desta classe. A classe e os arquivos de exemplos devem ser colocados em uma pasta.
Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/596

EA Multi-moedas "grider" com controle de risco (versão do Campeonato de Negociação Automatizado 2011 e versão atualizada).

Filtro elíptico modificado do livro de John Ehlers, "Análise Cibernética para Ações e Futuros: Cortando Arestas da Tecnologia DSP para Melhorar Sua Negociação".

O indicador mostra sinais de negociação usando setas coloridas no gráfico. Os sinais são baseados nos indicadores técnicos WPR (Williams’ Percent Range) e RSI (Relative Strength Index).

O indicador consiste em duas médias móveis (Lead e sua EMA suavizada) em um gráfico, do livro de John Ehlers, "Análise Cibernética para Ações e Futuros: Cortando Arestas da Tecnologia DSP para Melhorar Sua Negociação".