Não espere um minuto :) Não há nenhuma maneira de executá-lo carrapato por marca - ele troca no final do bar: Além disso, o prazo é de 1 hora: também também :) Não tenho idéia de como ele irá executar. Eu apenas testei isso na HISTÓRIA. O modo de preços abertos apenas é suficiente e rápido o suficiente para testar e otimizar. Está sendo em período de liberdade condicional há cerca de uma semana no meu Demo, e até agora produziu apenas 1 comércio, então não espere que comece a perder dinheiro :) imediatamente. Quando eu tiver o suficiente dos negócios REAL para postar, Ill post. Também também também :))) leia o aviso legal dos autores. É um exemplo, não um graal. Muito ruim :( gtgtgt Deixe-me experimentá-lo desde o início ltltlt 1. Copiando um especialista do artigo. Salvando-o como testexpert. mq4. Compilando (F5): sucesso. 2. Copiando um indicador. Salvar (no diretório de indicadores) como Testind. mq4. Compilando: sucesso. 3. OOPS. Renomeando o indicador no código perito, já que não é forexnnind mais :) 4. Testes. Configurações: EURUSD, H1, apenas preços abertos, Recalcular verificado. Resultados: 0 comércios. Ok, acho que entendi. Eu sei qual é o problema. Posso colocá-lo na próxima publicação, para mantê-lo legível. Ok, aqui estou, mantendo minha promessa (veja o final da minha publicação anterior). A razão pela qual não há trades, é em diálogo Expert propetries. As propriedades não estão definidas. Todos são zeros. Dê uma olhada no perito. Se não estamos testando (negociação em tempo real), as propriedades são iniciadas para quotoptimal valuesquot. Se somos TESTES - eles NÃO são. Você precisa fazer isso à mão. Então, para continuar o anterior. Postagem: 5. Configuração de propriedades experientes para: dBuyLevel 0.21 dSellLevel 0.9 dStopLoss 200 Point dTrailingStop 200 Point (e para otimizar, você também terá que definir um intervalo para cada variável) Resultados deste teste (como é, do artigo, não Otimizado): Barras em teste 17770 Carrapatos modelados 35440 Qualidade de modelagem na Depósito inicial 1000.00 Lucro líquido total 2098.85 Lucro bruto 6758.65 Perda bruta -4659.80 Fator de lucro 1.45 Resultado esperado 32.29 Remessa absoluta 0.00 Remessa máxima () 1188.55 (27.7) Total de negócios 65 Posições curtas ( Ganhou) 2 (50,00) Posições longas (venceu) 63 (44,44) Negociações de lucro (do total) 29 (44,62) Negociações de perdas (do total) 36 (55,38) Comércio de lucro maior 802,00 perda de comércio -204,90 Comércio médio de lucros 233,06 perda de comércio - 129.44 Vitórias consecutivas máximas (lucro em dinheiro) 6 (1330.35) perdas consecutivas (perda de dinheiro) 5 (-628.25) Lucro consecutivo máximo (contagem de vitórias) 1330.35 (6) perda consecutiva (contagem de perdas) -652.10 (4) Média Ganhos consecutivos 2 consecutivos Ses 2 Geralmente (usei um intervalo diferente de datas) - o mesmo que prometido no artigo. Uau, isso foi longo:) SnowCron Neural Networks para FOREX Trading Neste artigo: um exemplo de uso do nosso software Neural Networks para criar um sistema completo de comércio de redes neurais. Este exemplo usa a linguagem de script interna do Cortex. Então leia o guia de linguagem de script primeiro. Usando Redes Neurais para criar FOREX Trading Strategy Neste tutorial on-line gratuito você encontrará o ciclo completo de uso de redes neurais (Cortex Neural Networks Software) para negociação Forex (ou negociação no mercado de ações. A idéia é a mesma). Você aprenderá a escolher entradas para as redes neurais artificiais. E como decidir o que usar como saída. Você encontrará um exemplo de um script pronto para usar que permite realizar a otimização das redes neurais tanto da estrutura da Rede Neural (número de neurônios) quanto do sistema de negociação forex (stop loss etc.) Finalmente (a parte que não está presente em A maioria dos tutoriais), você aprenderá o que fazer a seguir. Afinal, o Cortex Neural Networks Software não pode fazer negócios em tempo real, você precisa usar algo como Trade Station, MetaQuotes ou MetaTrader. Como transportar o sistema de negociação FOREX do Cortex para sua plataforma de negociação favorita Você tem que lidar com DLLs, controles ActiveX e programação de baixo nível. A resposta é NÃO. O software Cortex Neural Networks vem com o recurso fácil de usar que permite que você facilmente apresente a rede Neural resultante (treinada) para a linguagem de script da sua plataforma de negociação. Sem DLLs, DDE, ActiveX ou quaisquer outras soluções de baixo nível - tudo é simples e simples. Nota importante: este não é um tutorial sobre o comércio. Em vez disso, informa-lhe como usar o software Cortex Neural Networks. Mas você ainda precisa inventar seu próprio sistema comercial. Aquele que usamos aqui é apenas um ponto de partida, e não deve ser usado como uma estratégia de negociação forex como está. A idéia deste texto é ensinar você a criar sistemas de negociação baseados em NN e a portá-los para a plataforma comercial escolhida. O exemplo é, no entanto, simplificado, e só pode ser usado como ilustração dos princípios de negociação. Da mesma forma, o sistema de negociação MACD, que pode ser encontrado em muitos tutoriais, já não funciona bem (à medida que os mercados mudaram), mas ainda é um bom exemplo de usar indicadores para negociação mecânica. Em duas palavras: faça sua própria análise. Outra nota importante: o tutorial usa exemplos, muitos deles. Para tornar sua vida mais fácil, incluí todos eles, não apenas fragmentos. No entanto, torna o texto muito mais longo. Além disso, eu estou indo desde o primeiro, desajeitado, sistema de negociação forex. Mais avançado, explicando sempre o que foi melhorado e por quê. Seja paciente ou salte diretamente para a seção que você precisa. Nota importante final: o código não é algo esculpido em pedra, ele pode mudar enquanto este texto foi escrito. As versões finais dos arquivos de script estão incluídas no arquivo Cortex. Armadilhas de FOREX COMPRAR SELL Signals: O que há de errado com exemplos simples No guia de usuários do software Cortex Neural Networks, usamos um exemplo simples de uma Rede Neural Afifficial. Prevendo o preço do estoque GENZ. Para descobrir o que é errado com esta abordagem, vamos fazer o mesmo exemplo simples, usando o MSFT. TXT, em vez do GENZ. TXT (use 800 registros no conjunto de aprendizado, como MSFT. TXT é um pouco mais curto, então GENZ. TXT). Simplesmente não funcionará Porque o motivo se tornará evidente, se você se perguntar: qual é o motivo pelo qual a previsão da rede neural de valores futuros pode ser feita no primeiro lugar. A resposta é: é aprender a fazer o que é chamado de reconhecimento de padrões de redes neurais. Para reconhecer padrões, e se houver uma lógica oculta nesses padrões, então mesmo um novo padrão (com a mesma lógica) será reconhecido. Isso é um truque - com a mesma lógica. Não há nem um, mas três problemas aqui. Em primeiro lugar, se você olhar para o preço das ações da Microsofts, você notará que estava indo na parte de aprendizagem de nossos dados, e de lado - na parte de teste. Portanto, é possível que a lógica tenha mudado. Em segundo lugar, e ainda mais importante - QUAL É O TESTE PADRÃO Você vê, se ensinamos a rede neural no intervalo de 10 a 100, e depois apresentamos algo na faixa de 1 a 3 - são padrões diferentes 10, 20, 30 e 1, 2, 3 parecem semelhantes aos humanos porque - PORQUE - temos essa capacidade de dividir por dez, quando apresentado com números que terminam com zero. É o que é chamado de pré-processamento dos dados e, por padrão, o NN não pode fazê-lo. Podemos ensiná-lo. Claro. O que é EXATAMENTE, precisamos ensiná-lo. Este é o terceiro e o mais importante. Nós não precisamos da previsão de preços. Não nos importa O que precisamos é FOREX comprar sinais de venda. Agora, espere um minuto Precisamos de) para ter nossa contribuição (aprendendo e testando) no mesmo intervalo e precisamos de b) para poder tomar decisões de negociação com base nisso. Não é o que chamamos de indicador Bingo Então, isso é O que vamos fazer - vamos construir um indicador, alimentá-lo ao NN como uma entrada, e tentaremos obter uma previsão do valor do indicador, e não o preço do estoque sem valor. Em nosso primeiro exemplo, vamos carregar estoque Citações do disco, abra o arquivo Neural Network e comece a aprender - tudo em um modo automatizado. Crie um novo arquivo de script (ou abra o que veio com o arquivo Cortex Neural Networks Software) e ligue para estocasnn. tsc. Antes de tudo, precisamos baixar os valores de preço do arquivo MSFT. TXT. Nós vamos usar o indicador CLV (veja abaixo), mas para o calcular, precisamos de valores ajustados por divisão para Alto e Baixo, não apenas para fechar. Aqui é como obtê-los. Stocknn. tsc, parte 1 A primeira linha atribui o caminho para a variável strStockPath, é claro, você terá que editá-la, se seu arquivo de dados estiver localizado no diretório diferente. Na segunda linha, especificamos que esse caminho não é relativo (o relativo à localização do arquivo Cortex. exe). O TABLELOADER recebe o caminho, a seqüência vazia para a linha de início, 1 - para ignorar a primeira linha (nomes das colunas), parte da linha do rodapé dos arquivos (a última linha no MSFT. TXT não contém dados), também é instruída Para carregar a coluna número 0 (e chamar arrDate), 2 (arrHigh), 3 (arrOow), 4 (arrC) e 6 (arr Close). Para uma descrição completa do TABLELOADER, consulte o guia de referência SLANG. Então, calculamos dividir, dividindo o Fechar ajustado por fechar, e use esse valor para ajustar baixo e alto. O arquivo MSFT. TXT contém os dados mais recentes PRIMEIRAMENTE, enquanto os queremos DURAMENTE. Em seguida, precisamos criar um indicador. Digamos, será um indicador de Close Location Value, embora na vida real provavelmente use mais de um indicador como entrada NN. O indicador de Valor de localização de fechamento é calculado como CLV ((Close - Low) - (High - Close)) (High - Low), onde Close, Low e High são para o intervalo, não necessariamente para uma única barra. Note-se que queremos no intervalo 0-1, para facilitar a normalização para a nossa gama NNs (que é, novamente, 0-1). Stocknn. tsc, parte 3 Em seguida, precisamos criar um arquivo de atraso. Permite usar atrasos iguais a 1, 2. 9 (Para obter detalhes sobre as funções do arquivo, consulte o guia de referência SLANG). Observe que a caixa de diálogo Cortexs NN pode produzir atrasos simples automaticamente (você pode usar o botão Gerar lag). Mas, mais tarde, neste texto, vamos trabalhar com atrasos complexos (o que significa que eles não são 1, 2, 3. mas 1, 3, 64), então precisamos criar o código que pode lidar com essa tarefa em De forma mais flexível. Stocksnn. tsc, parte 4 Tendo o arquivo de atraso, estamos prontos para criar nossa primeira rede neural. Esta função requer muitos parâmetros, então fique atento. No entanto, o código é realmente simples. A propósito, a maior parte deste código pode ser removido, se você acha que pode lidar com números, em vez de nomes significativos em seu código, no entanto, essa seria uma prática de codificação muito ruim. Stocknn. tsc, parte 5 Agora, depois de ter uma rede neural e o arquivo atrasado com dados, precisamos ensinar a rede. O arquivo de atraso (msftind. lgg) possui 1074 registros, por isso é razoável usar o 800 como um conjunto de aprendizado e o restante 274 como um conjunto de testes. Você pode, claro, abrir um arquivo de rede e clicar no botão Executar na guia Aprendizagem. Mas, como esta é uma introdução à programação avançada de Software de Redes Neurônicas, use a linguagem de script embutida SLANG em vez disso. O código a seguir exibe a caixa de diálogo modal com as configurações do ann NN. Observe que, se você quiser ter um privilégio de clicar no botão Executar, você precisa alterar o stocknn. tsc, parte 6 O bStartLearning pode ser 0, caso em que a caixa de diálogo aguardará sua entrada, ou 1, então a aprendizagem Começará de forma automática. O bResumeScript, se for igual a 1, retomará o script, se você fechar a caixa de diálogo clicando no botão OK. O bReset é usado para redefinir a rede antes que a aprendizagem comece. Execute o script e aguarde até que o contador de épocas exceda 1000 e, em seguida, clique em Parar. Vá para a guia Aplicar e clique em Aplicar. Isso executará todo o conjunto de dados (aprendendo e testando) através do NN e crie o arquivo. APL, contendo tanto a entrada-saída original quanto a previsão gerada pelo NN, desta forma você pode facilmente traçá-los e compilar uns contra os outros . Vá para a guia Saída, selecione o arquivo msftind. apl, clique em Procurar arquivo, selecione os campos e selecione o número na caixa de listagem esquerda e (mantendo pressionada a tecla CTRL enquanto seleciona com o mouse) Clv e NN: Clv no Caixa de listagem direita. Clique em Gráfico para ver como é boa a nossa previsão. Bem. É mais ou menos bom, do que podemos dizer olhando para ele. Ainda assim, nada extraordinário. Este foi apenas um exemplo do que você pode fazer com scripts SLANG e como automatizar as tarefas de rotina do Cortexs. No entanto, até agora, não fizemos nada que você não pudesse fazer à mão. Bem. Quase nada, porque se você quiser criar um arquivo de atraso personalizado, com, digamos, Clv-100, Clv-50, Clv-25. Colunas, então você terá que usar SLANG (ou Excel.), Porque você não pode fazer no Cortex sem scripts. FOREX Estratégia de Negociação: o que otimizar Aqui está o nosso próximo problema. Precisamos de uma previsão bem parecida, ou precisamos do que podemos usar para negociar com lucro. A questão parece estranha, mas apenas pense nisso por um momento. Digamos que temos uma ótima previsão de 1 hora. 95 precisas. Ainda assim, até onde o preço pode ir em uma hora. Não muito longe, tenho medo. Compará-lo com a situação, quando você tiver uma predição bastante imprecisa de 10 horas. Será melhor Para responder a esta pergunta, precisamos realmente negociar, uma comparação simples dos erros médios produzidos pelos dois NNs não ajudará. A segunda parte (do mesmo problema) está na forma como definimos uma boa previsão. Digamos que temos uma rede, que produz a previsão, que é 75 precisas. Compará-lo com o NN, que está produzindo uma previsão precisa e 100. O último é melhor. Agora, DIVIDE a saída (predição) do NNR de 100 precisos em 10. Teremos uma rede MUITO imprecisa, pois seu sinal está longe do sinal que usamos como saída desejada. E, no entanto, ele pode ser usado da mesma forma que usamos 100 NN precisos, tudo o que temos a fazer é multiplicá-lo por 10 Veja, o NN é criado, ajustando o erro quadrático médio e não a correlação, pelo menos em Teoria, um NN melhor pode mostrar resultados ruins, quando usado para a negociação Forex real. Para resolver esse problema, precisamos testar nossos NNs usando negociação e usar os resultados dessa negociação (lucro e redução) para decidir, se este NN for melhor que o outro. Vamos fazer isso. Vamos criar um programa, que pode ser usado para ajustar o NN, e desta vez, por ajuste fino, vamos significar resultados comerciais. Neural Network Trading: Poucas notas curtas Antes de tudo, no nosso exemplo acima, a aprendizagem automática nunca irá parar, porque não especificamos nenhum critério de parada. No diálogo, ou na função CREATENN, você pode fornecer o min. Erro (quando o NN o atinge, ele pára e, se bResumeScript estiver definido como 1, a caixa de diálogo será fechada e o script será retomado). Também pode fornecer o número máximo de épocas, ou ambos. Não estou usando isso no exemplo abaixo, pelo menos nem sempre, porque estou planejando assistir a aprendizagem e clicar em STOP quando penso que o NN está pronto. Se você deseja fazê-lo no modo totalmente automático, preste atenção a esses parâmetros. Segundo. Uma das maneiras de tornar a rede menor, mais rápida e precisa é começar a pequena rede e aumentar o tamanho, neurônio pelo neurônio. Obviamente, o número de neurônios de entrada é determinado pelo número de colunas de dados de entrada (mas podemos também variá-las) e o número de neurônios de saída deve ser igual ao número de colunas de dados de saída (geralmente um, mas não necessariamente ). Isso significa que precisamos otimizar o número de neurônios na (s) camada (s) oculta (s). Além disso, como mencionei, não sabemos quais os dados a serem usados. Will Clv-15 (15 dias atrasados) aumentam a precisão de nossa previsão Precisamos de Clv-256 Será melhor usar ambos no mesmo NN, ou irá adicionar Clv-256 arruinar nosso desempenho Usando ciclos aninhados para tentar diferentes Parâmetros de entrada, você pode: criar o NN, da mesma forma que o fizemos para os dados do estoque (deixe-me repetir, para o NN, não há diferença entre os estoques e FOREX, aconteceu que eu tenho um par de arquivos de dados de alta qualidade para FOREX que eu quero processar, enquanto escrevo este texto). Experimente diferentes combinações de atrasos. Experimente diferentes números de neurônios na camada oculta. . E diferentes combinações de diferentes indicadores. . e assim por diante. No entanto, se você tentar todas as combinações possíveis de todos os parâmetros possíveis, você NUNCA obterá seus resultados, independentemente da rapidez com que seu computador esteja. Abaixo, usaremos alguns truques para reduzir os cálculos ao mínimo. Por sinal, pode parecer que, se você começar de um neurônio escondido, então, aumentá-lo para 2, 3 e assim por diante, e em algum momento o erro (qualidade da previsão) ou o lucro (se você testar o NN por Negociação usando) começará a diminuir, então você terá seu vencedor. Infelizmente, não posso provar que, após o primeiro pico de desempenho, não pode haver um segundo. Isso significa que o erro pode ser igual a 100, 30, 20, 40, 50 (foi apenas no mínimo, à direita) e depois 30, 20, 10, 15. (o segundo mínimo). Nós apenas temos que testar todos os números razoáveis. Terceiro. A otimização é uma espada de dois gumes. Se você otimizar demais o seu código, pode não funcionar fora dos dados que você usou para ajustá-lo. Eu farei o meu melhor para evitar essa armadilha. Se você deseja fazer otimizações adicionais para o seu código ou NN, aconselho você a fazer uma pesquisa na Internet, para saber mais sobre problemas ocultos dessa abordagem. Além disso, vou prestar atenção à suavidade da curva de lucro. O lucro que parece 0, -500, 1000, -100, 10000 pode ser ótimo, mas o lucro de 0, 100, 200, 300, 400. é melhor, pois é menos arriscado. Podemos conversar sobre isso mais tarde. Finalmente, para este exemplo, vamos usar FOREX, em vez de preços de ações. Do ponto de vista do NN, não há diferença, e do meu ponto - Forex é muito mais divertido de negociar. Se você preferir ações, o código pode ser facilmente modificado. Uma Estratégia de Negociação FOREX para jogar com Primeiro, vamos criar um protótipo do nosso código, que pode ser facilmente otimizado no futuro. Será um sistema de negociação, que usa uma Rede Neural para negociar e produz um gráfico (lucro contra o número comercial). Também calculará a redução, como medida de robustez do nosso sistema comercial. Forexnn01.tsc, parte 1 A principal diferença aqui é que usamos funções, em vez de colocar todo o código no bloco principal do programa. Desta forma, é muito mais fácil de gerenciar. Em segundo lugar, temos uma função TestNet. Estou usando um algoritmo de negociação muito simples. O indicador CLV é limitado ao intervalo de 0 a 1 (nossa versão do CLV é), então, quando o indicador cruza o dBuyLevel (veja o código acima), estou comprando, quando está cruzando o dSellLevel, estou vendendo. Obviamente, não é a melhor estratégia de negociação, mas fará para o nosso propósito (apenas por enquanto). Se você deseja aprimorá-lo, aqui estão algumas dicas. Primeiro, você pode querer ter um sistema, isso não é SEMPRE no mercado. Em segundo lugar, você pode querer usar mais de um indicador como entradas e, talvez, mais de um NN, para que a decisão de negociação seja feita com base em poucos indicadores previstos. Vamos adicionar algumas melhorias ao algoritmo de negociação mais tarde. Usamos alguns pressupostos padrão da negociação FOREX: spread é de 5 pontos, leverade é 100, min. Lot é 100 (mini-FOREX). Vamos dar uma olhada no nosso sistema comercial. Mais uma vez, é uma simplificação excessiva. Uma nota importante: o TestNn () é chamado último e tem acesso a todas as variáveis que foram criadas nesse ponto. Então, se você vir uma variável que estou usando, sem inicializar, isso provavelmente significa que foi inicializado em NewNn (), TeachNn () ou alguma outra função que foi chamada antes de TestNn (). Para facilitar as coisas, os comentários são colocados no código. Forexnn01.tsc, parte 2 Poucas palavras sobre a redução. Existem poucas maneiras de calculá-lo, e estamos usando o que considero o mais honesto. A redução é uma medida de instabilidade do nosso sistema. O que é uma chance, que ele vai perder dinheiro. Digamos que o montante inicial é de 1000. Se o lucro for 100, 200, 300, 400, o recuo é 0. Se for 100, 200, 100, então a retirada é de 0,1 ( 10), já que acabamos de perder um valor, igual a 110 do depósito inicial (de 1200 a 1100). Eu recomendaria fortemente o uso de sistemas de negociação com grandes descontos. Além disso, aqui eu uso um drawdown, que é para ser usado com tamanho de lote variável. No entanto, nas amostras reais, que vêm com o livro eletrônico, você verá outra versão: como você pode ver, aqui sempre usamos 1000 (o valor inicial) para calcular a redução. A razão é simples: sempre usamos o mesmo tamanho de lote (sem gerenciamento de dinheiro ainda), então não há diferença, quanto dinheiro acumulamos em nossa conta, um lucro médio deve ser constante. O pior cenário possível neste caso parece assim: desde o início (1000 em conta) estamos perdendo dinheiro. Se usarmos 1000 para calcular a retirada, obteremos a pior redução. Isso nos ajudará a não nos enganar. Por exemplo, digamos, trocamos por algum tempo, e nós temos 10.000 em nossa conta. Então perdemos algum dinheiro, e agora temos 8.000. Então recuperamos, e conseguimos 12 mil. Bom sistema de negociação Provavelmente não. Vamos repetir a lógica novamente, pois é muito importante (e tornará-se ainda mais importante, quando começarmos a gerir dinheiro). Nós trocamos usando lotes de tamanho fixo. Portanto, estatisticamente, não há garantia de que a perda máxima não acontecerá no início, quando nós só tivermos 1000. E se isso acontecer, teremos -1,000 (10 000 - 8,000), então o sistema comercial provavelmente também será arriscado. Quando falamos sobre o gerenciamento de dinheiro (provavelmente, não neste texto), teremos que usar uma abordagem diferente para o cálculo de retirada. Note-se que, neste sistema comercial, estou usando o pior cenário possível: estou comprando usando High e vendendo usando Low. Muitos testadores não seguem essas regras e criam sistemas de negociação, que funcionam bem em dados históricos. Mas na vida real, esses sistemas de negociação têm desempenho muito fraco. Por que dê uma olhada na barra de preços. Tem Open, High, Low e Close. Você sabe, como o preço estava se movendo dentro do bar No. Então, digamos, seu sistema de negociação gerou um sinal de compra, na parte inferior da barra de preços (se dLow Note que eu estou usando dLotSize igual a 0.1 lot (100). Obviamente, na negociação real, você se beneficiará muito, se o tamanho do lote for calculado dependendo do dinheiro que você tiver, algo como: forexnn01.tsc, parte 3 No entanto, estamos fazendo testes aqui, não negociando. E para testes, nós Precisa, entre outras coisas, de ver quão suave é a curva de lucro. Isso é muito mais fácil de fazer se o tamanho do lote for o mesmo (na situação ideal, para dLotSize 100, obteremos uma linha reta, com uma inclinação positiva, enquanto estiver em Caso do tamanho de lote ajustável, obteremos um expoente, isso é muito mais difícil de analisar). Mais tarde, neste texto, aplicaremos regras de gerenciamento de dinheiro ao nosso sistema comercial, mas ainda não. Depois de terminarmos com a última parte do nosso Função de teste, vamos percorrer o resto do código. A seguinte função cria um indicador CLV. É preciso E intervalo como parâmetro, o que significa que podemos chamá-lo muitas vezes, durante a otimização, passando números diferentes. Observe que estou usando o NN que funciona no intervalo de 0 a 1. Os dados podem ser normalizados, é claro, mas optei por dividir o indicador em 2 e adicionar 0,5, de modo que esteja no intervalo de 0 a 1. Forexnn01.tsc, parte 4 Para fazer um arquivo de atraso, podemos usar a função CREATELAGFILE. Alternativamente, podemos fazê-lo fornecendo explicitamente todo o código necessário. Nesse caso, temos mais controle, e vamos precisar disso, se começarmos a variar o número de colunas atrasadas e assim por diante. Forexnn01.tsc, parte 5 O parâmetro nRemoveFirst é importante. Muitas funções, como indicadores, médias móveis, geradores de atraso, para esse assunto, não funcionam bem dentro dos primeiros registros do conjunto de dados. Digamos que temos MA (14) - o que irá colocar nos registros 1 - 13 Então, nós escolhemos simplesmente remover os primeiros registros (não confiáveis). Para o NewNn, bem como para todas as funções deste programa, precisamos passar como parâmetros apenas o que pode ser alterado durante o processo de otimização. Por exemplo, não há necessidade de passar um salto antes do parâmetro, pois é sempre o mesmo. Forexnn01.tsc, parte 6 A função TeachNn simplesmente exibe a caixa de diálogo NN. Forexnn01.tsc, parte 7 Finalmente, precisamos de uma função de gráficos. Não é obrigatório, mas é sempre uma boa idéia ver como é a nossa linha de lucro. O código a seguir usa o XML para produzir um gráfico, por isso é uma boa idéia ler o tutorial. Alternativamente, você pode desenhar o gráfico, em vez de salvá-lo em um arquivo. Para fazê-lo, use uma das amostras, que estão no diretório de amostras. Finalmente, você pode modificar o código, produzir HTML, em vez de XML. O HTML é mais fácil de aprender, mas o próprio código será um pouco menos legível. Forexnn01.tsc, parte 8 Compile and Run the script. Bem. Como esperado, o uso de 7 horas como intervalo para o CLV produziu resultados muito fracos: FOREX Estratégias de Negociação e Otimização O motivo para os resultados ruins é bastante óbvio: usamos os níveis Interval, Stop Loss, buy and sell e outros parâmetros que foram Puramente aleatório - acabamos de escolher primeiro que veio em mente. O que acontece se tentarmos algumas combinações. Sinais de negociação FOREX: o que otimizar. Em primeiro lugar, ao superestimar os níveis de compra e venda, podemos arruinar nossa performance futura. No entanto, ainda podemos sintonizá-los, especialmente, se o desempenho for próximo de valores próximos de limites de compra e venda. Por exemplo, se tivermos -10 lucros no limite de compra iguais a 0,3 e 1000 lucro quando é igual a 0,35, então provavelmente há uma coincidência afortunada, e não devemos usar 0,35 para o nosso sistema comercial, já que no futuro provavelmente não acontecerá novamente. Se, em vez disso, temos -10 e 10 (em vez de 1000), pode ser mais seguro usar. Geralmente, nosso sistema de negociação deve ser construído para o cenário WORSE possível, como se durante a negociação real o desempenho fosse melhor, então, durante o teste, vamos sobreviver, mas não o contrário. Podemos variar o valor para o intervalo do indicador, desde que possamos trocas suficientes, para que possamos estar confiantes, em termos de estatísticas, no desempenho de um sistema. Nós certamente podemos variar o número de neurônios, eu não acho que ele possa ser super optimizado facilmente. Podemos variar o número de entradas e atrasos para as entradas. É possível superestimar isso, mas não é provável que aconteça. E, claro, podemos tentar diferentes indicadores. Sinais FOREX precisos: como otimizar Como já foi mencionado, se começarmos a tentar todas as combinações possíveis, isso levará uma eternidade. Então, vamos enganar. Vamos criar conjuntos de parâmetros pré-definidos, que pensamos serem razoáveis, e passá-los para o programa. Para fazer o menor número possível de cálculos, note-se que o Clv-1 e o Clv-2 são, provavelmente, importantes, mas o que acontece com o Clv-128 E - se já possuímos o Clv-128, precisamos do Clv-129? Provavelmente, não. Então, vamos ter algo como Clv-1, Clv-2, Clv-4, Clv-8. Clv-128 com apenas algumas variações, o que tornará o nosso tempo de cálculo mais vezes menor. FOREX Negociação de sistema profissional: pode funcionar em tudo o que é exatamente o que queremos prever. Até este ponto, usamos um gráfico de 1 hora para o EURUSD, e estávamos pregando os próximos bares do CLV. Será que o CLV2 será melhor? O que há no CLV3 Além disso, especialmente considerando o mau desempenho do nosso primeiro sistema comercial, seria bom saber que, pelo menos no mundo ideal, o objetivo (negociação rentável) pode ser alcançado. Para responder a essas perguntas, vamos criar um programa de teste simples. Nós assumimos que nossa previsão é 100 precisa e, com base nessa suposição, usaremos o CLVN, e não o NN previsto. Isso é certo - vamos tirar dados do futuro e usá-los em vez da previsão NN. Esta abordagem não funcionaria na vida real, é claro, mas em leats, isso nos dará algumas idéias sobre o que esperar. Ao analisar os resultados, lembre-se de que não estamos usando qualquer gerenciamento de dinheiro avançado, nosso tamanho de lote é definido como um mínimo de 100. Se você usar tamanhos de lote variáveis, os resultados serão dramaticamente diferentes. Mas, mesmo em um tamanho muito definido para 0.1, podemos ver (abaixo) que obter a informação do futuro é um comerciante de holly graal. Forexnn02.tsc, parte 1 Você já conhece esse código, ele foi usado em FOREXNN01.TSC. Ele lida com o carregamento de dados. A única diferença é na parte que obtém a lista de arquivos no diretório de imagens e exclui todos os arquivos com a extensão. PNG. A razão para este código é simples: durante nossos testes, vamos criar muitos - podem ser, milhares - arquivos de imagem. Nós não queremos que eles se deslocassem depois que terminarmos. Então, no início do script, estamos excluindo imagens, criadas por outros scripts. Forexnn02.tsc, parte 2 Apenas alguns comentários. Não queremos tentar todos os valores possíveis para, por exemplo, o intervalo CLV. Em vez disso, podemos criar uma matriz, que contém apenas valores que queremos testar. Então (veja abaixo) iremos atravessar essa matriz. Parar perdas são parte importante de qualquer estratégia de negociação, então eu decidi também alterá-las. É uma idéia perigosa, no entanto, como é fácil superestimar o sistema. Estou planejando testar diferentes valores para comprar e vender níveis, mas será feito em ciclo, sem usar arrays. Ao contrário do nosso exemplo anterior, queremos ter um grande arquivo XML, contendo muitas imagens. Para fazê-lo, movi o código, que está formando o cabeçalho e o rodapé XML fora da função Gráfico. Leia um dos tutoriais XML online para obter detalhes. Note-se que estou usando 0 como o primeiro atraso, o que significa que primeiro estou testando o indicador (CLV) que não foi deslocado do futuro. Apenas para ter uma idéia, o quão bom seria o sistema comercial sem NN (horrível, é a palavra certa. Está perdendo todo o dinheiro). Cortex usa o controle do Internet Explorer para exibir páginas XML. Quando as páginas crescem, é preciso muita memória. Se o seu computador não puder lidar com isso, considere criar várias páginas XML ou HTML, em vez disso. No caso de forexnn02, não deve ser um problema, já que a página é relativamente curta. Alternativamente (é o que estou fazendo nos scripts mais adiante neste texto), crie um arquivo XML, mas não o abra do Cortex. Abra-os usando o Internet Explorer em vez disso - ao contrário do controle do IE, o Internet Explorer não tem o problema de memória. Agora, o código que está tentando diferentes combinações de parâmetros. Forexnn02.tsc, parte 3 Aqui, estamos usando ciclos aninhados. Em cada ciclo, estamos assidindo alguma variável (por exemplo, nInterval para o ciclo externo). Desta forma, o ciclo irá atribuir valores de todos os elementos de uma matriz correspondente, uma de cada vez. Então, DENTRO dele, o ciclo interno é usado, e assim por diante, para que todas as combinações de todos os elementos da matriz sejam testadas. No ciclo mais íntimo, eu estou chamando a função Test (), para testar comércio e Chart () para adicionar uma nova imagem a uma lista de imagens salvas no disco. Observe que este gráfico () não mostra nenhuma imagem, até que todos os ciclos sejam concluídos. As funções Test () e CreateClv () são quase iguais às do exemplo anterior. A única diferença real deve-se ao fato de que é chamado mais de uma vez. Para fazê-lo, liguei para ARRAYREMOVE para arrumações de limpeza. Além disso, observe que estamos apenas criando gráficos para as combinações de parâmetros, que produzem sistema de negociação com lucro positivo. Caso contrário, chamamos continue, para ignorar a função Chart (). Finalmente, temos Take Profit agora, então nosso sistema comercial pode ser um pouco mais flexível. Forexnn02.tsc, parte 4 A função Chart () foi dividida em duas partes. The header and the footer should be written to the XML file only once, so they were moved to the main part of the program. Also, I am using the counter, to save files under the different names. The information about parameters is written to the header of an image, so we can easily see which one it is. Finally, images are only saved for winning configurations, meaning the balance at the end should be more, then at the beginning. forexnn02.tsc, part 5 Run the program (it will take some time to complete). You will end up with a large XML page with images, one for each winning configuration. Some of the results are great, however, as we used data from the future, this system will not work in the real life. Actually, if you look at the Test() function, you will notice, that the cycle stops before we reach the last element of arrClose: for(nBar nRemoveFirst 1 nBar THIS IS C, just an example. As you can see, the code is really simple. Now lets do the same using the SLANG script. As in examples before, we will keep the overall structure of the code, so that this example looks familiar. The only difference is that instead of using the built-in APPLYNN function, we call the function of our own. The code that we do not use (such as cycles) is commented, but not removed. Note, that the logic behind it was discussed in Neural Networks and Stock Forex Trading article already. Briefly, the output of this script is formated to be compatible with the MQL, MetaTraders scripting engine. MetaTrader is a trading platform we use, if you want something different, like TradeStation, for example, you will have to alter the code to comply to its syntax. Then, in the following chapters, we are going to inse rt this code in the MetaTraders indicator, and to use it to trade. Porting script to trading platform The next step is not really required, but it is something, that may be useful. We are going to create a version of a tsc file (one above), but this time, we will use SLANG (Cortex scripting language) to emulate APPLYNN function. The reason is, in the next chapter we are going to port it to the scripting language of a MetaTrader trading platform, so it is a good idea to make sure everything works. After we run this function, we discover, that the result it produces is the same, as the forexnn05a produced, which means the code works fine. Note, that there is a difference at the beginning of the charts, as our NN does not try to process the data at the beginning (where lag is incomplete), while the built-in NN does not know about this problem. Of course, it doesnt affect the result, as the beginning of the chart is ignored by using the nRemoveFirst parameter in our script (set to 200, which is guaranteed to be larger, then our lag). Using third-party trading platform We have the NN that (more or less) can be used. We have the script, implementing this NN without calls to the Cortex-specific NN functions. Now we are going to port it to the trading platform that can be used for the real trading, which means it can contact brocker, place orders and earn (or loose) money. As a trading platform, I am going to use MetaTrader Disclaimer: I am not related to MetaQuotes in any way. I do not work for them, I am not their affiliate and so on. Eu uso MetaTrader, SOMENTE porque gosto disso. I find this program user-friendly, flexible and powerful, and not a monster. Also, it is free (compare to other packages of this class). The only (minor) problem is that it is not always easy to find the dealer using MT in your area. Then, when you do a research, you may find couple of brockers, with screenshots on their web sites, that look suspiciously familiar. Yes, they use MetaTrader, but they dont call it MetaTrader I have asked for clarification at the companys forum, and they have told me, that they dont reveal brockers using their services. Very strange. One of the brockers that is not hiding the fact they use MT, is Alpari. They will allow you to open a Demo account, so that you can trade in a real time, but without risking your money. Warning I am not going to recommeng services of Alpari. Once again, I am not being paid for that. Try their Demo account, and use your own judgement. Or you can start your own research at Internet forums. Finally, if you do not like the MT, you can probably follow the example below using TS, MS or some other trading platform. This is just an example. Our MT-based trading system will include two files, the indicator and an expert. This is the way they call it in MQL (scripting language of MT), and I am going to follow this naming convention. The indicator implements the neural network and draws a chart. An expert takes these data and does trading. As MetaTrader has a strategy tester, we will be able to test our strategy, to see how good it is. I will assume, that you are familiar with MQL programming, it is quite close to SLANG and tutorials can be found both at MetaQuotes and Alpari. Finally, I am using the code structure, that is borrowed from MetaQuotes forum, permission to use it the author of the corresponding posts had granted me permission to use fragments of his code. Also, as some of our MetaTrader code is the same for all experts and indicators, we moved it to a separate library file. MetaTraders libraries are nothing but includable files. This library takes care of synhronization, when two or more expert are trying to run in the same time, as well as of few other things. If you use MetaTrader, it will help you to create robust experts, in any case, the MQL language is easy to understand. mylib. mql, a helper library The code should look familiar, all I did was re-writing it, using slightly different language syntax of MQL. This indicator has two buffers, and draws two lines, one for the original NOC, and one for the NN-predicted NOC. For trading, you dont have to draw both indicator lines, of course (see MQL tutorials to learn how to do it), but I have decided to show them together, so you can compare. Another difference, that you should know about, is the way MT performs testing. It may, in some cases, be more accurate, then one we did (we did the worse case scenario). Of course, you can always to change the SLANG script from the examples above, to implement any logic you want. The result of our testing in MT is a bit better, then in Cortex, due to all these reasons. Keep in mind, that MT calculates the DD in a different way. I still think, that my way is better. In should be especially noted, that no additional optimization had been performed using MetaTraders optimizer. We have just plugged our MTS (mechanical trading system) in, and it worked as expected. É isso. You can now create Cortex Neural Network, optimize it to do trading, and to port it to the trading platform of your choice. Download Cortex Order Cortex View Price List A visibilidade é muito importante para este site. If you like it please link to this URLSnowCron Self-Organizing Maps Using Self-Organizing Map to create Neural Network Trading System. FOREX Technical Analysis with Auto Classification Kohonen Neural Network. Neural Network Trading with Kohonen Neural Network. In this free online tutorial you will find the full cycle of using Cortex built-in Self Organizing Maps (SOM, kohonen neural networks) for Forex trading (or stock trading, the idea is the same). You will learn how to choose inputs for the Self Organizing Maps . and how to decide what to do with the output. You will find an example of a ready to use script that allows to perform optimization of both the Self Organizing Maps (number of neurons) and the trading parameters (stop loss etc.) Finally (the part that is not present in most tutorials), you will learn what to do next. After all, Cortex Neural Networks Software cannot do real time trading, you need to use something like Trade Station, MetaStocks or MetaTrader. How to port the Self Organizing Maps based forex trading strategy from Cortex to your favorite trading platform Do you have to deal with DLLs, ActiveX controls and low-level programming The answer is NO. Cortex comes with the easy to use feature that allows you to easily port the resulting (trained) Self Organizing Maps to the scripting language of your trading platform. No DLLs, DDE, ActiveX or any other low-level solutions - everything is plain and simple. Important note: this is NOT a how to trade tutorial. Instead, it tells you how to use Cortex, but you still need to invent your own trading system. The one we use here is barely a starting point, and shouldnt be used for Forex trading as is. The idea of this text is to teach you to create Self Organizing Maps - based forex trading strategy and to port them to the trading platform of your choice. The example is, however, ovesimplified, and can only be used as the illustration of trading principles. Same way, the MACD trading system, that can be found in many tutorials, is not working well anymore (as markets have changed), but still is a good example of using indicators for mechanical trading. In two words: do your own analysis. Another important note: the tutorial is using examples, lots of them. To make your life easier, I have included them all, not just fragments. However it makes the text much longer. Also, I am going from the very first, clumsy, trading systems, to more advanced, every time explaining what had been improved and why. Be patient, or jump directly to the section you need. Final important note: the code is not something carved in stone, it could change while this text was written. The final versions of script files are included in Cortex Neural Networks Software archive. Clustering Data: Simple test First of all, lets try a straightforward approach - lets feed our Self Organizing Map with sequence of 0 and 1. This should give us two clusters, that is easy to distinguish visually: As we can see, Self Organizing Maps can easily handle this task, creating two clasters: When we plot data and winner neurons, we can see, that the system works well - 0 and 1 are clearly separated. Clustering Map: Visualizing results The approach we used in the previous example is quite clumsy - we plotted numbers of winner neurons. This is not very informative, and if we want to use this information, for example, as an input of neural networks software - not very useful. The reason is - the number of a neuron is within a 0 - size of a matrix range, and Neural Network will have to figure out a complex relation between it and a cluster neuron belongs to. Also, on a chart, it will give us a non-obvious line. In a SOM, we can uniquely identify a neuron by its coordinates (X, Y) and a signal it produces - by adding a Z - coordinate. Also, a color in a computer graphics is usually represented by (Red, Green, Blue) vector, so here is a trick: lets ask our system to produce not the neuron numbers, but the corresponding colors. We use the following formulas in C language: Lets walk through the code, this time, we are going to use a SIN(X) function. As you can see, classifying patterns in SIN(x) is done fine. Also, on a smooth colors chart, it is easy to see, that colors are properly assigned to similar trend parts of a chart. Forex Signals: Using real quotes Now, lets use real quotes and see if our self-organizing map will be able to handle them same way it handled SIN(x). As you can see from the chart, the SOM worked, but. The classification is not very useful. The problem is, as one would expect, in the fact, that the chart (CLOSE quotes for EURUSD) is going up, so the same pattern at the beginning of a chart and at its end is considered (by self-organizing map ) as two completely different patterns. Forex Trading Strategy: Using NOC indicator NOC (Normalize On Condition) indicator was created and used in one of the previous articles to handle the requirement of the NN - it need normalized data to work. We are going to use NOC with self-organizing map to classify trends of the CLOSE quotes. Nota. that I personally DO NOT think that NOC is a perfect indicator to be used with SOM. Some kind of a claster indicator, showing money flow between different currencies, will most likely do a much better job. So please, consider this as an example, and build your own trading system. To crash test our system, you can use eurusdh1long. txt quotes file, that is included in the Cortex archive, together with the shorter eurusdh1.txt. When you use it (by replacing the short one in the code), you can see our systems behaviour in the out of sample test, on the data, it never seen. In that test, NOC does not fail, but does not shine either. Also, we use cycles to find nicer parameters. Above is a small fragment of a resulting chart. Note, that it is very hard to say what use can we have for this type of a classification, but a) maybe, FFBP Neural Network can make sence out of it and b) it is just an example. We can also use daily charts. Below is the nearly identical code for MSFT stock price. FOREX Trading Strategy without Kohonen SOM With the chart we got in the chapter above, it is hard to create a forex trading system system. There is a classification, all right. But it does not look like trend up - green, trent down - red. So lets use a FFBP neural network to mak sence out of it. To make it better, lets use both Self-Organizing Map output and NOC as FFBP NN inputs. We are going to use the script from the article about Neural Networks FOREX Trading. that, I assume, you have already read. First, lets run the original, SOM-free, script again and find the optimal set of NN parameters. Here, we can choose a winner. Note, that beating the market is not our goal here, what we want to do, is to take more-or-less working FFBP system and to see, if its performance can be improved by supplying additional inputs from SOM. Trades: 27(Buy: 27, Sell :0) NocInterval: 12, Range: 0.004, Ma: 3 Lag: 2, Neurons: 5 Stop: 0.0200, Tp: 0.0000, Stop increase: 0.600000, Buy: 0.170, Sell: 0.900 Drawdown: 0.299 Profit: 6174.000000 (long: 6174.000000, short: 0.000000) This chart looks good enough. In the next chapter we are going to use Self-Organizing Map output in addition to NOC. Using Kohonen Neural Network and FFBP Neural Network together We are going to remove cycles from the previous example, and to add a Self-Organizing Map to it. The Kohonen SOM was created by som04.tsc, note, that you need to run that script first. So, first of all, run som04.tsc and rename the resulting Self-Organizing Map to som04winner. kh. The following script uses the existing Kohonen SOM and tries to find optimal parameters for FFBP NN that uses its output as an input, in addition to NOC. Trades: 29(Buy: 29, Sell :0) NocInterval: 12, Range: 0.000, Ma: 3 Lag: 2, Neurons: 7 Stop: 0.0200, Tp: 0.0000, Stop increase: 0.500000, Buy: 0.140, Sell: 0.900 Drawdown: 0.557 Profit: 6677.000000 (long: 6677.000000, short: 0.000000) As you can see, at least one chart is better, than it was without SOM, though AGAIN, this is just an example, and for a real trading system, NOC is, most likely, NOT the best choice of input for Kohonen SOM (it is very good for FFBP NN, however). Removing cycles from FFBP Neural Network Trading System Now, lets port our trading system to a real trading platform. After all, Cortex Neural Networks Software cannot do online trading, so we need to use MetaTrader, TradStation or something else. We are going to create a script for MetaTrader expert here, that uses both our FFBP NN and SOM. We do it in two steps. First, we are going to repeat the steps from Neural Networks FOREX trading article, for our winner FFBP. Then we add SOM. To do it, we remove cycles from the som05.tsc code, it leaves us with a code, that uses a single winning NN. Then we add code to this script, to PRINT weights of neurons. We format this output, to make it comply with MetaTraders (or other trading platform, it is up to you) syntax. As the result, we have a large array with NN weights, that we can paste into the expertindicator code of a trading platform of your choice. For now, lets remove all unnecessary cycles from som5.tsc, so that we have the script, that works with a winner NN. As we use existng winning NN, we need to get it somewhere. The Cortex comes with som05winner1.nn (created in som05.tsc and then renamed). Note, that the code still has cycles - just to be as familiar as possible - but these cycles are only done once. Also, some parameters for the Noc and network are hardcoded: som06.tsc, FFBP, no SOM yet Exporting weights of the Neural Networks The next step is to export weights of the Neural Network to the scripting language of a trading platform of our choice. Here we are just repeating the Neural Networks Forex Trading. To do it, we add couple of PRINT statements to the som06.tsc, and it will produce the necessary output. Simply insert the following code in the som06.tsc: Note, that the logic behind it was discussed in Neural Networks Forex Trading article already. Briefly, the output of this script is formated to be compatible with the MQ4, MetaTraders scripting engine. MetaTrader is a trading platform we use, if you want something different, like TradeStation, for example, you will have to alter the code to comply to its syntax. Then, in the following chapters, we are going to insert this code in the MetaTraders indicator, and to use it to trade. Emulating APPLYNN The next step is not really required, but it is something, that may be useful to find and fix bugs in code. We are going to create a version of som06.tsc, but this time, we will use SLANG (Cortex built-in scripting language ) to emulate APPLYNN function. The reason is, in the next chapter we are going to port it to the scripting language of a MetaTrader trading platform, so it is a good idea to make sure everything works. Porting FFBP Neural Network to trading platform The following code is taken from Neural Networks Forex Trading article. It is a ready to be used pair of indicator and an expert, that uses that indicator. No kohonen neural network code yet. As usual, please keep in mind, that it is just an example, that is not necessarily going to always be profitable. Also, as some of our MetaTrader code is the same for all experts and indicators, we moved it to a separate library file. MetaTraders libraries are nothing but includable files. This library takes care of synhronization, when two or more expert are trying to run in the same time, as well as of few other things. If you use MetaTrader, it will help you to create robust experts, in any case, the MQL language is easy to understand. mylib. mql, a helper library Kohonen Neural Network FFBP Neural Network, no cycles We are done with a forex trading system that uses FFBP networks only. Now we are going to do the same work with a forex trading strategy . that uses FFBP and Kohonen SOM together. First of all, lets take som07.tsc again, and run it, in order to pick the best FFBP network. Note, that the Kohonen clustering map for this script was created earlier (in som04), and stored as som07winer. kh, so we do not have to recreate it. Trades: 52(Buy: 52, Sell :0) NocInterval: 12, Range: 0.004, Ma: 3 Lag: 2, Neurons: 3 Stop: 0.0200, Tp: 0.0000, Stop increase: 0.600000, Buy: 0.170, Sell: 0.900 Drawdown: 0.981 Profit: 6820.000000 (long: 6820.000000, short: 0.000000) Then, lets remove cycles from som07.tsc, to get the script we are going to port: Exporting weights of the Self-Organizing Map Lets add the code to print Neural Network parameters, both for FFBP Neural Network and for self-organizing map . We do it by adding the following to som10.tsc: Emulating APPLYSOM function The next step is to add the code, that emulates apply function, using generic scripting language instead of Cortex-specific calls. As we already have this code for FFBP NN, lets focus on SOM only. Porting Self-Organizing Map forex trading system based to MT The final step is to port our script to MetaTrader, so that it can be used for real trading. We are going to use the same expert as in the FFBP only example above, however, the indicator will contain both FFBP and SOM code. Note, that in addition, mylib. mq4 is used, its code is the same as in FFBP only example. The indicators code was created based on FFBP only example, by adding the SOM code, ported from som12.tsc: Final notes That is it. You can now create Cortex Neural Network Software script, that takes SOM output as its inputs, among other inputs, optimize it to do trading, and to port it to the trading platform of your choice. Note, that this is not your only option - you can use this approach, for example, to create FFBP NN that uses more than one indicator plus another FFBP NN output as its input, and so on. Download Cortex Order Cortex View Price List A visibilidade é muito importante para este site. Se você gosta, por favor, faça o link para este URL
Комментариев нет:
Отправить комментарий