Usando redes neurais no MetaTrader.
Introdução.
Muitos de vocês provavelmente consideraram a possibilidade de usar redes neurais em sua EA. Este assunto foi muito quente especialmente após 2007 Automated Trading Championship e a vitória espetacular de Melhor com seu sistema baseado em redes neurais. Muitos fóruns na internet foram inundados com tópicos relacionados a redes neurais e negociação Forex. Infelizmente, escrever a implementação nativa do MQL4 do NN não é fácil. Isso requer algumas habilidades de programação e o resultado não seria muito eficiente, especialmente se você quiser testar seu resultado final no testador em um grande número de dados.
Neste artigo, vou mostrar-lhe como você pode usar a biblioteca de rede neural rápida Artificial (FANN) livremente disponível (em LGPL), em seu código MQL4, evitando certos obstáculos e limitações. Além disso, eu suponho que o leitor esteja familiarizado com as Redes Neurais Artificiais (ann) e a terminologia relacionada a este assunto, então eu me concentrei em aspectos práticos de usar a implementação particular de ann na linguagem MQL4.
Recursos da FANN.
Para entender completamente as possibilidades de implementação do FANN, é necessário familiarizar-se com sua documentação e as funções mais utilizadas. O uso típico do FANN é criar uma rede feedforward simples, treiná-la com alguns dados e executar. A rede criada e treinada pode então ser salva no arquivo e restaurada mais tarde para uso posterior. Para criar um ann tem que usar a função fann_create_standard (). Vamos ver sua sintaxe:
Onde num_layers representa o número total de camadas, incluindo a camada de entrada e de saída. O nnum e os seguintes argumentos representam o número de neurônios em cada camada começando com a camada de entrada e terminando com a camada de saída. Para criar uma rede com uma camada oculta com 5 neurônios, 10 entradas e 1 saída, seria necessário chamá-lo da seguinte maneira:
Uma vez que o ann é criado, a próxima operação seria treiná-lo com alguns dados de entrada e saída. O método de treinamento mais simples é o treinamento incremental que pode ser alcançado pela seguinte função:
Esta função leva o ponteiro para struct fann retornado anteriormente pelo fann_create_standard () e o vetor de dados de entrada e o vetor de dados de saída. Os vetores de entrada e saída são de matriz do tipo fann_type. Esse tipo é, na verdade, um tipo duplo ou flutuante, dependendo da forma como o FANN é compilado. Nesta implementação, os vetores de entrada e saída serão matrizes de duplo.
Uma vez que o ann é treinado, o próximo recurso desejado seria executar essa rede. A função que implementa é definida como segue:
Esta função leva o ponteiro para struct fann que representa a rede criada anteriormente e um vetor de entrada do tipo definido (matriz dupla). O valor retornado é uma matriz vetorial de saída. Esse fato é importante, pois, para uma rede de utput, nós sempre conseguimos uma matriz de elementos com o valor de saída em vez do próprio valor de saída.
Infelizmente, a maioria das funções da FANN usam um ponteiro para uma estrutura fann que representa o ann que não pode ser processado diretamente pelo MQL4, que não suporta estruturas como tipos de dados. Para evitar essa limitação, temos que encerrar isso de alguma forma e ocultar do MQL4. O método mais fácil é criar uma matriz de ponteiros struct fann segurando os valores apropriados e referir-se a eles com um índice representado por uma variável int. Desta forma, podemos substituir o tipo de variável não suportado com o suportado e criar uma biblioteca wrapper que pode ser facilmente integrada com o código MQL4.
Envolvendo o FANN ao redor.
Quanto ao meu melhor conhecimento, o MQL4 não suporta funções com lista de argumentos variáveis, então temos que lidar com isso também. Por outro lado, se a função C (do comprimento dos argumentos variáveis) é chamada com muitos argumentos, nada de errado acontece, então podemos assumir um número máximo fixo de argumentos na função MQL4 passada para a biblioteca C. A função de invólucro resultante seria a seguinte:
Nós mudamos o fann_ principal com f2M_ (que significa FANN TO MQL), o número de argumentos estático usado (4 camadas) e o valor de retorno agora é um índice para a matriz interna de anns que contém os dados de estrutura fann exigidos pelo FANN para operar. Desta forma, podemos chamar facilmente essa função do código MQL.
O mesmo vale para:
Por último, mas não menos importante, é o fato de que você deve destruir seu ann criado pela chamada para:
Para liberar alças de anéis, você deve destruir redes em ordem inversa do que foram criadas criadas. Alternativamente, você poderia usar:
No entanto, tenho certeza de que alguns de vocês talvez preferem salvar sua rede treinada para uso posterior com:
É claro que a rede salva pode ser carregada mais tarde (ou recriada) com:
Uma vez que conhecemos as funções básicas, podemos tentar usar isso em nossa EA, mas primeiro precisamos instalar o pacote Fann2MQL.
Instalando o Fann2MQL.
Para facilitar o uso deste pacote, criei o instalador msi que contém todo o código-fonte mais as bibliotecas pré-compiladas e o arquivo de cabeçalho Fann2MQL. mqh que declara todas as funções do Fann2MQL.
O procedimento de instalação é bastante direto. Primeiro você está informado de que o Fann2MQL está sob licença GPL:
Instalação do Fann2MQL, passo 1.
Em seguida, escolha a pasta para instalar o pacote. Você pode usar o programa padrão Files \ Fann2MQL \ ou instalar diretamente em seu diretório Meta Trader \ experts \. O mais tarde colocará todos os arquivos diretamente em seus lugares, caso contrário você terá que copiá-los manualmente.
Instalação do Fann2MQL, etapa 2.
O instalador coloca os arquivos nas seguintes pastas:
Se você optar por instalar na pasta Fann2MQL dedicada, copie o conteúdo de suas subpastas de inclusão e bibliotecas no diretório apropriado do Meta Trader.
O instalador também instala a biblioteca FANN na pasta de bibliotecas do sistema (Windows \ system32 na maioria dos casos). A pasta src contém todo o código-fonte do Fann2MQL. Você pode ler o código-fonte que é uma documentação final, se você precisar de mais informações sobre os internos. Você também pode melhorar o código e adicionar recursos adicionais, se desejar. Eu encorajo você a me enviar seus patches se você implementar algo interessante.
Usando redes neurais em sua EA.
Uma vez que o Fann2MQL esteja instalado, você pode começar a escrever seu próprio EA ou indicador. Existe uma grande quantidade possível de uso de NN. Você pode usá-los para prever futuros movimentos de preços, mas a qualidade de tais previsões e a possibilidade de tirar proveito real disso é duvidosa. Você pode tentar escrever sua própria estratégia usando técnicas de Reforço de Aprendizagem, diga um Q-Learning ou algo parecido. Você pode tentar usar o NN como um filtro de sinal para sua EA heurística ou combinar todas essas técnicas além do que você deseja. Você é limitado apenas por sua imaginação.
Aqui vou mostrar-lhe um exemplo de usar o NN como um filtro simples para os sinais gerados pelo MACD. Não considere isso como uma EA valiosa, mas como um exemplo de aplicação do Fann2MQL. Durante a explicação da maneira como o exemplo EA: NeuroMACD. mq4 funciona, vou mostrar-lhe como o Fann2MQL pode ser efetivamente usado no MQL.
A primeira coisa para cada EA é a declaração de variáveis globais, define e inclui a seção. Aqui está o início do NeuroMACD contendo essas coisas:
O comando include diz para carregar o arquivo de cabeçalho Fann2MQL. mqh contendo a declaração de todas as funções Fann2MQL. Depois disso, todas as funções do pacote Fann2MQL estão disponíveis para uso no script. A constante ANN_PATH define o caminho para armazenar e carregar arquivos com redes FANN treinadas. Você precisa criar essa pasta, ou seja, C: \ ANN. A constante NAME contém o nome desta EA, que é usado mais tarde para carregar e salvar arquivos de rede. Os parâmetros de entrada são bastante óbvios e aqueles que não são serão explicados posteriormente, bem como variáveis globais.
O ponto de entrada de cada EA é a função init ():
Primeiro, verifica se a EA é aplicada no período de período de tempo correto. A variável AnnInputs contém o número de entradas de rede neural. Como usaremos 3 conjuntos de argumentos diferentes, queremos que seja divisível por 3. AnnPath é calculado para refletir o EA NAME e o MagicNumber, que é calculado a partir dos argumentos de entrada SlowMA, FastMA e SignalMA que são usados mais tarde para a sinalização do indicador MACD . Uma vez que conhece o AnnPath, a EA tenta carregar redes neurais usando a função ann_load () que descreverei abaixo. A metade das redes carregadas destina-se à filtragem de posição longa e a outra metade é para calções. A variável AnnsLoaded é usada para indicar o fato de que todas as redes foram inicializadas corretamente. Como você provavelmente notou este exemplo, a EA está tentando carregar várias redes. Eu duvido que seja realmente necessário neste aplicativo, mas queria mostrar o potencial total do Fann2MQL, que está lidando com múltiplas redes ao mesmo tempo e pode processá-las em paralelo, aproveitando múltiplos núcleos ou CPUs. Para tornar isso possível, a Fann2MQL está aproveitando a tecnologia Intel® Threading Building Blocks. A função f2M_parallel_init () é usada para inicializar essa interface.
Aqui está a maneira como eu costumava inicializar as redes:
Como você pode ver se o f2M_create_from_file () falha, o que é indicado pelo valor de retorno negativo, a rede é criada com a função f2M_create_standard () com argumentos que indicam que a rede criada deve ter 4 camadas (incluindo entrada e saída), entradas AnnInput, AnnInput neurônios na primeira camada escondida, AnnInput / 2 + 1 neurônios na 2ª camada escondida e 1 neurônio na camada de saída. f2M_set_act_function_hidden () é usado para definir a função de ativação de camadas ocultas para SIGMOID_SYMMETRIC_STEPWISE (consulte a documentação do Fann de fann_activationfunc_enum) e o mesmo se aplica à camada de saída. Depois, há a chamada para f2m_randomize_weights () que é usada para inicializar os pesos de conexão do neurônio dentro da rede. Aqui usei o intervalo de & lt; -0.4; 0,4 & gt; mas você pode usar qualquer outro dependendo da sua aplicação.
Neste ponto, você provavelmente notou a função debug () que usei algumas vezes. É um dos métodos mais simples para alterar o nível detalhado de sua EA. Juntamente com ele e o parâmetro de entrada DebugLevel, você pode ajustar a forma como seu código está produzindo a saída de depuração.
Se o primeiro argumento da função debug (), o nível de depuração é superior ao DebugLevel, a função não produz qualquer saída. Se for menor, a cadeia de texto será impressa. Se o nível de depuração for 0, a string "ERROR:" será anexada ao início. Desta forma, você pode dividir o debug produzido pelo seu código em vários níveis. Os mais importantes são provavelmente erros, então eles são atribuídos ao nível 0. Eles serão impressos, a menos que você baixe seu DebugLevel para abaixo de 0 (o que não é recomendado). No nível 1, serão impressas algumas informações importantes, como a confirmação do carregamento ou criação de rede bem sucedida. No nível 2 ou superior, a importância da informação impressa está diminuindo gradualmente.
Antes da explicação detalhada da função start (), que é bastante longa, preciso mostrar-lhe mais algumas funções destinadas a preparar a entrada de rede e executar as redes reais:
A função ann_prepare_input () é usada para preparar o nome de entrada para as redes (assim, o nome). O objetivo disso é bastante direto, mas esse é o ponto em que devo lembrar que os dados de entrada devem ser devidamente normalizados. Não há uma normalização sofisticada neste caso, eu simplesmente usei o MACD principal e os valores de sinal que nunca excedem o alcance desejado nos dados contabilizados. No exemplo real, você provavelmente deve prestar mais atenção a esta questão. Como você provavelmente pode suspeitar de escolher os argumentos de entrada apropriados para entrada de rede, codificá-lo, decompor e normalizar é um dos fatores mais importantes no processamento de rede neural.
Como mencionei antes, o Fann2MQL possui a capacidade de estender a funcionalidade normal do MetaTrader, que é o processamento paralelo de várias redes neurais. O argumento global Parallel controla esse comportamento. A função run_anns () executa todas as redes inicializadas e obtém as saídas delas e armazena na matriz AnnOutput []. A função anns_run_parallel é responsável por lidar com o trabalho da maneira multithread. Ele chama o f2m_run_parallel () que leva como primeiro argumento o número de redes a processar, o segundo argumento é uma matriz contendo alças para todas as redes que deseja executar fornecendo o vetor de entrada como um terceiro argumento. Todas as redes devem ser executadas nos mesmos dados de entrada. Obter o resultado da rede é feito por várias chamadas para f2m_get_output ().
Agora vejamos a função start ():
Vou descrevê-lo brevemente, pois é bem comentado. O trade_allowed () verifica se é permitido o comércio. Basicamente, verifica a variável AnnsLoaded indicando que todos os anns foram inicializados corretamente e, em seguida, verifica o equilíbrio da conta mínima do período do período de tempo apropriado e, no final, permite trocar apenas o primeiro tic de uma nova barra. As duas funções seguintes que são usadas para preparar a entrada de rede e executar o processamento da rede foram descritas apenas algumas linhas acima. Em seguida, calculamos e colocamos em variáveis para posteriormente processar os valores MACD do sinal e da linha principal para a última barra de acumulação e a anterior. A barra atual é omitida, pois não é acumulada ainda e provavelmente será redrapped. O SellSignal e o BuySignal são calculados de acordo com o sinal MACD e crossover da linha principal. Ambos os sinais são usados para o processamento de posição longa e curta, que são simétricos, então eu descreverei apenas o caso por longos.
A variável LongTicket mantém o número do ticket da posição atualmente aberta. Se for igual a -1, nenhuma posição está aberta, então, se o BuySignal estiver configurado, isso pode indicar boa oportunidade para abrir uma posição longa. Se a variável NeuroFilter não estiver configurada, a posição longa é aberta e esse é o caso sem a rede neural de filtragem de sinais - a ordem é enviada para comprar. Neste ponto, a variável LongInput deve lembrar o InputVector preparado por ann_prepare_input () para uso posterior.
Se a variável LongTicekt conter o número de ticket válido, a EA verifica se esta é ainda aberta ou foi fechada pelo StopLoss ou TakeProfit. Se a ordem não for fechada, nada acontece, no entanto, se a ordem for fechada, o vetor train_output [], que possui apenas um otput, é calculado para manter o valor de -1 se a ordem foi fechada com perda ou 1 se a ordem foi fechada com lucro. Esse valor é passado para a função ann_train () e todas as redes responsáveis pela manipulação da posição longa são treinadas com ela. Como o vetor de entrada, a variável LongInput é usada, que mantém o InputVector no momento da abertura da posição. Desta forma, a rede ensina qual sinal traz lucros e qual não é.
Depois de ter uma rede treinada, mudar o NeuroFilter para verdadeiras filtragens de rede. O ann_wise_long () está usando a rede neural calculada como uma média de valores retornados por todas as redes destinadas a lidar com a posição longa. O parâmetro Delta é usado como um valor limiar que indica que o sinal filtrado é válido ou não. Como muitos outros valores obtidos através do processo de otimização.
Agora, uma vez que sabemos como funciona, vou mostrar-lhe como ele pode ser usado. O par de teste é, naturalmente, EURUSD. Utilizei os dados da Alpari, convertidos para o período M5. Utilizei o período de 2007.12.31 a 2009.01.01 para treinamento / otimização e 2009.01.01-2009.03.22 para fins de teste. Na primeira execução, tentei obter os valores mais rentáveis para o argumento StopLoss, TakeProfit, SlowMA, FastMA e SignalMA, que eu codifiquei no arquivo NeuroMACD. mq4. O NeuroFIlter foi desligado, bem como SaveAnn, o AnnsNumber foi configurado para 0 para evitar o processamento neural. Usei o algoritmo genético para o processo de otimização. Uma vez que os valores foram obtidos, o relatório resultante foi o seguinte:
Relate os dados de treinamento após a otimização básica dos parâmetros.
Como você pode ver, executei esta EA na mini conta com o tamanho do Lote de 0,01 e o saldo inicial de 200. No entanto, você pode ajustar esses parâmetros de acordo com as configurações ou preferências da sua conta.
Neste ponto, temos bastante lucrativos e perdemos negociações para que possamos ativar o SaveAnn e configurar o AnnsNumber para 30. Uma vez feito, então eu executei o testador mais uma vez. O resultado foi exatamente o mesmo com a exceção do fato de que o processo foi muito mais lento (como resultado do processamento neural) e a pasta C: \ ANN foi preenchida com as redes treinadas como mostrado na imagem abaixo. Verifique se a pasta C: \ ANN existiu antes dessa execução!
A pasta C: \\ ANN \\.
Uma vez que temos redes treinadas, é hora de testar como ela se comporta. Primeiro, tentaremos os dados de treinamento. Mude o NeuroFilter para true e SaveAnn para false e inicie o testador. O resultado obtido é mostrado abaixo. Observe que ele pode variar ligeiramente para você, pois há alguma aleatoriedade dentro de redes em pesos de conexão de neurônio fornecidos no processo de inicialização de rede (neste exemplo eu usei uma chamada explícita para f2M_randomize_weights () dentro de ann_load ()).
Resultado obtido em dados de treinamento com filtragem neural de sinal ativada.
O lucro líquido é pouco maior (20,03 versus 16,92), mas o fator de lucro é muito maior (1,25 versus 1,1). O número de negócios é muito menor (83 vs 1188) e o número médio de perdas consecutivas é reduzido de 7 para 2. No entanto, isso só mostra que a filtragem de sinais neurais está funcionando, mas não diz nada sobre como ele opera em dados que não foram usados para durante o treino. O resultado obtido no período de teste (2009.01.01 - 2009.30.28) é mostrado abaixo:
Resultado obtido a partir de dados de teste com filtragem neural ativada.
O número de transações realizadas é bastante baixo e é difícil dizer a qualidade desta estratégia, mas eu não vou mostrar-lhe como escrever a melhor EA rentável, mas para explicar como você poderia usar redes neurais no seu código MQL4. O efeito real do uso de redes neurais neste caso só pode ser visto quando comparados os resultados da EA em dados de teste com o NeuroFilter ativados e desativados. Abaixo está o resultado obtido a partir do período de dados de teste sem filtragem de sinal neural:
Resultados de dados de teste sem filtragem neural.
A diferença é bastante óbvia. Como você pode ver, a filtragem de sinal neural transformou a EA perdedora em uma lucrativa!
Conclusão.
Espero que você tenha aprendido com este artigo como usar redes neurais no MetaTrader. Com a ajuda do pacote simples, gratuito e de código aberto Fann2MQL, você pode facilmente adicionar a camada de rede neural a praticamente qualquer Consultor Especialista ou começar a escrever sua própria, que seja total ou parcialmente baseada em redes neurais. O recurso multithreading exclusivo pode acelerar seu processamento muitas vezes, dependendo do número de seus núcleos de CPU, especialmente ao otimizar determinados parâmetros. Em um caso, reduziu a otimização do meu processamento de EA baseado em reforço de aproximadamente 4 dias para "apenas" 28 horas em uma CPU Intel de 4 núcleos.
Durante a redação deste artigo, decidi colocar o Fann2MQL em seu próprio site: fann2mql. wordpress /. Você pode encontrar a versão mais recente do Fann2MQL e, possivelmente, todas as versões futuras, bem como a documentação de todas as funções. Eu prometo manter este software sob a licença GPL para todos os lançamentos, então, se você me enviar comentários, solicitações de recursos ou patches que eu encontrei interessantes, certifique-se de encontrar os próximos lançamentos.
Observe que este artigo mostra apenas o uso muito básico do Fann2MQL. Como este pacote não é muito mais do que o FANN, você pode usar todas as ferramentas projetadas para gerenciar redes FANN, como:
E há muito mais sobre a FANN na página inicial da Fast Artificial Neural Network Library: leenissen. dk/fann/!
Post Scriptum.
Depois de escrever este artigo, encontrei um erro insignificante no NeuroMACD. mq4. A função OrderClose () para posição curta foi alimentada com um número de ticket de posição longo. Isso resultou em uma estratégia distorcida que era mais provável para manter shorts e longs longos:
Na versão correta do script, reparei esse erro e removi a estratégia OrderClose (). Isso não alterou a imagem geral da influência da filtragem neural na EA, mas a forma da curva de equilíbrio era bastante diferente. Você pode encontrar ambas as versões desta EA anexadas a este artigo.
BLACKBOLT Neural Network EA - Grátis.
BLACKBOLT NEURAL NETWORK EA.
Olá a todos, eu decidi publicar minha nova rede neural EA aqui grátis para que todos possam testar e testar. Este fórum me deu muita ajuda e informações ao longo dos anos e gostaria de devolver.
TRAIN DENTRO DO METATRADER.
Este NN EA é único porque meu programador conseguiu torná-lo treinável dentro do cliente metatrader usando testador de estratégia. Isso é ótimo porque significa que você pode treiná-lo novamente a qualquer momento. O arquivo de treinamento que eu anexei a esta postagem foi criado usando dados de moeda metatrader comuns que vem com cada cliente e foi treinado de janeiro de 2004 até o presente. Você pode voltar ainda mais ou usar dados mais recentes para determinar qual é o melhor conjunto de padrões para as condições atuais do mercado.
TÉCNICA PERCEPTRON MULTI-CAMINHAS DA REDE NEURAL.
Um perceptron multicamada é um modelo de rede neural artificial de feedforward que mapeia conjuntos de dados de entrada em um conjunto de saída apropriada. É uma modificação do perceptron linear padrão em que ele usa três ou mais camadas de neurônios (nós) com funções de ativação não-linear e é mais poderoso do que o perceptron, pois pode distinguir dados que não são linearmente separáveis ou separáveis por um hiperplano.
Nesta fase, vou me tornar um pouco matemático, mas resumirei os pontos salientes de forma não matemática depois. As redes neurais variam de forma, neste caso, uma técnica de perceptron multicamada (MLP) foi usada e pode ser representada pela seguinte expressão:
Onde y é a saída, xa vetor de entradas, & # 934; ja série de funções (tipicamente tangentes logísticas ou hiperbólicas), wj uma série de vetores de peso para garantir que cada & # 934; j recebe uma entrada diferente, & # 955 ; 0 uma constante, e & # 955; 1 para & # 955; M uma série de pesos, conhecidos como pesos de saída, que pesam as saídas de & # 934; 1 para & # 934; M.
Mais informações sobre a estratégia utilizada podem ser encontradas em nosso site.
EA SETTINGS (INPUTS):
Se FALSO, então, a EA se divertirá normalmente (antecipante ou posterior); Se for VERDADEIRO e executado no testador de estratégia, a EA irá treinar no intervalo de tempo que você configurou.
Este é o comprimento dos padrões de preços que você deseja que a EA procure. É benéfico em condições de mercado diferentes para procurar padrões mais longos ou menores. O número aqui representa a quantidade de barras que o padrão consiste. O padrão é 100.
NeuronLayerDepth - Esta não é a quantidade de neurônios utilizados, mas a freqüência das camadas correspondente ao padrão de treinamento. Este número pode ficar em 100.
MinTrainError - Este é o erro de erro mínimo que será tolerado pela EA uma vez que ele começa a operar, isso é independente do processo de treinamento. Uma vez que o arquivo de treino é preenchido com novos dados padrão, essa entrada indica à EA o desvio padrão padrão que ele usará para negociação real.
MaxError - Este é o desvio de erro máximo que a EA usará dos dados treinados.
TP - Auto-explicativo, isso funciona como qualquer valor de lucro normal.
SL - Mesmo aqui, uma perda de parada normal.
MaxSpread - O valor de spread máximo em que a EA irá trocar.
GMTDiffer - Esta é a diferença da GMT que seu corretor usa. A EA está codificada para trocar entre 22:00 - 24:00, mas descobri que o que funciona melhor para mim é de 23:00 a 01:00. Então, você pode fazer seus testes e descobrir o que funciona melhor, mas sabe que, quando esse valor é definido como zero, isso significa que ele irá trocar entre as 22:00 e as 24:00.
Para obter os resultados no backtest exibido abaixo e com o arquivo definido anexado, o EA deve ser configurado para +1 GMT. Se o seu corretor for +1 GMT, a opção GMTDiffer deve ser definida como ZERO.
EA - vai no metatrader client \ experts.
BLACKBOLTNN. dll - metatrader client \ experts \ bibliotecas.
Datevalidate. dll - metatrader client \ experts \ bibliotecas.
arquivos. nnb - metatrader client \ tester \ files.
- Um backtest no testador de estratégia não pode ser executado quando você coloca o EA em um gráfico para reencaminhar o teste - isso irá travar seu cliente metatrader se você fizer isso.
- Depois de treinar a EA, ela substitui o arquivo. nnb (arquivo de treinamento) e salva seus novos dados treinados sobre o último.
- A EA é executada apenas no gráfico EURUSD 5M. Este é o único par e gráfico em que será executado.
Isto é muito interessante. Obrigado pela participação.
O zip errado foi carregado acima e não consigo removê-lo. Aqui está o zip correto. Admin, substitua o anexo na primeira postagem com este, pois estou bloqueado.
O arquivo zip na primeira publicação é atualizado com o arquivo mais recente.
** Os downloads devem ser cautelosos ao executar a EA que importa funções a partir de arquivos DLL. O arquivo DLL pode ser classificado como um executável com privilégio suficiente para cobrir o computador. O FxFisherman não verifica DLLs de terceiros carregadas aqui; portanto, não garantimos que os arquivos estejam livres de códigos maliciosos. Use-o por sua conta e risco.
Alguém que usa este EA?
Sim, tentei a EA com resultados mistos. Eu acho que tem um grande potencial, mas o problema é que o NN precisa ser treinado para manter o sistema no topo.
Isso coloca o problema de ajuste de curva na mesa. No geral, acho que a NN pode ser muito poderosa para os sistemas de negociação.
Você poderia dizer onde posso encontrar documentação sobre redes neurais que podem ser aplicadas no forex?
Se você é um veterano na programação de sistemas de negociação, você deve saber sobre otimizar demais. Você acha que o Neural Networks não supera otimizado? Estou interessado em saber sua opinião.
Oi, obrigado. Esta EA funciona em corretores de 5 dígitos?
A EA quando instalada diz que o demo expirou, qualquer EA de blackbolt válida.
Alguém que tentou isso pode compartilhar a declaração para ver como ela funciona?
Neural Networks FX EA.
Crescimento: 370,3% Mensal: 24%
CONTA REAL: Neural Networks FX EA.
Data de início: 17 de maio de 2017.
Metatrader Expert Advisors baseado em FOREX Neural.
Neural Networks FX EA É o consultor especialista em rede neural personalizável e rentável comercialmente disponível para a comunidade comercial de varejo.
Você pode efetivamente usar a rede neural forex para:
Avaliando a probabilidade de continuação da tendência Classificação das fases do mercado Previsão temporária da formação máxima e mínima para diferentes prazos Previsão da probabilidade de movimentos flutuantes após as tendências e as seguintes correções Acompanhamento das interconexões entre mercados.
SUPORTE & ndash; ANTES E APÓS A VENDA:
Nossa equipe de suporte técnico trabalhará com você para alcançar o mais alto nível de desempenho do nosso produto que você decide comprar.
Não hesite em contactar-nos a qualquer momento com as suas perguntas, estamos aqui para fornecer aconselhamento especializado. Além disso, sinta-se à vontade para contatar-nos sobre sua experiência usando nosso produto.
Expert Advisors - Neural Networks FX EA.
Redes Neurais O FX EA é um Consultor Especializado que usa redes neurais de auto-aprendizagem para identificar tendências e abrir um ou vários negócios nessa direção. O número de negócios não parece ser limitado.
Tire os limites de lucro e os limites de perda de parada são colocados a uma distância de 200 pips para cada comércio único; no entanto, geralmente os negócios são fechados antes que esses valores sejam atingidos. Apesar de os negócios serem fechados ao mesmo tempo, na maioria das vezes, essa não é uma estratégia de cesta comum.
A EA fornece um gerenciamento de dinheiro baseado em risco e também permite o comércio com lotes fixos.
Com base nos backtests, a Neural Networks FX EA atinge uma razão de risco-recompensa de cerca de 1,2: 1, o que - combinado com uma taxa de sucesso de cerca de 80% - é um valor muito bom para uma estratégia seguindo a estratégia.
Deve-se notar que os resultados do backtest estão piorando quanto mais o período de teste é movido para o passado. Isso geralmente é uma indicação de uma estratégia sobre otimizada que só funciona em certas condições de mercado. Por outro lado, é para isso que as redes neurais são feitas - adaptando-se às mudanças. A questão é se o desenvolvedor pode gerenciar a adaptação da EA a novas condições de mercado, seja por uma lógica incorporada ou por atualizações.
Estratégia de negociação.
Tendência da estratégia seguinte.
Pares de moeda.
Horário de Negócios.
USD 109 a cada seis meses.
Pagamento através da Avangate.
Política de devolução.
O desenvolvedor não fornece nenhuma informação sobre o direito de retornar.
A licença é válida para duas contas de demonstração ao vivo e duas, e inclui suporte e atualizações. Os números de conta devem ser registrados com suporte para ativação de negociação.
Uma breve descrição explica a instalação e configuração do Neternal Networks FX EA.
Atuação.
O desempenho da Neural Networks FX EA é demonstrado, da seguinte forma, em uma conta FX PIG Live exclusiva, bem como em uma conta ao vivo do desenvolvedor.
Os testes anteriores da FX EA de redes neurais para o período 2012-2017 são mostrados abaixo.
Ano 2012 - 2017, spread: True FX live spread, lotes: 0,02.
Ano 2016 - 2017, spread: True FX live spread, risk: 2.0.
Ano 2016 - 2017, spread: True FX live spread, lotes: 0,02.
No comments:
Post a Comment