Redes Neurais - página 7

 
Cyclesurfer:
Um novo e incrível Digital! Vou olhar para o material em poucos minutos... tenho que liberar o russo... o que não é tão bom assim, mas acho que juntamente com o AltaVista não será capaz de fazer uma tentativa decente. Estou atualmente codificando no CORTEX em outras Redes Neurais (NN de agora em diante) e estou planejando converter para MQ4...acho que devemos DEFINITIVAMENTE manter esta linha porque (e esta é uma opinião) NN são O futuro da anaylsis técnica. NN's, para aqueles que não são nerds o suficiente para saber... são basicamente algorythms que imitam o cérebro (não nessisariamente o cérebro humano... porque isso seria a mente complicada) no sentido de que ela aprende à medida que vai aprendendo. Estou escrevendo os EAs para dar conselhos sobre se deve ou não tomar um determinado sinal baseado em pequenos padrões que vieram antes quando um sinal de simulador foi dado. É o que a maioria dos NN's fazem, eles buscam dados por pequenos padrões que não fariam sentido para nós, ou mesmo outros algoritmos e vêem o que esses padrões fazem ao longo do tempo. O primeiro EA apresentará a Tendência do Cérebro. Mas peço que todos sejam pacientes, a codificação CORTEX leva tempo... ao invés disso, leva tempo para treinar os NNs e aperfeiçoá-los. Se alguém aqui é familiar com CORTEX ou conversão de código, qualquer ajuda seria apreciada. Entendo por que o fórum russo se tornaria comercial... Os NNs são o estilo atual com grandes comerciantes de dinheiro. Então...o que vocês dizem?

Eu o mudei para este tópico onde você encontrará poucas pessoas a respeito deste software. Uma delas é citada acima.

 

Rede neural usando Matlab e Metatrader

Olá!

Estou usando Matlab e desenvolvi uma rede neural para vários pares, mas tenho problemas para reprogramar o NN de Matlab para mql4!

Para um teste, criei uma pequena rede neural prevendo o preço de USDJPY a partir do preço em i+10 e i+20. Ela tem 2 entradas, 3 ocultas, 1 saída. A função de ativação da camada oculta é tansigmoide, para a saída ela é linear.

Se eu traçar a saída NN com o preço real, mostra que o NN está funcionando, mas com o código que eu fiz, definitivamente não está funcionando.

Os pesos calculados da camada oculta são :

[13.8525 -43.4534;

-11.2084 18.4331;

-0.30603 0.01022]

Os pesos desde o escondido até a saída são :

[0.0020021 0.0047956 -3.4143]

Viés da camada oculta :

[13.876;

2.644;

0.083215]

Viés da saída

[0.27514]

O problema deve estar na função de ativação, que deve ser tan sigmoide. Como o preço é superior a 100, a MathExp(-100) me dá algo muito pequeno...

Aqui está a parte interessante do código :

>>

double a1=iClose("USDJPY",0,i+10);

double a2=iClose("USDJPY",0,i+20);

//Nó (1,1)

duplo Soma_node_1_1=13.8525*a1 -43.4534*a2+13.876;

duplo Sigmoide_node_1_1=(1-MathExp(-Sum_node_1_1))/(1+MathExp(-Sum_node_1_1_1)));

//Nó (1,2)

double Sum_node_1_2=-11.2084*a1+18.4331*a2+2.644;

duplo Sigmoide_node_1_2=(1-MathExp(-Sum_node_1_2))/(1+MathExp(-Sum_node_1_2))

//Nó (1,3)

double Sum_node_1_3=-0.30603*a1+0.01022*a2+0.083215;

duplo Sigmoide_node_1_3=(1-MathExp(-Sum_node_1_3))/(1+MathExp(-Sum_node_1_3));

//---- Valor de saída -----

double Sum_node_2_1=(0.0020021*Sigmoide_node_1_1+0.0047956*Sigmoide_node_1_2-3.4143*Sigmoide_node_1_3+0.27514);

<<

Obrigado por sua ajuda!

 

Eis um exemplo para ilustrar meu problema na construção de uma rede neural sob Matlab. A foto que coloquei ilustra o valor alvo (X) e a saída da rede neural (Y) para EURGBP. Portanto, pior ainda, por um preço real de 0,7, a saída NN está entre 0,68 e 0,73 (muito ruim, mas foi apenas um teste!).

Se eu usar os pesos NN para calcular o valor da saída à mão, recebo um 0,75, o que é impossível por 0,7... Portanto, devo estar errado em algum lugar no cálculo da minha produção. Aqui está a fórmula :

-1.1261*tansig(-1.6589*0.6964+1.4776*0.6936+4.5965)

-0,013796*tansig(-2,6065*0,6964+ 4,3402 *0,6936+0,30321)

+1.2166*tansig( 0.88612*0.69669364+0.11309 *0.6936+0.055821)+1.1116

Os pesos :

-Pesos para camada a partir da entrada

[-1.6589 1.4776;

-2.6065 4.3402;

0.88612 0.11309]

