Algoritmo forex system


8 Tipos de Estratégias Algoritmicas de Forex.


Como prometido, aqui está a próxima parte da minha série em sistemas de negociação forex algorítmica. Certifique-se de verificar a primeira parte sobre o que você precisa saber sobre a Algo FX Trading antes de ler!


Essa abordagem comercial geralmente atrai aqueles que procuram eliminar ou reduzir a interferência emocional humana na tomada de decisões comerciais. Afinal, os sinais de compra ou venda podem ser gerados usando um conjunto programado de instruções e podem ser executados diretamente na sua plataforma de negociação.


"Amazeballs! Aqui está o meu dinheiro! Onde eu assino?"


Segure seus cavalos, jovem padawan! Coloque seu dinheiro suado de volta em sua carteira e gaste um pouco mais de tempo comprando a negociação algorítmica primeiro. Para começar, vamos dar uma olhada nas diferentes classificações desta abordagem comercial.


Estratégias de negociação algorítmica.


Existem oito tipos principais de negociação de algoritmos com base nas estratégias utilizadas. Bonita demais, hein? Claro que você pode misturar e combinar essas estratégias também, o que produz muitas combinações possíveis.


Uma das estratégias mais simples é simplesmente seguir as tendências do mercado, com ordens de compra ou venda geradas com base em um conjunto de condições cumpridas por indicadores técnicos. Esta estratégia também pode comparar os dados históricos e atuais para prever se as tendências provavelmente continuarão ou reverterão.


Outro tipo básico de estratégia de negociação é o sistema de reversão médio, que opera sob o pressuposto de que os mercados variam 80% do tempo. Caixas pretas que empregam esta estratégia tipicamente calculam um preço médio de ativos usando dados históricos e levam negócios em antecipação ao preço atual retornando ao preço médio.


Já tentou trocar as novidades? Bem, essa estratégia pode fazer isso por você! Um sistema de negociação algorítmica baseado em notícias é geralmente ligado a fios de notícias, gerando automaticamente sinais de negociação, dependendo de como os dados reais acabam sendo comparados ao consenso de mercado ou aos dados anteriores.


Como você aprendeu na nossa lição da Escola sobre o sentimento do mercado, o posicionamento comercial e não comercial também pode ser usado para identificar os tops e os fundos do mercado. Estratégias Forex relacionadas com o sentimento do mercado podem envolver o uso do relatório COT ou de um sistema que detecta posições nítidas de curto ou longo prazo. Abordagens mais modernas também são capazes de escanear redes de mídia social para avaliar os viés de moeda.


Agora aqui é onde fica um pouco mais complicado do que o habitual. Fazer uso da arbitragem em negociações algorítmicas significa que o sistema caça por desequilíbrios de preços em diferentes mercados e faz lucro com esses. Como as diferenças de preço do forex geralmente estão em micropips, você precisaria trocar posições realmente grandes para obter lucros consideráveis. A arbitragem triangular, que envolve dois pares de moedas e uma moeda cruzada entre os dois, também é uma estratégia popular sob essa classificação.


Como o nome sugere, esse tipo de sistema comercial opera a velocidades rápidas, executando sinais de compra ou venda e negociações de fechamento em questão de milissegundos. Estes tipicamente usam estratégias de arbitragem ou scalping com base em flutuações rápidas de preços e envolvem altos volumes de negociação.


Esta é uma estratégia empregada por grandes instituições financeiras que são muito segredos sobre seus cargos forex. Em vez de colocar uma enorme posição longa ou curta com apenas um corretor, eles dividem seu comércio em posições menores e executá-los sob diferentes corretores. Seu algoritmo pode até permitir que essas ordens comerciais menores sejam colocadas em momentos diferentes para evitar que outros participantes do mercado descobrissem! Desta forma, as instituições financeiras podem executar negócios em condições normais de mercado sem flutuações repentinas de preços. Os comerciantes de varejo que acompanham os volumes de negociação podem ver apenas a "ponta do iceberg" quando se trata desses grandes negócios.


Se você acha que o iceberg é sneaky, então a estratégia furtiva é ainda mais furiosa! Iceberging tem sido uma prática tão comum nos últimos anos que os observadores do mercado hardcore foram capazes de hackear essa idéia e criar um algoritmo para juntar essas ordens menores e descobrir se um grande participante do mercado está por trás de tudo isso.


Como você provavelmente adivinhou, é preciso um histórico sólido na análise de mercado financeiro e na programação de computadores para poder projetar algoritmos de negociação tão sofisticados. Analistas quantitativos ou quants são normalmente treinados em C ++, C # ou programação Java antes que eles sejam capazes de criar sistemas de negociação algorítmica.


Não permita que isso o desencoraje! Os primeiros três ou quatro tipos de estratégias de negociação algorítmica já devem ser muito familiares para você, se você estiver negociando há algum tempo ou se você fosse um aluno diligente em nossa Escola de Pipsologia.


Fique atento para a próxima parte desta série, já que eu planejo deixar você entrar nos últimos desenvolvimentos e no futuro da negociação FX algorítmica. Até a próxima semana!


Ocupe-se vivendo ou ocupe-se morrendo. Stephen King.


O BabyPips ajuda os comerciantes individuais a aprender como negociar o mercado cambial.


Apresentamos as pessoas ao mundo do comércio de moeda e fornecemos conteúdos educacionais para ajudá-los a aprender a se tornarem comerciantes rentáveis. Também somos uma comunidade de traders que apoiam uns aos outros em nossa jornada diária de negociação.


Algorithmic Trading System Design & amp; Implementação.


AlgorithmicTrading é um desenvolvedor de sistema de negociação de terceiros especializado em sistemas automatizados de negociação, estratégias de negociação algorítmica e análise de negociação quantitativa. Oferecemos dois algoritmos de negociação distintos para comerciantes de varejo e investidores profissionais.


Assista ao nosso blog de vídeo algorítmico em que nosso principal desenvolvedor analisa o desempenho a partir de 6/10/17 & ndash; 8/8/17 usando nosso sistema de negociação automatizado. Visite nosso Blog Algorithmic Trading para ver todos os vídeos de desempenho de 2016-2018 no acumulado do ano. Os futuros e opções de negociação envolvem risco substancial de perda e não são adequados para todos os investidores.


Comece hoje mesmo na negociação algorítmica.


Os Destaques do Swing Trader.


Nossa Swing Trading Strategy negocia o S & P 500 Emini Futures (ES) e o Ten Year Note (TY). Este é um sistema de negociação 100% automatizado que pode ser executado automaticamente com os melhores esforços por vários Corretores Registrados da NFA. Também pode ser instalado e carregado na plataforma Tradestation. Os seguintes dados cobrem o período de avanço (fora da amostra) que abrange 10/1 / 15-1 / 4/18. A negociação de futuros envolve risco substancial de perda e não é apropriada para todos os investidores. O desempenho passado não é indicativo de desempenho futuro. Esses dados presumem que 1 unidade (US $ 15.000) foi negociada durante todo o período em análise (non-compounded).


* Perdas podem exceder o rebaixamento máximo. Isso é medido de um ponto para o outro, fechando o comércio para fechar o comércio. O desempenho passado não é indicativo de desempenho futuro.


O Swing Trader Monthly P / L.


As negociações que começam em outubro de 2015 são consideradas Walk-Forward / Out-of-Sample, enquanto os negócios anteriores a outubro de 2015 são considerados testados novamente. O lucro / perda dado é baseado em uma conta de US $ 15.000 que vende uma unidade no Swing Trader. Esses dados não são compostos.


* Perdas podem exceder o rebaixamento máximo. Isso é medido de um ponto para o outro, fechando o comércio para fechar o comércio. O desempenho passado não é indicativo de desempenho futuro.


CFTC REGRA 4.41: Os resultados são baseados em resultados de desempenho simulados ou hipotéticos que possuem certas limitações inerentes. Ao contrário dos resultados apresentados em um registro de desempenho real, esses resultados não representam a negociação real. Além disso, como esses negócios não foram efetivamente executados, esses resultados podem ter uma compensação maior ou menor pelo impacto, se houver, de alguns fatores de mercado, como a falta de liquidez. Programas de negociação simulados ou hipotéticos em geral também estão sujeitos ao fato de serem projetados com o benefício de retrospectiva. Não está sendo feita nenhuma representação de que qualquer conta terá ou poderá obter lucros ou perdas similares a essas demonstrações.


Noções básicas de negociação algorítmica.


Algorithmic Trading, também conhecido como Quant Trading é um estilo de negociação que utiliza algoritmos de previsão de mercado para encontrar negociações potenciais. Existem várias subcategorias de negociação quantitativa para incluir High Frequency Trading (HFT), Arbitragem Estatística e Análise de Predição de Mercado. Na AlgorithmicTrading, nós nos concentramos no desenvolvimento de sistemas de negociação automatizados que fazem negócios de swing, dia e opções para aproveitar as ineficiências do mercado.


Atualmente, estamos oferecendo dois sistemas de negociação de futuros que negociam o ES & amp; Futuros de TY. Continue lendo para ver por si mesmo como implementar um sistema de negociação de algo projetado profissionalmente pode ser benéfico para suas metas de investimento. Nós não somos consultores de negociação de commodities registrados e, portanto, não controlamos diretamente contas de clientes e ndash; no entanto, negociamos ambos os sistemas de negociação com nosso próprio capital, utilizando um dos corretores de execução de negociação automatizada.


Exemplo de negociação algorítmica.


Estratégia de negociação de futuros: o pacote Swing Trader.


Este pacote utiliza nossos algoritmos de melhor desempenho desde o início. Visite a página do negociante de swing para ver os preços, as estatísticas de comércio, a lista de comércio completo e muito mais. Este pacote é ideal para o cético que deseja negociar um sistema robusto que tenha se saído bem em negociações cegas para fora e para fora da amostra. Cansado de modelos otimistas back-testados que nunca parecem funcionar quando comercializados ao vivo? Em caso afirmativo, considere este sistema comercial de caixa preta. Este é o nosso algoritmo de negociação mais popular para venda.


Detalhes no Swing Trader System.


Futuros & amp; Estratégia de negociação de opções: o pacote S & amp; P Crusher v2.


Este pacote utiliza sete estratégias de negociação na tentativa de diversificar melhor sua conta. Este pacote utiliza comércios de swing, day trades, condutores de ferro e chamadas cobertas para tirar proveito de várias condições de mercado. Este pacote é negociado em unidades de tamanho de US $ 30.000 e foi lançado ao público em outubro de 2016. Visite a página do produto S & P Crusher para ver os resultados do back-test com base nos relatórios de comercialização.


Detalhes no triturador S & P.


Cobrindo os fundamentos do design do sistema de negociação automatizado.


Múltiplos Sistemas de Negociação Algorítmica Disponíveis.


Escolha de um dos nossos sistemas de negociação & ndash; O Swing Trader ou o S & amp; P Crusher. Cada página mostra a lista de comércio completo, incluindo otimização de postagem, resultados avançados. Esses sistemas de negociação informatizados de caixa preta são totalmente automatizados para gerar alfa ao tentar minimizar o risco.


Algoritmos de negociação múltipla trabalhando juntos.


Nossa metodologia de negociação quântica nos emprega várias estratégias de negociação de algoritmos para diversificar melhor sua conta de negociação automática. Saiba mais visitando nossa página de metodologia de design de estratégias de negociação.


Trades During Bear & amp; Bull Markets.


Em nossa opinião, a chave para o desenvolvimento de um sistema de negociação algorítmico que realmente funciona, é dar conta de múltiplas condições de mercado. A qualquer momento, o mercado poderia passar de um touro para um mercado em baixa. Ao assumir uma posição agnóstica de direção do mercado, estamos tentando superar em Bull e amp; Condições do mercado de urso.


Sistemas de negociação totalmente automatizados.


Você pode negociar automaticamente nosso software algorítmico usando um corretor de auto-execução (com os melhores esforços). Temos vários corretores para você escolher. Remova decisões emocionais baseadas em sua negociação usando nosso sistema de negociação automatizado.


O Algorithmic Trading funciona?


Acompanhe o progresso diário de nossos algoritmos de negociação quantitativos com o aplicativo intermediário OEC. Você também receberá declarações diárias da firma de compensação registrada da NFA. Você pode comparar cada uma das suas negociações com a lista comercial que publicamos no final de cada dia. Os exemplos completos de negociação algorítmica são publicados para todos verem. A lista de comércio completo pode ser vista visitando a página de negociação algorítmica para o sistema que você está negociando. Quer ver algumas declarações de contas ativas? Visite os retornos ao vivo & amp; página de declarações.


Múltiplas Estratégias de Negociação Quant.


Nossos sistemas de negociação quantitativos têm diferentes expectativas com base nos algoritmos preditivos empregados. Nossos Sistemas Automatizados de Negociação colocam negociações swing, day trade, condors de ferro e amp; chamadas cobertas. Essas estratégias 100% Quant são baseadas puramente em indicadores técnicos e algoritmos de reconhecimento de padrões.


Nosso software de negociação automatizado ajuda a remover suas emoções da negociação.


Algoritmos de negociação múltiplos são negociados como parte de um maior sistema de negociação algorítmica.


Cada estratégia de negociação algorítmica oferecida possui vários pontos fortes e fracos. Seus pontos fortes e fracos são identificados com base em três estados de mercado potenciais: Strong Up, Sideways & amp; Down movendo mercados. A estratégia de negociação de condores de ferro supera os mercados em movimento lateral e ascendente, enquanto o algoritmo das notas de tesouro se sobressai nos mercados em baixa. Com base no backtesting, espera-se que o algoritmo de momentum tenha um bom desempenho durante os mercados em ascensão. Confira a seguinte coleção de vídeos, onde cada algoritmo de negociação oferecido é revisado por nosso desenvolvedor líder. Os pontos fortes de cada troco comercial são revisados ​​juntamente com os fracos daqueles.


Diversos tipos de estratégias de negociação são usados ​​em nosso software de negociação automatizado.


Comissões do dia são inseridas & amp; saiu no mesmo dia, enquanto as negociações de giro terão um longo prazo de negociação com base nas expectativas para o S & amp; P 500 a tendência de maior ou menor no prazo intermédio. As negociações de opções são colocadas nas opções S & P 500 Weekly em futuros, geralmente entrando em uma segunda-feira e mantendo até a expiração de sexta-feira.


Estratégias de negociação Swing.


As seguintes Estratégias de Negociação Swing colocam negociações de swing direcional no S & amp; P 500 Emini Futures (ES) e no Ten Year Note (TY). Eles são usados ​​em ambos os sistemas de negociação automatizados que oferecemos para aproveitar as tendências de longo prazo que nossos algoritmos de predição de mercado estão esperando.


Futures Swing Trading Strategy # 1: Momentum Swing Trading Algorithm.


A Momentum Swing Trading Strategy coloca os negócios do swing no Emini S & amp; P Futures, aproveitando as condições de mercado que sugerem um movimento de prazo intermediário mais alto. Este algoritmo de negociação é usado em ambos os nossos sistemas de negociação automatizados: O S & amp; P Crusher v2 & amp; O comerciante do balanço.


Futures Swing Trading Strategy # 2: Algoritmo de dez anos de Tesouro.


A Estratégia de Negociação do Tesouro (TY) coloca negociações de swing na Nota de dez anos (TY). Uma vez que o TY normalmente se move inverso para os mercados mais amplos, esta estratégia cria um comércio de swing que é semelhante ao curto-circuito do S & amp; P 500. Este T-Note algo tem expectativas positivas para condições de mercado em baixa. Este algoritmo de negociação é usado em ambos os nossos sistemas de negociação automatizados: O S & amp; P Crusher v2 & amp; O comerciante do balanço.


Estratégias de negociação diária.


As estratégias de negociação do dia seguinte colocam o day trade no S & amp; P 500 Emini Futures (ES). Eles quase sempre entram em negociações durante os primeiros 20 minutos após a abertura dos mercados de ações e saem antes do fechamento dos mercados. Paradas apertadas são utilizadas em todos os momentos.


Estratégia de Negociação do Dia de Futuros # 1: Algoritmo de Negociação de Dia.


A Estratégia de Negociação de Curto Prazo coloca negociações diárias no Emini S & amp; P Futures quando o mercado mostra fraqueza pela manhã (prefere uma grande diferença). Esta estratégia de negociação é utilizada no sistema de negociação automatizado S & amp; P Crusher v2.


Estratégia de Negociação de Dia de Futuro # 2: Algoritmo de Negociação de Dia de Breakout.


A Breakout Day Trading Strategy coloca o day trade no Emini-S & P Futures quando o mercado mostra força pela manhã. Esta estratégia de negociação de futuros é utilizada no sistema de negociação automatizado S & amp; P Crusher v2.


Futures Day Trading Strategy # 3: Morning Gap Day Trading Algorithm.


A Estratégia de Negociação do Morning Gap Day coloca transações de dia curtas nos Emini S & amp; P Futures quando o mercado tem uma grande lacuna, seguido por um curto período de fraqueza. Esta estratégia de negociação é utilizada no sistema de negociação automatizado S & amp; P Crusher v2.


Estratégias de negociação de opções.


As seguintes estratégias de negociação de opções coletam premium nas opções semanais S & amp; P 500 Emini (ES). Eles são usados ​​em nosso S & amp; P Crusher v2, a fim de aproveitar as vantagens de lateralmente, para baixo & amp; up moving market conditions. Um benefício para as opções de negociação com nossas estratégias de negociação algorítmica é que elas são suportadas em um ambiente de negociação automatizado usando um dos corretores de execução automática.


Opções Trading Strategy # 1: Algoritmo de Condor Iron Condor.


A Estratégia de Negociação de Opções de Condor de Ferro é perfeita para o indivíduo que quer uma taxa de vitoria comercial mais vendida por devolução ou que simplesmente quer receber prémio no S & amp; P 500 Emini Futures vendendo Iron Condors. Quando nossos algoritmos esperam uma condição de mercado de derivação lateral ou ascendente, esse sistema criará uma operação de Condor de Ferro. Esta estratégia é usada em um dos nossos Sistemas Automatizados de Negociação: The S & amp; P Crusher v2.


Estratégia de Negociação de Opções # 2: Algoritmo de Opções de Chamadas Cobertas.


A Estratégia de Negociação de Opções de Chamada Coberta se vende de chamadas cobertas de dinheiro contra os algoritmos de momentum Long ES swing trades, para coletar premium e ajudar a minimizar as perdas se o mercado se mover contra nossa posição de algoritmo de momentum. Quando negociado com o Momentum Swing Trading Algorithm - como é o caso no S & amp; P Crusher & amp; amp; ES / TY Futures Trading Systems, isso cria uma posição de compra coberta. Quando negociados no Sistema de Negociação Bearish Trader, as chamadas são vendidas sem cobertura e, portanto, estão a descoberto. Em ambos os casos, & ndash; como um suporte ao longo do algoritmo & ndash; Ele funciona bem em condições de mercado de lado e para baixo. Esta estratégia é usada em um dos nossos Sistemas Automatizados de Negociação: The S & amp; P Crusher v2.


Embora cada uma dessas estratégias de negociação possa ser negociada isoladamente, elas são negociadas melhor em uma coleção mais ampla de algoritmos de negociação & ndash; como visto em um dos nossos sistemas automatizados de negociação, como o The Swing Trader.


Algoritmos de negociação que realmente funcionam?


Essa série de vídeos de negociação algorítmica é feita para que nossos clientes possam ver os detalhes de cada negociação semanalmente. Assista a cada um dos seguintes vídeos de negociação algorítmica para ver em tempo real o desempenho de nossos algoritmos de negociação. Sinta-se à vontade para visitar nossos Críticas de AlgorithmicTrading & amp; Página de imprensa para ver o que os outros estão falando sobre nós.


Inscrição na newsletter.


Obtenha atualizações de desempenho da AlgorithmicTrading juntando-se a nossa newsletter.


O que separa o comércio algorítmico de outras técnicas técnicas de negociação?


Nos dias de hoje, parece que todo mundo tem uma opinião sobre as técnicas de negociação técnica. Head & amp; Padrões de ombros, MACD Bullish Crosses, VWAP Divergences, a lista continua. Nesses vídeos, nosso engenheiro líder de projeto analisa alguns exemplos de estratégias de negociação encontradas on-line. Ele toma suas Dicas de negociação, codifica e executa um teste de back-back simples para ver o quão eficaz eles realmente são. Depois de analisar seus resultados iniciais, ele otimiza o código para ver se uma abordagem quantitativa à negociação pode melhorar as descobertas iniciais. Se você é novo na negociação algorítmica, esses blogs de vídeo serão bastante interessantes. Nosso designer utiliza máquinas de estado finito para codificar essas dicas básicas de negociação. Como o Algorithmic Trading é diferente do comércio técnico tradicional? Simplificando, Algorithmic Trading requer precisão e fornece uma janela para um potencial de algoritmos baseado em back-testing que possui limitações.


Procurando por Tutorial de Negociação Algorítmica Gratuita e amp; Como fazer vídeos?


Assista múltiplas apresentações de vídeo educacional por nosso designer principal em negociação algorítmica para incluir um vídeo que cobre nossa Metodologia de Design de Quant Trading e um Tutorial de Negociação Algorítmica. Esses vídeos de estratégia comercial fornecem exemplos de codificação de algoritmos de negociação e apresentamos a nossa abordagem de negociação de mercados usando análise quantitativa. Nesses vídeos, você verá muitas razões pelas quais a negociação automática está decolando para incluir ajudar a remover suas emoções da negociação. Visite nossa página de Vídeos de Comércio Educacional para ver uma lista completa de mídia educacional.


Comece a usar um dos nossos sistemas de negociação automatizada hoje.


Don & rsquo; T saudades. Junte-se aos que já estão negociando com AlgorithmicTrading. Comece hoje com um dos nossos pacotes de negociação algorítmica.


Várias opções de execução automática de comércio estão disponíveis.


Nossos algoritmos de negociação podem ser executados automaticamente usando um dos corretores de execução automática registrados pela NFA (com os melhores esforços) ou podem ser negociados em seu próprio PC usando MultiCharts ou Tradestation.


O FOX Group é uma empresa de corretagem independente que se encontra no icônico edifício da Câmara de Comércio de Chicago, no coração do distrito financeiro da cidade. Eles são registrados no NFA e são capazes de executar nossos algoritmos automaticamente com os melhores esforços.


Os corretores interativos são corretores registrados pela NFA que podem executar nossos algoritmos automaticamente com os melhores esforços. Além disso, eles suportam clientes canadenses.


Se você preferir executar os algoritmos em seu próprio PC, o MultiCharts é a plataforma preferida de software de negociação para execução automática. Oferece benefícios consideráveis ​​aos comerciantes e oferece vantagens significativas em relação às plataformas concorrentes. Ele vem com gráficos de alta definição, suporte a mais de 20 feeds de dados e mais de 10 corretores, backtesting dinâmico de estratégia em nível de portfólio, suporte a EasyLanguage, relatórios interativos de desempenho, otimização genética, scanner de mercado e replay de dados.


A TradeStation é mais conhecida pelo software de análise e pela plataforma de negociação eletrônica que oferece ao operador ativo e a determinados mercados de traders institucionais que permitem que os clientes projetem, testem, otimizem, monitorem e automatizem suas próprias ações, opções e opções personalizadas. estratégias de negociação de futuros. Tradestation é outra opção para pessoas que desejam negociar automaticamente nossos algoritmos em seu próprio PC.


SnowCron.


FREE E. Mail Classes.


Usando o Algoritmo Genético para criar Estratégia de Negociação FOREX lucrativa. Algoritmo Genético no Sistema de Redes Neurais do Cortex Feedforward Backpropagation Neural Network Aplicação para cálculos genéticos baseados em Forex trading.


Este exemplo usa conceitos e ideias do artigo anterior, então leia Algoritmo Genético de Rede Neural em Sistemas de Negociação FOREX primeiro, embora não seja obrigatório.


Sobre este texto.


Em primeiro lugar, leia o aviso legal. Este é um exemplo de usar a funcionalidade do algoritmo de algoritmo de algoritmo de redes nervosas Cortex, não um exemplo de como fazer negociação rentável. Eu não sou seu guru, nem eu devo ser responsável por suas perdas.


O software Cortex Neural Networks possui redes neurais, e a FFBP que discutimos antes é apenas uma maneira de escolher estratégias de negociação forex. É uma boa técnica, poderosa e quando aplicada corretamente, muito promissora. No entanto, tem um problema - para ensinar a Rede Neural, precisamos saber o "resultado desejado".


É bastante fácil fazer quando fazemos a aproximação da função, apenas pegamos o valor "real" de uma função, porque sabemos o que deveria ser.


Quando fazemos a previsão da rede neural, utilizamos a técnica (descrita em artigos anteriores) de ensinar a Rede Neural na história, novamente, se prevermos, digamos, uma taxa de câmbio, sabemos (durante a formação) qual é a previsão correta .


No entanto, quando estamos construindo um sistema comercial, não temos idéia de qual é a decisão de negociação correta, mesmo que conheçamos a taxa de câmbio! De fato, temos muitas estratégias de negociação forex que podemos usar a qualquer momento, e precisamos encontrar uma boa - como? O que devemos alimentar como o resultado desejado de nossa Rede Neural?


Se você seguiu nosso artigo anterior, você sabe que nos enganamos para lidar com esse problema. Ensinamos a Rede Neural a fazer uma previsão de taxa de câmbio (ou taxa de câmbio), e então usamos essa previsão para fazer negociação. Então, fora da parte da rede Neural do programa, tomamos uma decisão sobre a qual a Rede Neural é a melhor.


Os algoritmos genéticos podem lidar diretamente com este problema, eles podem resolver o problema afirmado como "encontrar os melhores sinais comerciais".


Neste artigo, vamos usar o software Cortex Neural Networks para criar um programa desse tipo.


Usando o Algoritmo Genético.


Algoritmos genéticos são muito bem desenvolvidos e muito diversos. Se você quer aprender tudo sobre eles, eu sugiro que você use Wikipedia, já que este artigo é apenas sobre o que o Cortex Neural Networks Software pode fazer.


Com o software Cortex Neural Networks, podemos criar uma Rede Neural que leve alguns dados, digamos, valores de um indicador, e produz algum resultado, digamos, sinais de negociação (comprar, vender, manter.) E parar a perda / tomar níveis de lucro para posições para ser aberto.


É claro que, se multiplicarmos os pesos dessa rede neural aleatoriamente, os resultados das negociações serão terríveis. No entanto, digamos que criamos uma dúzia de tais NNs. Então podemos testar o desempenho de cada um deles e escolher o melhor, o vencedor.


Esta foi a "primeira geração" dos NNs. Para continuar a segunda geração, precisamos permitir que nosso vencedor "procriar", mas para evitar a obtenção de cópias idênticas, vamos adicionar alguns números aleatórios aos pesos das descentinas.


Na segunda geração, temos o nosso vencedor da primeira geração e são cópias imperfeitas (mutadas). Vamos fazer testes novamente. Teremos outro vencedor, que é melhor do que qualquer outra rede neural na geração.


E assim por diante. Nós simplesmente permitimos que os vencedores criem, e eliminem os perdedores, assim como na evolução da vida real, e obteremos nossa Rede Neural de melhor negociação, sem nenhum conhecimento prévio do que o sistema de negociação (algoritmo genético) deveria ser.


Algoritmo Genético da Rede Neural: Exemplo 0.


Este é o primeiro exemplo de algoritmo genético, e muito simples. Nós vamos passar por ele passo a passo, para aprender todos os truques que os exemplos a seguir usarão.


O código tem comentários em linha, então vamos apenas nos concentrar nos momentos-chave.


Primeiro, criamos uma rede neural. É usar pesos aleatórios, e ainda não foi ensinado.


Então, no ciclo, fazemos 14 cópias, usando MUTATION_NN fumction. Esta função faz uma cópia de uma Rede Neural de origem, adicionando valores aleatórios de 0 para (no nosso caso) 0,1 para todos os pesos.


Mantivemos alças para 15 NNs resultantes em uma matriz, podemos fazê-lo, pois o identificador é apenas um número inteiro.


A razão pela qual usamos 15 NNs não tem nada a ver com a negociação: o software Cortex Neural Networks pode traçar até 15 linhas em um gráfico simultaneamente.


Podemos usar abordagens diferentes para o teste. Primeiro, podemos usar o conjunto de aprendizagem, tudo de uma vez. Segundo, podemos testar, digamos, 12.000 resordos (de 100.000) e percorrer o conjunto de aprendizado, do começo ao fim. Isso tornará o know-how diferente, pois buscaremos redes da Neural que sejam lucrativas em qualquer parte de dados, e não apenas em todo o conjunto. A segunda abordagem pode nos dar problemas, se os dados mudarem, do começo ao fim. Em seguida, a rede irá evoluir, obtendo capacidade de trocar no final do conjunto de dados e perdendo a capacidade de trocar no seu início.


Para resolver esse problema, vamos levar aleatoriamente 12.000 fragmentos de registros de dados e alimentá-lo para a Rede Neural.


Abaixo, adicionamos uma criança para cada rede, com pesos ligeiramente diferentes. Note que 0,1 para mutação tange não é a única escolha, na verdade, até mesmo este parâmetro pode ser otimizado usando algoritmo genético.


Os NNs recém-criados são adicionados após 15 existentes. Desta forma, temos 30 NNs em uma matriz, 15 antigos e 15 novos. Então, vamos fazer o próximo ciclo de testes e matar os perdedores das duas gerações.


Para fazer testes, aplicamos a Rede Neural aos nossos dados, para produzir saídas, e depois chamar a função Test, que usa essas saídas para simular a negociação. Os resultados da negociação são usados ​​para desidir, quais NNs são melhores.


Usamos um intervalo de registros nLearn, de nStart para nStart + nLearn, em que nStart é um ponto aleatório dentro do conjunto de aprendizado.


O código abaixo é um truque. A razão pela qual usamos é ilustrar o fato de que o algoritmo genético pode criar algoritmos genéticos, mas não será necessariamente o melhor e, também, sugerir que podemos melhorar o resultado, se implicarmos algumas limitações à aprendizagem processo.


É possível que nosso sistema de negociação funcione muito bem em operações longas e muito fraco em curto ou vice-versa. Se, digamos, os negócios longos são muito bons, esse algoritmo genético pode ganhar, mesmo com grandes perdas em transações curtas.


Para evitá-lo, atribuímos mais peso aos negócios longos em operações ímpares e curtas em ciclos pares. Este é apenas um exemplo, não há garantia, que irá melhorar alguma coisa. Mais sobre isso abaixo, em discussão sobre correções. Tecnicamente, você não precisa fazer isso, ou pode fazer diferente.


Adicione lucro a uma matriz ordenada. Ele retorna uma posição de inserção e, em seguida, usamos essa posição para adicionar o identificador da Rede Neural, aprendendo e testando os lucros para matrizes não ordenadas. Agora, temos dados para a Rede Neural atual no mesmo índice de matrizes que seu lucro.


A idéia é chegar a uma série de NNs, ordenados por rentabilidade. Como a matriz é classificada por lucro, para remover metade das redes, que são menos lucrativas, precisamos apenas remover NNs de 0 a 14.


As decisões de negociação são baseadas no valor do sinal da Rede Neural, a partir deste ponto de vista o programa é idêntico aos exemplos do artigo anterior.


FOREX Estratégia de Negociação: Discussing example 0.


Em primeiro lugar, vamos dar uma olhada nos gráficos. O primeiro gráfico de lucro durante a primeira iteração não é bom, como seria de esperar, a Rede Neural perde dinheiro (imagem evolution_00_gen_0.png copiada após a primeira iteração da pasta "imagens"):


A imagem para lucro no ciclo 15 é melhor, às vezes, o algoritmo genético pode aprender muito rápido:


No entanto, observe a saturação em uma curva de lucro.


É interessante também olhar para a forma como os lucros individuais mudam, tendo em mente, esse número de curva, digamos, 3 nem sempre é para a mesma Rede Neural, pois eles estão nascendo e terminaram o tempo todo:


Além disso, note que o pequeno sistema de negociação automatizado forex é pobre em transações curtas e muito melhor em longos, que pode ou não estar relacionado ao fato de que o dólar estava caindo em comparação com o euro durante esse período. Também pode ter algo a ver com parâmetros do nosso indicador (talvez, precisamos de um período diferente para shorts) ou a escolha de indicadores.


Aqui está a história depois de 92 e 248 ciclos:


Para nossa surpresa, o algoritmo genético falhou completamente. Vamos tentar descobrir por que e como ajudar a situação.


Primeiro de tudo, cada geração não é supostamente melhor que a anterior? A resposta é não, pelo menos não dentro do modelo que usamos. Se pegarmos todo o conjunto de aprendizagem de uma só vez, e usá-lo repetidamente para ensinar nossas NNs, então sim, elas vão melhorar a cada geração. Mas, em vez disso, pegamos fragmentos aleatórios (12.000 registros no tempo) e os usamos.


Duas perguntas: por que o sistema falhou em fragmentos aleatórios de conjunto de aprendizado e por que não usamos conjunto de aprendizado completo? Bem. Para responder a segunda pergunta, eu fiz. NNs realizaram muito - no set de aprendizagem. E eles falharam no conjunto de testes, pelo mesmo motivo que falha quando usamos o aprendizado da FFPB. Para dizer de maneira diferente, nossos NNs se especializaram demais, eles aprenderam a sobreviver no ambiente ao qual eles estão acostumados, mas não fora dele. Isso acontece muito na natureza.


A abordagem que tomamos foi destinada a compensar isso, ao obrigar NNs a realizar bons em qualquer fragmento aleatório do conjunto de dados, de modo que, com sorte, eles também poderiam realizar em um conjunto de testes desconhecido. Em vez disso, eles falharam tanto no teste quanto no conjunto de aprendizado.


Imagine animais vivendo em um deserto. Muito sol, sem neve. Essa é uma metaforização para o mercado, já que nossos dados de NNs desempenham o papel de ambiente. Os animais aprenderam a viver em um deserto.


Imagine animais que vivem num clima frio. Neve e sem sol. Bem, eles se ajustaram.


No entanto, em nosso experimento, colocamos aleatoriamente nossos NNs em um deserto, na neve, na água, nas árvores. apresentando-os com diferentes fragmentos de dados (surgindo aleatoriamente, caindo, planos). Os animais morreram.


Ou, para colocar de forma diferente, selecionamos a melhor Rede Neural para o conjunto de dados aleatórios 1, que, digamos, foi para o mercado em ascensão. Então, apresentamos, aos vencedores e seus filhos, uma queda dos dados do mercado. NNs funcionaram mal, nós melhoramos os melhores artistas, talvez, uma das crianças mutantes, que perdemos a capacidade de negociar no mercado em expansão, mas conseguiu alguma habilidade para lidar com a queda de um.


Depois viramos a mesa novamente e, novamente, obtivemos o melhor desempenho - mas o melhor entre os de pior desempenho. Nós simplesmente não davamos às nossas NNs nenhuma chance de se tornarem universais.


Existem técnicas que permitem ao algoritmo genético aprender novas informações sem perder o desempenho em informações antigas (afinal, os animais podem viver no verão e no inverno, certo? Então, a evolução é capaz de lidar com mudanças repetitivas). Podemos discutir essas técnicas mais tarde, embora este artigo seja mais sobre o uso do software Cortex Neural Networks, do que sobre a construção de um sistema de negociação automatizado forex bem sucedido.


Algoritmo Genético da Rede Neural: Exemplo 1.


Agora é hora de falar sobre correções. Um algoritmo genético simples que criamos durante o passo anterior tem duas grandes falhas. Primeiro, falhou em negociar com lucro. Está tudo bem, podemos tentar usar sistema parcialmente treinado (foi lucrativo no início). A segunda falha é mais séria: não temos controle sobre as coisas, que esse sistema faz. Por exemplo, pode aprender a ser rentável, mas com grandes remessas.


É um fato bem conhecido que, na vida real, a evolução pode otimizar mais de um parâmetro simultaneamente. Por exemplo, podemos pegar um animal, que pode correr rápido e ser resistente ao frio. Por que não tentar fazer o mesmo no nosso sistema de negociação automatizado forex?


É quando usamos correções, que não são nada além do conjunto de punições adicionais. Digamos que nosso sistema negocie com drawdown 0.5, enquanto queremos confirmá-lo para 0 - 0.3 interval. Para "dizer" ao sistema que cometeu um erro, diminuímos o lucro (um usado para determinar, qual algoritmo genético ganhou) ao grau, que é proporcional ao tamanho do DD. Então, o algoritmo de evolução cuida do resto.


Existem alguns outros fatores que queremos levar em consideração: talvez queiramos ter um número de operações de compra e venda mais ou menos igual, queremos ter mais operações rentáveis, então de falhas, podemos querer que o gráfico de lucro seja linear e assim por diante.


Em evolution_01.tsc implementamos um conjunto simples de correções. Em primeiro lugar, usamos algum número grande para um valor de correção inicial. Multiplicamos isso para valores pequenos (geralmente, entre 0 e 1), dependendo da "punição" que queremos aplicar. Então, multiplicamos nosso lucro por esta correção. Como resultado, o lucro é corrigido, para refletir quanto o algoritmo genético corresponde aos nossos outros critérios. Então usamos o resultado para encontrar uma Rede Neural de vencedores.


FOREX Estratégia de Negociação: Discutir o exemplo 1.


O exemplo 1 funciona muito melhor do que o exemplo 0. Durante os primeiros 100 ciclos, ele aprendeu muito e os gráficos de lucro parecem reconfortantes. No entanto, como no exemplo 0, os negócios longos são muito mais rentáveis, o que provavelmente significa que há um problema em nossa abordagem. No entanto, o sistema encontrou um equilíbrio entre algumas das condições iniciais contraditórias:


Há alguma dinâmica positiva tanto no conjunto de aprendizado quanto, mais importante, no conjunto de testes.


Quanto ao aprendizado adicional, no ciclo 278 podemos ver, que nosso sistema foi superado. Isso significa que ainda temos progresso no aprendizado definido:


Mas o conjunto de testes mostra fraqueza:


Este é um problema comum com NNs: quando ensinamos isso no aprendizado definido, ele aprende a lidar com isso e, às vezes, ele aprende muito bem - até o grau, quando perde o desempenho no conjunto de testes.


Para lidar com esse problema, uma solução "tradicional" é usada: continuamos procurando a Rede Neural, que executa o melhor no conjunto de testes, e salve-o, substituindo o melhor possível, cada vez que o novo pico é alcançado. Esta é a mesma abordagem, que usamos no treinamento FFBP, exceto, desta vez, temos que fazê-lo nós mesmos (adicionando código, que procura uma melhor Rede Neural em um conjunto de testes e ligando para SAVE_NN ou exportando pesos da Rede Neural para um Arquivo). Dessa forma, quando você interromper seu treinamento, você terá o melhor desempenho de ON TESTING SET salvo e esperando por você.


Observe também que não é o máximo. o lucro que você busca, mas o desempenho ideal, portanto, considere usar correções ao procurar um melhor desempenho em um conjunto de testes.


Algoritmo Genético para Análise Técnica FOREX: Onde agora?


Depois de ter sua Rede Neural de vencedor, você pode seguir as etapas, descritas no artigo anterior, para exportar pesos da Rede Neural e depois usá-los em sua plataforma de negociação em tempo real, como Meta Trader, Trade Station e assim por diante.


Alternativamente, você pode se concentrar em outras formas de otimizar a Rede Neural, ao contrário do algoritmo FFBP, aqui você pode obter avay usando conjuntos de aprendizagem e teste e mover a aprendizagem seqüencial.


O básico do comércio de algoritmo Forex.


Quase trinta anos atrás, o mercado de câmbio (Forex) caracterizava-se por negociações conduzidas via telefone, investidores institucionais, informações de preço opacas, uma clara distinção entre negociação entre clientes e negociação entre clientes e negociantes e baixa concentração de mercado. Hoje, os avanços tecnológicos transformaram o mercado. Os negócios são feitos principalmente através de computadores, permitindo que os comerciantes de varejo entrem no mercado, os preços de streaming em tempo real levaram a uma maior transparência e a distinção entre distribuidores e seus clientes mais sofisticados praticamente desapareceu.


Uma mudança particularmente significativa é a introdução do comércio algorítmico, que, ao fazer melhorias significativas no funcionamento do comércio de Forex, também coloca uma série de riscos. Ao analisar os fundamentos do mercado Forex e da negociação algorítmica, identificaremos algumas vantagens que a negociação algorítmica trouxe para o comércio de moeda, ao mesmo tempo que apontou alguns dos riscos.


Fundamentos do Forex.


O Forex é o local virtual em que os pares de moedas são negociados em volumes variáveis ​​de acordo com os preços cotados, segundo os quais uma moeda base possui um preço em moeda de cotação. Operando 24 horas por dia, cinco dias por semana, o Forex é considerado o maior e mais líquido mercado financeiro do mundo. Pelo Banco de Pagamentos Internacionais (BIS), o volume médio diário global de negociação em abril de 2013 foi de US $ 2,0 trilhões. A maior parte desta negociação é feita para dólares americanos, euros e ienes japoneses e envolve uma gama de jogadores, incluindo bancos privados, bancos centrais, fundos de pensão, investidores institucionais, grandes corporações, empresas financeiras e comerciantes de varejo individuais.


Embora a negociação especulativa possa ser a principal motivação para certos investidores, a principal razão para a existência do mercado Forex é que as pessoas precisam negociar moedas para comprar bens e serviços estrangeiros. A atividade no mercado Forex afeta as taxas de câmbio reais e, portanto, pode afetar profundamente o resultado, o emprego, a inflação e os fluxos de capital de qualquer país em particular. Por essa razão, os formuladores de políticas públicas, o público e a mídia têm todo o interesse no que se passa no mercado Forex.


Noções básicas de negociação algorítmica.


Um algoritmo é essencialmente um conjunto de regras específicas projetadas para completar uma tarefa claramente definida. Na negociação no mercado financeiro, os computadores realizam algoritmos definidos pelo usuário, caracterizados por um conjunto de regras que consiste em parâmetros como tempo, preço ou quantidade que estruturam os negócios que serão realizados.


Existem quatro tipos básicos de negociação algorítmica nos mercados financeiros: estatística, cobertura automática, estratégias de execução algorítmica e acesso direto ao mercado. Estatística refere-se a uma estratégia algorítmica que procura oportunidades de negociação lucrativas com base na análise estatística de dados históricos de séries temporais. A cobertura automática é uma estratégia que gera regras para reduzir a exposição do profissional a riscos. O objetivo das estratégias de execução algorítmica é executar um objetivo predefinido, como reduzir o impacto no mercado ou executar um negócio rapidamente. Por fim, o acesso direto ao mercado descreve as velocidades ideais e os custos mais baixos pelos quais os operadores algorítmicos podem acessar e se conectar a múltiplas plataformas de negociação.


Uma das subcategorias de negociação algorítmica é a negociação de alta freqüência, que se caracteriza pela alta freqüência de execuções de ordem comercial. Negociações de alta velocidade podem dar vantagens significativas aos negociantes, dando-lhes a capacidade de fazer negócios dentro de milésimos de segundo de mudanças de preço incrementais, mas também pode acarretar certos riscos.


Negociação Algorítmica no Mercado Forex.


Grande parte do crescimento da negociação algorítmica nos mercados Forex nos últimos anos deveu-se a algoritmos que automatizam certos processos e reduzem as horas necessárias para realizar transações cambiais. A eficiência criada pela automação conduz a menores custos na realização desses processos. Um desses processos é a execução de ordens comerciais. Automatizar o processo de negociação com um algoritmo que é negociado com base em critérios predeterminados, como a execução de ordens ao longo de um período de tempo especificado ou a um preço específico, é significativamente mais eficiente do que a execução manual por humanos.


Os bancos também aproveitaram os algoritmos programados para atualizar os preços dos pares de moedas nas plataformas de negociação eletrônica. Esses algoritmos aumentam a velocidade com que os bancos podem cotar os preços de mercado e, ao mesmo tempo, reduzem o número de horas de trabalho manuais necessárias para cotar preços.


Alguns bancos programam algoritmos para reduzir sua exposição ao risco. Os algoritmos podem ser usados ​​para vender uma moeda específica para corresponder ao comércio de um cliente no qual o banco comprou o valor equivalente para manter uma quantidade constante dessa moeda em particular. Isso permite que o banco mantenha um nível pré-especificado de exposição ao risco para manter essa moeda.


Esses processos foram tornados significativamente mais eficientes por algoritmos, levando a menores custos de transação. No entanto, estes não são os únicos fatores que têm impulsionado o crescimento no comércio algorítmico Forex. Algoritmos têm sido cada vez mais utilizados para negociação especulativa, já que a combinação de alta frequência e a capacidade do algoritmo de interpretar dados e executar ordens permitiu que os operadores explorassem oportunidades de arbitragem decorrentes de pequenos desvios de preços entre pares de moedas.


Todas essas vantagens levaram ao aumento do uso de algoritmos no mercado Forex, mas vejamos alguns dos riscos que acompanham a negociação algorítmica.


Riscos envolvidos no comércio de Forex algorítmico.


Embora a negociação algorítmica tenha feito muitas melhorias, existem algumas desvantagens que podem ameaçar a estabilidade e a liquidez do mercado Forex. Uma dessas desvantagens refere-se a desequilíbrios no poder comercial dos participantes do mercado. Alguns participantes têm meios para adquirir tecnologia sofisticada que lhes permita obter informações e executar ordens com uma velocidade muito mais rápida do que outras. Esse desequilíbrio entre os que têm e os que não têm em termos da tecnologia algorítmica mais sofisticada pode levar a uma fragmentação no mercado que pode levar à escassez de liquidez ao longo do tempo.


Além disso, embora existam diferenças fundamentais entre os mercados de ações e o mercado Forex, há alguns que temem que a negociação de alta frequência que exacerbou o crash da bolsa de valores em 6 de maio de 2010 poderia afetar o mercado Forex. Como os algoritmos são programados para cenários específicos do mercado, eles podem não responder com rapidez suficiente se o mercado mudar drasticamente. Para evitar esse cenário, os mercados podem precisar ser monitorados e a negociação algorítmica suspensa durante a turbulência do mercado. No entanto, em cenários tão extremos, uma suspensão simultânea de negociação algorítmica por numerosos participantes do mercado pode resultar em alta volatilidade e uma drástica redução na liquidez do mercado.


The Bottom Line.


Embora a negociação algorítmica tenha sido capaz de aumentar a eficiência, reduzindo os custos de negociação de moedas, ela também trouxe alguns riscos adicionais. Para que as moedas funcionem adequadamente, elas devem ser armazenadas de alguma forma estáveis ​​e altamente líquidas. Assim, é importante que o mercado Forex permaneça líquido com baixa volatilidade de preços.


Como em todas as áreas da vida, a nova tecnologia introduz muitos benefícios, mas também traz novos riscos. O desafio para o futuro do comércio algorítmico de Forex será como instituir mudanças que maximizem os benefícios enquanto reduz os riscos.


Forex Algorithmic Trading: um conto prático para engenheiros.


Como você pode saber, o mercado cambial (Forex, ou FX) é usado para negociação entre pares de moedas. Mas você pode não estar ciente de que é o mercado mais líquido do mundo.


Alguns anos atrás, impulsionados pela minha curiosidade, fiz os primeiros passos no mundo da negociação algorítmica Forex criando uma conta demo e jogando simulações (com dinheiro falso) na plataforma de negociação Meta Trader 4.


Depois de uma semana de "negociação", quase dobrava meu dinheiro. Estimulado pela minha própria negociação algorítmica bem sucedida, cavei e, eventualmente, me inscrevi para vários fóruns de FX. Logo, passava horas lendo sobre sistemas de negociação algorítmica (conjuntos de regras que determinam se você deve comprar ou vender), indicadores personalizados, modos de mercado e muito mais.


Meu primeiro cliente.


Por volta dessa época, por acaso, ouvi dizer que alguém estava tentando encontrar um desenvolvedor de software para automatizar um sistema comercial simples. Estava de volta aos meus dias de faculdade quando eu estava aprendendo sobre programação simultânea em Java (threads, semáforos e todo esse lixo). Eu pensei que este sistema automatizado não poderia ser muito mais complicado do que o meu curso avançado de ciências de dados funcionar, então eu perguntei sobre o trabalho e entrou a bordo.


O cliente queria um software de negociação algorítmica construído com o MQL4, uma linguagem de programação funcional usada pela plataforma Meta Trader 4 para realizar ações relacionadas a estoque.


O papel da plataforma de negociação (Meta Trader 4, neste caso) é fornecer uma conexão com um corretor Forex. O corretor fornece uma plataforma com informações em tempo real sobre o mercado e executa suas ordens de compra / venda. Para leitores que não estão familiarizados com o comércio de Forex, aqui estão as informações fornecidas pelo feed de dados:


Através do Meta Trader 4, você pode acessar todos esses dados com funções internas, acessíveis em vários prazos: a cada minuto (M1), a cada cinco minutos (M5), M15, M30, a cada hora (H1), H4, D1, W1, MN .


O movimento do preço atual é chamado de tiquetaque. Em outras palavras, um tick é uma mudança no preço Bid ou Ask para um par de moedas. Durante os mercados ativos, pode haver vários carrapatos por segundo. Durante os mercados lentos, pode haver minutos sem um tiquetaque. O tiquetaque é o batimento cardíaco de um robô de mercado de moeda.


Quando você faz um pedido através dessa plataforma, você compra ou vende um determinado volume de uma determinada moeda. Você também define os limites stop-loss e take-profit. O limite de stop-loss é a quantidade máxima de pips (variações de preço) que você pode perder antes de desistir de um comércio. O limite de lucro obtido é a quantidade de pips que você irá acumular a seu favor antes de descontar.


As especificações de negociação algorítmica do cliente eram simples: eles queriam um robô Forex baseado em dois indicadores. Como pano de fundo, os indicadores são muito úteis ao tentar definir um estado de mercado e tomar decisões comerciais, pois são baseados em dados passados ​​(por exemplo, valor de preço mais alto nos últimos n dias). Muitos vêm embutidos no Meta Trader 4. No entanto, os indicadores em que meu cliente estava interessado vieram de um sistema de negociação customizado.


Eles queriam trocar todas as vezes que dois desses indicadores personalizados se cruzassem, e apenas em certo ângulo.


À medida que eu resolvi as mãos, eu aprendi que os programas MQL4 têm a seguinte estrutura:


A função de início é o coração de cada programa MQL4, uma vez que é executado sempre que o mercado se move (ergo, esta função será executada uma vez por marca). Este é o caso, independentemente do prazo que você está usando. Por exemplo, você poderia estar operando no cronograma H1 (uma hora), mas a função inicial executaria muitos milhares de vezes por período de tempo.


Para contornar isso, forcei a função a executar uma vez por unidade de período:


Obtendo os valores dos indicadores:


A lógica de decisão, incluindo a interseção dos indicadores e seus ângulos:


Enviando os pedidos:


Se você estiver interessado, você pode encontrar o código completo e executável no GitHub.


Backtesting


Uma vez que eu construí meu sistema de negociação algorítmica, eu queria saber: 1) se estava se comportando adequadamente e 2) se a estratégia de negociação Forex fosse usada.


Backtesting (às vezes escrito "back-testing") é o processo de testar um sistema particular (automatizado ou não) sob os eventos do passado. Em outras palavras, você testa seu sistema usando o passado como um proxy para o presente.


