Pergunta sobre programação de redes neurais - página 5

 
E então, tal configuração de rede é capaz de resolver qualquer problema, inclusive "excludente ou" :)
 
Ok. Mas eu ainda gostaria de saber um pouco mais sobre a prática: o que alimentamos a entrada, que dimensão N deve ser definida, etc.? A menos, é claro, que não seja um segredo :) Eu sou um boneco neste negócio, mas estou pronto para entrar.
 
rsi:
Ok. Mas eu ainda gostaria de saber um pouco mais sobre a prática: o que alimentamos a entrada, que dimensão N deve ser definida, etc.? A menos, é claro, que não seja um segredo :) Eu sou um boneco neste negócio, mas pronto para entrar.

Eu expus o indicador acima. O ângulo de declive da regressão linear é alimentado pela entrada. Tente rodá-lo na Eura 1 hora
 
Obrigado, eu vou dar uma olhada :)
 
rsi:
Obrigado, vou dar uma olhada :)

Eu gostaria de acrescentar uma conta Z a esta coisa e isso seria bom :)
 

Sim, é uma coisa engraçada. Obrigado novamente, klot, já tive o suficiente para o fim de semana :)

 
Este é um neuro das metaquotas. Dê uma olhada e veja se isso ajuda. A direção só é tolerável por curtos períodos de 2-5bar.
 
AAAksakal, veja o que?
 
klot:


E em geral, qualquer NS pode ser facilmente programado diretamente na MQL4. Você também pode selecionar os pesos da NS usando o MT4 GA ou o seu próprio. O pessimismo é definido apenas pela falta de imaginação e fantasia. Basicamente, não há limites...

O pessimismo é definido pelas limitações do testador de estratégia, ou seja, se o intervalo de valores de entrada for grande ou o número desses mesmos valores exceder o limite, o otimizador se recusa a começar. Portanto, afinal de contas existem limites.

Hoje eu finalmente terminei de construir uma rede neural escrita inteiramente em MQL4 com arquitetura 3:3:1 (três neurônios na entrada, três entradas ocultas, uma saída). Todas as camadas são configuradas usando o testador GA. Mas o problema é que para 1 camada você precisa de pelo menos 12 parâmetros de entrada, pelo menos com valores de -1 a 1 em passos de 1 (como Rosenblatt). Mas o otimizador não consegue lidar com tantos. Tive que me contornar e simplificar a primeira camada.

Em contraste com a malha de outra pessoa, a malha feita por ela mesma é melhor, pois pode ser atualizada. Por exemplo, além de tornar a primeira camada não-standard, acrescentei a normalização dinâmica dos dados de entrada.

Os sinais nas entradas são bastante primitivos:

   static  int  p = 12;
   ...
   double       z1 = Close[0] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, 0);
   double       z2 = Open[p] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, p);
   double       z3 = Open[p * 2] - iMA(Symbol(), 0, p, 0, MODE_SMA, PRICE_OPEN, p * 2);

Apesar da primitividade mencionada acima, a grade se mostra muito treinável, ou seja, pesos e limites são facilmente escolhidos de modo que os resultados dos testes se revelam sem um único erro (sem fator de lucro). Mas depois de tal encaixe, o teste de avanço começa imediatamente a cair sobre a propagação. Tive que mexer na estratégia comercial, de modo a não permitir que a rede se ajustasse.

Valeu a pena o esforço, embora tenha feito meu cérebro virar de dentro para fora:

Estes são os resultados do teste. De 1 a 273 ofícios - otimização, mais um teste de avanço.

E aqui está o teste de avanço:

Aqui estão os resultados do teste de avanço:

Relatório de teste de estratégia
RNN
Alpari-Demo (Build 409)

SímboloEURUSD (Euro vs Dólar americano)
Período1 Hora (H1) 2011.10.24 00:00 - 2012.01.13 23:59 (2011.10.24 - 2012.01.14)
ModeloPor preços abertos (somente para Consultores Especialistas com controle explícito de abertura de barra)
Parâmetrost1=54; t2=4; t3=48; x1=194; x2=128; x3=68; y1=1; y2=1; y3=-1; t4=136; sl=900; lots=1; mn=888;

Bares na história2431Carrapatos modelados3862Qualidade da simulaçãon/d
Erros de descasamento de cartas0




Depósito inicial10000.00



Lucro líquido14713.00Lucro total40711.60Perda total-25998.60
Rentabilidade1.57Expectativa de vencer88.10

Desembolso absoluto2721.60Máximo de drawdown4800.00 (39.74%)Drawdown relativo39.74% (4800.00)

Total de negócios167Posições curtas (% ganho)101 (67.33%)Posições longas (% ganho)66 (92.42%)

Ofícios rentáveis (% de todos)129 (77.25%)Perdas comerciais (% do total)38 (22.75%)
A maiorcomércio lucrativo900.00perdendo negócio-907.20
Médianegócio lucrativo315.59perdendo comércio-684.17
Máximoganhos contínuos (lucro)13 (2557.00)Perdas contínuas (perda)4 (-3605.40)
MáximoLucro contínuo (número de vitórias)3511.60 (11)Perda contínua (número de perdas)-3605.40 (4)
Médiaprêmios contínuos4perda contínua1





O mais interessante é que mesmo a partir do gráfico podemos ver que a seção de otimização é pior do que a seção dianteira. Isto raramente acontece. Embora eu tenha selecionado este como o melhor de muitos outros, ou seja, outros atacantes têm resultados muito piores do que os de otimização, mas ainda assim eles têm os melhores.

 
Reshetov:

O pessimismo é determinado pelas limitações do testador de estratégia, ou seja, se as faixas de valores de entrada forem grandes ou o número desses mesmos valores exceder o limite, o otimizador se recusa a começar. Portanto, afinal de contas existem limites.

Hoje eu finalmente terminei de construir uma rede neural escrita inteiramente em MQL4 com arquitetura 3:3:1 (três neurônios na entrada, três entradas ocultas, uma saída). Todas as camadas são configuradas usando o testador GA. Mas o problema é que para 1 camada você precisa de pelo menos 12 parâmetros de entrada, pelo menos com valores de -1 a 1 em passos de 1 (como Rosenblatt). Mas o otimizador não consegue lidar com tantos. Tive que me contornar e simplificar a primeira camada.

Em contraste com a malha de outra pessoa, a malha feita por ela mesma é melhor, pois pode ser atualizada. Por exemplo, além de tornar a primeira camada não-standard, acrescentei a normalização dinâmica dos dados de entrada.

Os sinais nas entradas são bastante primitivos:

Apesar da primitividade mencionada acima, a grade se mostra muito treinável, ou seja, pesos e limites são facilmente escolhidos de modo que os resultados dos testes se revelam sem um único erro (sem fator de lucro). Mas depois de tal encaixe, o teste de avanço começa imediatamente a cair sobre a propagação. Tive que mexer na estratégia comercial, de modo a não permitir que a rede se ajustasse.

Valeu a pena o esforço, embora tenha feito meu cérebro virar de dentro para fora:



Eu fiz uma grade normal de 256 entradas, uma camada oculta por cada 256 neurônios. E uma camada de saída de um neurônio. E eu treinei tudo perfeitamente no MT4

Havia uma opção com três camadas ocultas, mas elas eram desnecessárias