-Pesos para camada

[-1.1261 -0.013796 1.2166]

-Bias para a camada 1

[4.5965;

0.30321;

0.055821]

-Bias para a camada 2

[1.1116]

Os 2 preços de entrada utilizados para calcular a produção são :

0.6964

0.6936

A Rede é uma saída 2 entradas/3 ocultas/1 com ativação Tangente sigmoide para a ativação oculta e linear para a saída.

OBRIGADO!

Arquivos anexados:
captureplot.jpg  23 kb
 

Além disso, a função correta de ativação do Tangente sigmoide estava errada no meu código mql4. A função correta é : 2/(1+MathExp(-2* x ))-1

Abraço!

 

Primeiros resultados

esta linha parece um pouco morta, mas espero que ainda haja pessoas interessadas em redes neurais por perto! Então, por favor, compartilhe sua experiência com a NNets aqui!

Eu já testei algumas combinações de fatores para testar o poder de predição das redes neurais.

Como li em diferentes artigos e posts, o uso de uma rede anterior de alta-baixa abertura parece totalmente ineficiente. O NN está totalmente perdido no escuro. O gráfico de ajuste do valor real versus a saída NN é horizontal (1ª foto Open-Low-High-Close.jpg), o que significa que não pode prever nada. É o mesmo resultado que tentar encontrar os números da loteria com um NN Eu tentei diferentes valores de entrada e saída, normalizados ou não, o resultado é o mesmo.

Então, o que é pior de se ver? Parece que os indicadores técnicos funcionam muito melhor. Testei uma mistura de indicadores clássicos como entradas para prever o preço absoluto. O gráfico de ajuste não é o melhor, mas não é ruim (2ª foto - Inputs.jpg fatores técnicos). Também acho que usar valores absolutos é uma idéia muito ruim.

O uso da inclinação média móvel para prever a inclinação futura dá resultados interessantes para identificar possíveis reversões (3ª foto - Inclinação MA.jpg).

Outra forma interessante de pesquisa é usar também um NN para avaliar as boas condições comerciais. Assim, criei uma pontuação normalizada claculada a partir do fechamento atual e sua distância para o futuro Alto e Baixo. Se a pontuação for alta, significa que nos próximos 4 períodos, a distância entre o fechamento atual e os máximos futuros é alta (Comprar lucros à frente) e a distância para baixo é baixa (não há um drawdown significativo). Por enquanto, não tive sucesso com este método.

Espero ter alguns comentários e experiências de compartilhamento muito em breve!

Arquivos anexados:
 

Parabéns Webesa

THX Prezado Webesa,

esses são bons resultados,

mas 1 pergunta : não é melhor usar NN maior (mais entradas + mais camadas + mais neurônios) para aproximar uma melhor relação entre as velas?

 

da rede neural para dll

Hi,

alguém tem experiência em integrar uma dll que contém uma rede neural treinada da Matlab ou Neurosolutions em um script mq4?

 
webesa:
Esta linha parece um pouco morta, mas espero que ainda haja pessoas interessadas nas redes neurais por perto! Então, por favor, compartilhe sua experiência com a NNets aqui!

Eu já testei algumas combinações de fatores para testar o poder de predição das redes neurais.

Como li em diferentes artigos e posts, o uso do anterior HighLow-Open-Close parece totalmente ineficiente. O NN está totalmente perdido no escuro. O gráfico de ajuste do valor real versus a saída NN é horizontal (1ª foto Open-Low-High-Close.jpg), o que significa que não pode prever nada. É o mesmo resultado que tentar encontrar os números da loteria com um NN

Eu tentei diferentes valores de entrada e saída, normalizados ou não, o resultado é o mesmo.

Então, o que é pior de se ver? Parece que os indicadores técnicos funcionam muito melhor. Testei uma mistura de indicadores clássicos como entradas para prever o preço absoluto. O gráfico de ajuste não é o melhor, mas não é ruim (2ª foto - Inputs.jpg fatores técnicos). Também acho que usar valores absolutos é uma idéia muito ruim.

O uso da inclinação média móvel para prever a inclinação futura dá resultados interessantes para identificar possíveis reversões (3ª foto - Inclinação MA.jpg).

Outra forma interessante de pesquisa é usar também um NN para avaliar as boas condições comerciais. Assim, criei uma pontuação normalizada claculada a partir do fechamento atual e sua distância para o futuro Alto e Baixo. Se a pontuação for alta, significa que nos próximos 4 períodos, a distância entre o fechamento atual e os máximos futuros é alta (Comprar lucros à frente) e a distância para baixo é baixa (não há um drawdown significativo). Por enquanto, não tive sucesso com este método.

Esperamos ter alguns comentários e compartilhar experiências muito em breve!

Quais foram exatamente suas entradas/saídas para o NN que utilizaram as médias móveis?

 
 

Acho que você está certo que se não tiver que se reciclar continuamente, você não precisa da dll.

Você gostaria de compartilhar um modelo para isso?

Razão: