Rede neural sob a forma de um roteiro - página 7

 
liza писал (а) >>

Este exemplo particular é o que eu tentei fazer. Sem erros, quando "Construir Tudo" cria tudo, exceto a .dll.

pegue um dll

lá eu coloquei o código acima

não introduziu nenhum parâmetro ...


mas este projeto em VC++ 6.0 deve definitivamente criar uma DLL

---

também em versões superiores à vc++ 6.0 a DLL será criada

versões mais antigas converterão o projeto no momento da abertura. para sua liberação

Arquivos anexados:
creadll.rar  2 kb
 
Obrigado!!! Funcionou.
 
 

http://www.codeproject.com/KB/recipes/aforge_neuro.aspx

http://www.codeproject.com/KB/recipes/Genetic_Algorithm.aspx

http://www.codeproject.com/KB/cs/GA_ANN_XOR.aspx

 

Apenas como um exemplo.

--- altamente desencorajado de executá-lo no mundo real


Arquivos anexados:
 

Pensamentos sobre o método de entrada no mercado

Como você pode ver, a neurônica (e qualquer outro mecanismo de sinal), gera constantemente sinais. Quando já estamos no mercado, o sistema começa a abrir várias posições. Como vejo nos negócios, um take profit e stop loss são incluídos nos pedidos. É por isso que eu sugiro implementar algo como um buffer de sinal. E devemos entrar no mercado por apenas um deles (em resumo, não mais de um pedido).

As vantagens. Quando há um sinal contrário ao que está no buffer para o qual temos uma ordem aberta, não entramos imediatamente no mercado, mas esperamos pelo fechamento no Take Profit. Assim, parece um sistema "reverso" (fechamos para comprar e abrimos imediatamente para vender). É como se estivéssemos agarrando um movimento de mercado flutuante e tentando nos mover em sincronia com ele.

Parece-me (embora eu possa estar muito enganado) que os negócios do Consultor Especialista com o mesmo nome foram realizados por aproximadamente o mesmo princípio. A rede neural gera muitos sinais de entrada, mas apenas um foi aberto e a entrada após o fechamento foi imediatamente na direção oposta.

Segundo. Quando se abre em uma direção e se recebem sinais na mesma direção, é um bom suporte para a posição pela crença de que a abertura é correta. É claro que pode haver duas variantes - os sinais vêm quando nossa posição está no lado positivo ou quando estamos no vermelho. Também é possível analisar e alterar os níveis de parada (Tomemos como exemplo o Profit), ou movê-los para o Breakeven.

Você também deve sempre considerar o preço de parada do sinal. Isto é importante para a abertura de posições quando uma Stop Loss é acionada. Por exemplo, se abrirmos uma ordem de compra com stop-loss a 70 pt e obtivermos um sinal de venda com TakeProfit sendo maior que o stop-loss de compra, neste caso não conseguiremos entrar na posição de venda.

De qualquer forma, aqui vai um pensamento.

 
sergeev писал (а) >>

Pensamentos sobre o método de entrada no mercado

Como você pode ver, a neurônica (e qualquer outro mecanismo de sinal), gera constantemente sinais. Quando já estamos no mercado, o sistema começa a abrir várias posições. Como vejo nos negócios, um take profit e stop loss são incluídos nos pedidos. É por isso que eu sugiro implementar algo como um buffer de sinal. E devemos entrar no mercado por apenas um deles (em resumo, não mais de um pedido).

As vantagens. Quando há um sinal contrário ao que está no buffer para o qual temos uma ordem aberta, não entramos imediatamente no mercado, mas esperamos pelo fechamento no Take Profit. Assim, parece um sistema "reverso" (fechamos para comprar e abrimos imediatamente para vender). É como se estivéssemos agarrando um movimento de mercado flutuante e tentando nos mover em sincronia com ele.

Parece-me (embora eu possa estar muito enganado) que os negócios do Consultor Especialista com o mesmo nome foram realizados por aproximadamente o mesmo princípio. A rede neural gera muitos sinais de entrada, mas apenas um foi aberto e a entrada após o fechamento foi imediatamente na direção oposta.

Segundo. Quando se abre em uma direção e se recebem sinais na mesma direção, é um bom suporte para a posição pela crença de que a abertura é correta. É claro que pode haver duas variantes - os sinais vêm quando nossa posição está no lado positivo ou quando estamos no vermelho. Isto também pode ser analisado e podemos mudar os níveis de parada (TakeProfit, por exemplo), ou movê-lo para Breakeven.

Você também deve sempre considerar o preço das paradas do sinal. Isto é importante para a abertura de posições quando uma parada de perda é acionada. Por exemplo, se uma ordem de compra é aberta com um stoploop de 70 pt e um sinal de venda chega com um takeprofit acima do stoploop de compra, neste caso, não podemos entrar na posição de venda.

Então, aqui vai uma idéia.

Se você está falando do roteiro YZ_BETTER_HC_2_2.rar, eu lhe asseguro que é apenas uma experiência e não completa.

a grade não gera sinais - ela gera uma direção

as entradas são feitas por um filtro primitivo

ninguém está impedindo você de adicionar outros filtros-indicadores

---

Faça uma pequena parada lá também é uma pequena parada, eu só estava fazendo isso para ver visualmente o ponto que a grade indica uma possível inversão

---

esta grade tem

6 entradas dão as distâncias em pips entre os meios como 3-5 5-8 8-13 13-21 21-55

4-50 neurônios 1ª camada oculta (número de neurônios em ambas as camadas a serem selecionados em treinamento)

4-50 neurônios 2ª camada oculta

3 neurônios fora.


------------- comprar ---- vender -- apartamento

saída 1 | 0,00x | 0,9xxx | 0,00x

saída 2 | 0.00x | 0.00x | 0.9xx

saída 3 | 0,9xx | 0,00x | 0,00x

---

A 2,6 gigahertz, o treinamento nas 7 amostras é de cerca de 1 a 10 minutos.

em C++ em 7 amostras, leva um segundo a um minuto para aprender

---

os operadores de rede sabem que 7 amostras são muito poucas

 
YuraZ писал (а) >>

Se você se refere ao roteiro YZ_BETTER_HC_2_2.rar, eu lhe asseguro que é apenas uma experiência, e não uma experiência completa

a grade ali não gera sinais - ela gera direção

as entradas são feitas por um filtro primitivo

ninguém está impedindo você de adicionar outros filtros-indicadores

---

Faça uma pequena parada lá também é uma pequena parada, eu estava apenas fazendo isso para ver visualmente o ponto que a grade indica uma possível inversão

---

Esta grade tem

6 entradas alimentadas por pips distâncias entre médias como 3-5 5-8 8-13 13-21 21-55

4-50 neurônios 1ª camada oculta (o número de neurônios em ambas as camadas é capturado em treinamento)

4-50 neurônios 2ª camada oculta

3 neurônios fora.


------------- comprar ---- vender -- apartamento

saída 1 | 0,00x | 0,9xxx | 0,00x

saída 2 | 0.00x | 0.00x | 0.9xx

saída 3 | 0,9xx | 0,00x | 0,00x

---

A 2,6 gigahertz, o treinamento nas 7 amostras é de cerca de 1 a 10 minutos.

em C++ em 7 amostras, leva um segundo a um minuto para aprender

---

os operadores de rede sabem que 7 amostras são muito poucas


O código é claro para mim. Estou falando de "em geral".

Mesmo se você anexar indicadores, e a rede simplesmente filtrará seus sinais (ou vice-versa, o indicador filtra a direção dada pela rede), em qualquer caso, os sinais aparecerão no momento das ordens abertas. Neste caso, você pode usar o esquema para evitar a multiplicação de pedidos.

 
sergeev писал (а) >>

O código é claro para mim. Estou falando de "em geral".

Mesmo se você anexar indicadores, e a rede simplesmente filtrará seus sinais (ou vice-versa, o indicador filtra a direção dada pela rede), em qualquer caso, os sinais aparecerão no momento das ordens abertas. Neste caso, para evitar a multiplicação de pedidos, podemos utilizar o esquema.

Em um sistema de trabalho, é claro.

---

no experimento eu só quero ver como funciona a rede

ao filtrar, estou apenas tentando cortar um pouco.

 

Considere a seguinte situação:

A NS trabalha, trabalha, estuda, estuda e depois pum - alguém Chubais (com uma letra pequena) corta a eletricidade que precisamos.

E todo o trabalho e aprendizagem vai por água abaixo (até Chubais).


A próxima introdução:

1. Periodicamente, deixar cair (salvar) os dados de "aprendizagem".

2. No caso, como mencionado acima, leia estes dados durante a inicialização do Expert Advisor.


Desta forma, não precisaremos ensinar o NS novamente.

Razão: