Este artigo é interessante. Eu nunca havia tentado dar uma olhada nas redes neurais antes, pois acreditava que elas eram uma "floresta escura" e tudo o que li sobre esse tópico antes foi repelido pela abundância de palavras incompreensíveis, mas nesse artigo, de fato, a teoria é bastante simples e compreensível, obrigado ao autor por isso!
E eu gostaria de esclarecer esta frase: "Ambos os EAs mostraram resultados semelhantes com uma taxa de acerto de pouco mais de 6%." Estou certo ao entender que, após a primeira "passagem" do treinamento, a previsão da rede neural foi justificada em apenas 6%.
E após 35 épocas de treinamento - apenas 12% ???
Um resultado tão baixo não motiva o estudo mais aprofundado do tópico.
Quais são os métodos para melhorar a precisão da previsão?
Boa tarde, Dimitri.
O tópico é muito interessante e necessário. Obrigado por esses artigos).
1. Tenho uma dúvida sobre o código do método Traine(... ):
TempData.Clear(); bool sell=(High.GetData(i+2)<High.GetData(i+1) && High.GetData(i)<High.GetData(i+1)); //в строчке ниже скорее всего не верно определяется Low фрактал bool buy=(Low.GetData(i+2)<Low.GetData(i+1) && Low.GetData(i)<Low.GetData(i+1)); //знаки сравнения нужно поменять наоборот buy=(Low.GetData(i+2)>Low.GetData(i+1) && Low.GetData(i)>Low.GetData(i+1));/
Quando executei a versão modificada no treinamento, os resultados melhoraram:
Já na época 8, a precisão foi de 16,98% contra 10,87% da variante antiga na mesma época

2. Por que a rede neural de múltiplas camadas tem uma porcentagem de precisão tão baixa, não chegando a 50%?
Boa tarde, Dimitri.
O tópico é muito interessante e necessário. Obrigado por esses artigos).
1. Tenho uma dúvida sobre o código do método Traine(...):
Quando executei a versão modificada no treinamento, os resultados melhoraram:
Já na época 8, a precisão foi de 16,98%, em comparação com a variante antiga na mesma época, de 10,87%
Obrigado pelo comentário, Alexander. Um infeliz erro de copypaste.
Boa tarde, Dimitri.
2. Por que a rede neural de múltiplas camadas tem uma porcentagem de precisão tão baixa, não chegando a 50%?
Escrevi no primeiro artigo que peguei indicadores aleatórios de indicadores padrão com parâmetros padrão. Uma rede neural é uma boa ferramenta, mas não é algo sobrenatural. Ela procura padrões onde eles estão. Mas se não houver padrões nos dados brutos, ela não os encontrará por conta própria. Chegar exatamente a um fractal é uma tarefa bastante difícil e, para ser sincero, eu não esperava chegar a um resultado exato. Mas o que obtive dá base para trabalhos futuros.
Obrigado pelo comentário, Alexander. Um erro infeliz de copiar e colar.
Isso acontece)
Escrevi no primeiro artigo que peguei indicadores aleatórios de indicadores padrão com parâmetros padrão. Uma rede neural é uma boa ferramenta, mas não é algo sobrenatural. Ela procura padrões onde eles estão. Mas se não houver padrões nos dados brutos, ela não os encontrará por conta própria. Chegar exatamente a um fractal é uma tarefa bastante difícil e, para ser sincero, eu não esperava chegar a um resultado exato. Mas o que obtive dá base para trabalhos futuros.
Faz sentido).
Obrigado, seu trabalho é ótimo de qualquer forma.)
Dmitry, boa tarde!
Muito interessante a série de artigos sobre redes neurais. No momento, estou fazendo experiências com diferentes conjuntos de indicadores e tarefas para a rede. Decidi definir uma tarefa para a rede para determinar a probabilidade de ocorrência da próxima barra com o nível Alto maior que o nível Aberto da barra atual em 100 pontos ou com o nível Baixo menor que o nível Aberto da barra atual em 100 pontos.
if(add_loop && i<(int)(bars-MathMax(HistoryBars,0)-1) && i>1 && Time.GetData(i)>dtStudied && dPrevSignal!=-2) { TempData.Clear(); double DiffMin=100; double DiffLow=Open.GetData(i+1)-Low.GetData(i); double DiffHigh=High.GetData(i)-Open.GetData(i+1); bool sell=(DiffLow>=DiffMin); bool buy=(DiffHigh>=DiffMin); TempData.Add((double)buy); TempData.Add((double)sell); TempData.Add((double)(!buy && !sell)); Net.backProp(TempData); ... }
Ao testar o Expert Advisor, os rótulos dos fractais previstos são exibidos no gráfico, mas as estatísticas dos fractais previstos corretamente e não encontrados não são atualizadas e são sempre iguais a 0,00%.
if(DoubleToSignal(dPrevSignal)!=Undefine) { if(DoubleToSignal(dPrevSignal)==DoubleToSignal(TempData.At(0))) dForecast+=(100-dForecast)/Net.recentAverageSmoothingFactor; else dForecast-=dForecast/Net.recentAverageSmoothingFactor; dUndefine-=dUndefine/Net.recentAverageSmoothingFactor; } else { if(sell || buy) dUndefine+=(100-dUndefine)/Net.recentAverageSmoothingFactor; }
- www.mql5.com
Dimitri, boa tarde!
Muito interessante a série de artigos sobre redes neurais. No momento, estou fazendo experiências com diferentes conjuntos de indicadores e tarefas para a rede. Decidi definir uma tarefa para a rede para determinar a probabilidade de ocorrência da próxima barra com o nível Alto mais alto do que o nível Aberto da barra atual em 100 pontos ou com o nível Baixo mais baixo do que o nível Aberto da barra atual em 100 pontos.
Ao testar o Expert Advisor, os rótulos dos fractais previstos são exibidos no gráfico, mas as estatísticas dos fractais previstos corretamente e não encontrados não são atualizadas e são sempre iguais a 0,00%.
Boa tarde,
você especificou Diff=100, pelo que entendi é em pips. E a diferença é calculada pelo preço. Ou seja, para o EURUSD, ela é calculada como 1,16715-1,15615=0,01. Como resultado, você não tem dados comparáveis e a venda e a compra sempre serão falsas.
Bom dia,
você especificou Diff=100, pelo que entendi é em pontos. E a diferença é calculada pelo preço. Ou seja, para o EURUSD, ela será calculada como 1,16715-1,15615=0,01. Como resultado, você não tem dados comparáveis e a venda e a compra sempre serão falsas.
Tenho uma pergunta: Por que diabos estudar o tópico de toda uma série de artigos megaabstratos se essa rede neural tem precisão insignificante... Acho que o tópico deve ser descontinuado ou o EA deve ser aprimorado.
Gostaria de acrescentar que minha rede neural é muito mais "complexa" do que a sua, mas é garantido que ela forneça 70-80% das entradas corretas e, ao mesmo tempo, sua estrutura é muito mais simples ...
e eu acrescentaria que há muitas outras redes neurais com precisão muito melhor do que a sua.
Em geral, tenho a impressão de que você recebe dinheiro por seus artigos, mas eles não servem para nada... Sinto muito.
Também não concordo com o título "As redes neurais são fáceis". Aqueles que estão envolvidos com o aprendizado de máquina em big data sabem que não é fácil... :-)
>Para avaliar o desempenho da rede, você pode usar o erro quadrático médio da previsão, a porcentagem de fractais previstos corretamente e a porcentagem de fractais perdidos.
Não concordo nem um pouco com isso - o resultado é apenas o saldo final, o lucro líquido e nada mais ... nada mesmo, não é ciência pela ciência, é ciência pelo lucro.
Vou até lhe dizer por quê: existem Expert Advisors com 60% de precisão ... mas, graças a um sistema inteligente, eles dão mais lucro do que os consultores com 80% de precisão ...
E você deve começar com o gráfico das estatísticas finais de negociação do seu EA, caso contrário, não vale a pena lê-lo. Se não houver estatísticas ou se ele não atender aos meus requisitos, eu o rejeito imediatamente, então você não pode ler nada.
E você deve começar com o gráfico do estado final de negociação do seu EA, ou não faz sentido lê-lo, eu imediatamente desisto, se não houver estado ou se ele não atender aos meus requisitos, então você não pode ler nada, abaixo está o teste do meu neuronka não muito inteligente.
então você não precisa da seção de artigos.
Para seus requisitos - um site lucrativo -, as seções Codobase e Market são adequadas.
sim, a propósito, até mesmo sua mensagem não se encaixa em seus requisitos, então ela também pode ser ignorada? )))
Você precisa de artigos, precisa deles para testar adequadamente um EA que trabalha com base em uma rede neural. Há uma grande probabilidade de que seu estado seja de um testador, não apenas do MT4, mas você pode não ter dividido a amostra de treinamento em treinamento/teste/validação.
Você precisa de artigos para aprender a escrever um código bem estruturado e legível - acho que o código do autor no artigo é perfeito para esses requisitos.
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso


Novo artigo Redes neurais de maneira fácil (Parte 2): Treinamento e teste da rede foi publicado:
Neste segundo artigo, nós continuaremos a estudar as redes neurais e nós vamos considerar um exemplo utilizando a nossa classe criada CNet nos Expert Advisors. Nós trabalharemos com dois modelos de rede neural, que apresentam resultados semelhantes tanto em termos de tempo de treinamento quanto de precisão de predição.
A primeira época é fortemente dependente dos pesos da rede neural que foram selecionados aleatoriamente no estágio inicial.
Após 35 épocas de treinamento, a diferença nas estatísticas aumentou ligeiramente - o modelo de rede neural de regressão obteve um melhor desempenho:
Os resultados dos testes mostram que ambas as variantes da organização da rede neural geram resultados semelhantes em termos de tempo de treinamento e precisão de previsão. Ao mesmo tempo, os resultados obtidos mostram que a rede neural necessita de tempo e recursos adicionais para o treinamento. Se você deseja analisar a dinâmica de aprendizagem da rede neural, verifique as capturas de tela de cada época de aprendizagem no anexo.
Autor: Dmitriy Gizlyk