MT4 vem com uma ferramenta aceitável para backtesting uma estratégia de negociação Forex (hoje em dia, existem mais ferramentas profissionais que oferecem maior funcionalidade). Para começar, você configura seus prazos e executa seu programa sob uma simulação; A ferramenta irá simular cada tico sabendo que, para cada unidade, ele deve abrir a certo preço, fechar a um determinado preço e alcançar altos e baixos especificados.


Depois de comparar as ações do programa com preços históricos, você terá um bom senso se está ou não executando corretamente.


Do backtesting, eu chequei a taxa de retorno do robô FX para alguns intervalos de tempo aleatórios; Escusado será dizer que sabia que o meu cliente não iria ficar rico com isso - os indicadores que ele havia escolhido, juntamente com a lógica da decisão, não eram lucrativos. Como amostra, aqui estão os resultados da execução do programa na janela M15 para 164 operações:


Observe que nosso equilíbrio (a linha azul) termina abaixo do seu ponto de partida.


Otimização de parâmetros e suas mentiras.


Embora o backtesting tenha me deixado desconfiado da utilidade desse robô FX, fiquei intrigado quando comecei a brincar com seus parâmetros externos e notei grandes diferenças na Taxa de Retorno geral. Esta ciência particular é conhecida como otimização de parâmetros.


Eu fiz alguns testes difíceis para tentar inferir o significado dos parâmetros externos na Razão de retorno e surgiu algo como isto:


Você pode pensar (como eu fiz) que você deve usar o Parâmetro A. Mas a decisão não é tão direta como pode aparecer. Especificamente, observe a imprevisibilidade do Parâmetro A: para valores de erro pequenos, seu retorno muda drasticamente. Em outras palavras, o Parâmetro A é muito provável que a previsão excessiva de resultados futuros, uma vez que qualquer incerteza, qualquer alteração no total resultará em um desempenho pior.


Mas, de fato, o futuro é incerto! E o retorno do Parâmetro A também é incerto. A melhor escolha, de fato, é confiar na imprevisibilidade. Muitas vezes, um parâmetro com um retorno máximo mais baixo, mas uma previsibilidade superior (menor flutuação) será preferível a um parâmetro com alto retorno, mas uma previsibilidade fraca.


O único que você pode ter certeza é que você não conhece o futuro do mercado, e pensar que você sabe como o mercado vai atuar com base em dados passados ​​é um erro. Por sua vez, você deve reconhecer essa imprevisibilidade em suas previsões Forex.


Isso não significa necessariamente que devemos usar o Parâmetro B, porque mesmo os retornos mais baixos do Parâmetro A funcionam melhor do que o Parâmetro B; Isso é apenas para mostrar que os Parâmetros de Otimização podem resultar em testes que exageram os resultados futuros prováveis, e esse pensamento não é óbvio.


Considerações globais de comércio de algoritmo Forex.


Desde essa primeira experiência de negociação de Forex algorítmica, construí vários sistemas de negociação automatizados para clientes e posso dizer que há espaço para explorar e continuar a análise de Forex a ser feito. Por exemplo, recentemente construí um sistema baseado em encontrar os chamados movimentos de "Big Fish"; isto é, grandes variações de pips em pequenas e minúsculas unidades de tempo. Este é um assunto que me fascina.


Construir o seu próprio sistema de simulação FX é uma excelente opção para aprender mais sobre o comércio de Forex e as possibilidades são infinitas. Por exemplo, você poderia tentar decifrar a distribuição de probabilidade das variações de preços em função da volatilidade em um mercado (EUR / USD, por exemplo), e talvez criar um modelo de simulação de Monte Carlo usando a distribuição por estado de volatilidade, usando qualquer grau de precisão que você deseja. Vou deixar isso como um exercício para o leitor ansioso.


O mundo Forex pode ser esmagador às vezes, mas espero que este write-up deu-lhe alguns pontos sobre como começar em sua própria estratégia de negociação Forex.


Leitura adicional.


Hoje em dia, existe um vasto conjunto de ferramentas para construir, testar e melhorar as Automatizações do Sistema de Negociação: Trading Blox para testes, NinjaTrader para negociação, OCaml para programação, para citar alguns.


Eu li extensivamente sobre o mundo misterioso que é o mercado de moeda. Aqui estão alguns write-ups que eu recomendo para programadores e leitores entusiasmados:


Compreendendo o básico.


Sobre o que Forex é negociado?


O comércio Forex (ou FX) está comprando e vendendo por meio de pares de moedas (por exemplo, USD vs. EUR) no mercado de câmbio.


Como o Forex ganha dinheiro?


Os corretores de Forex ganham dinheiro através de comissões e taxas. Os comerciantes de Forex ganham (ou perdem) o dinheiro com base em seu tempo: se eles conseguirem vender alto o suficiente em comparação com quando eles compraram, eles podem lucrar.


O que há para testar uma estratégia de negociação?


Backtesting é o processo de testar uma estratégia ou sistema específico usando os eventos do passado.


O que é o comércio algorítmico?


A negociação algorítmica é quando um robô / programa usa um conjunto de regras que informam quando comprar ou vender.


Um sistema de negociação Forex baseado em um algoritmo genético.


Luís Mendes Pedro Godinho Joana Dias Autor de e-mail.


Neste artigo, será descrito um algoritmo genético que visa otimizar um conjunto de regras que constituem um sistema de negociação para o mercado Forex. Cada indivíduo na população representa um conjunto de dez regras comerciais comerciais (cinco para entrar em uma posição e cinco outras para sair). Essas regras têm 31 parâmetros no total, que correspondem aos genes dos indivíduos. A população evoluirá em um determinado ambiente, definido por uma série temporal de um par de moedas específico. A adequação de um determinado indivíduo representa o quão bem ele conseguiu se adaptar ao meio ambiente e é calculado aplicando as regras correspondentes às séries temporais e calculando a relação entre o lucro e a redução máxima (a relação Stirling) . Dois pares de moedas foram usados: EUR / USD e GBP / USD. Dados diferentes foram utilizados para a evolução da população e para testar os melhores indivíduos. Os resultados alcançados pelo sistema são discutidos. Os melhores indivíduos conseguem alcançar resultados muito bons nas séries de treinamento. Na série de testes, as estratégias desenvolvidas mostram alguma dificuldade em obter resultados positivos, se você levar em consideração os custos de transação. Se você ignorar os custos de transação, os resultados são principalmente positivos, mostrando que os melhores indivíduos possuem alguma capacidade de previsão.


Notas.


Agradecimentos


Gostaríamos de agradecer aos árbitros anônimos, cujos comentários nos ajudaram a melhorar este artigo.


Referências.


Informações sobre direitos autorais.


Autores e Afiliações.


Luís Mendes 1 Pedro Godinho 2 Joana Dias 3 Email autor 1. Faculdade de Economia Universidade de Coimbra Coimbra Portugal 2. Faculdade de Economia e GEMF Universidade de Coimbra Coimbra Portugal 3. Faculdade de Economia e Inesc-Coimbra Universidade de Coimbra Coimbra Portugal.


Sobre este artigo.


Recomendações personalizadas.


Cite o artigo.


Gerente de referência de papéis. RIS RefWorks Zotero.


.BIB BibTeX JabRef Mendeley.


Acesso ilimitado ao artigo completo Download instantâneo Inclua o imposto de vendas local, se aplicável.


Cite o artigo.


Gerente de referência de papéis. RIS RefWorks Zotero.


.BIB BibTeX JabRef Mendeley.


Mais de 10 milhões de documentos científicos ao seu alcance.


Switch Edition.


&cópia de; 2017 Springer International Publishing AG. Parte da natureza de Springer.

Comments

Popular Posts