Sunday 10 September 2017

Automated Trading System Programming


Negociação automatizada com MetaTrader 4 A negociação automatizada é uma tecnologia relativamente nova, mas muito promissora. Sua principal idéia reside na transmissão de gerenciamento de contas para um programa de computador. Na MetaTrader 4, a análise de mercado também é confiada a esses programas (Expert Advisors). Em outras palavras, o MetaTrader 4 liberta completamente os comerciantes da observação de mercado de rotina e a execução das operações comerciais. Para ver como funciona, visite o site dos Campeonatos Automatizados Automáticos de Negociação. O terminal do cliente MetaTrader 4 é fornecido com o ambiente de desenvolvimento integrado MetaQuotes 4 (MQL4 IDE). Este ambiente consiste nas seguintes partes: terminal do MetaTrader 4 - o módulo onde os programas de negociação automatizados são gerenciados e executados. MetaQuotes Language 4 (MQL4) - a linguagem de programação para implementar estratégias de negociação. MetaEditor - editor e compilador de Expert Advisors. Strategy Tester - o módulo para testar e otimizar Expert Advisors. Com essas ferramentas, você pode criar seus próprios Expert Advisors ou usar os desenvolvimentos de outros programadores. Todos os Expert Advisors estão escritos no MQL4 no MetaEditor. Uma vez que um Conselheiro Especialista é compilado, ele aparece no terminal do cliente, onde pode ser testado no Strategy Tester ou correr de imediato. (Quanto menor for o índice, melhor) O MQL4 é um idioma semelhante a C, que é uma das linguagens mais rápidas e funcionalmente valiosas do mundo. Sua flexibilidade possibilita a verificação completa de todos os parâmetros de Expert Advisors. Isso permite aos desenvolvedores automatizar quase qualquer estratégia comercial. No que diz respeito às suas características de velocidade, o MQL4 supera todas as linguagens especializadas para estratégias de negociação e vem em segundo lugar apenas a linguagens de alto nível como Java e C. Esta combinação de ampla funcionalidade e alto desempenho fez do MQL4 a primeira escolha da maioria dos Comerciantes. O ambiente de desenvolvimento é, em primeiro lugar, projetado para criar Expert Advisors. Esses programas permitem a automatização completa dos processos analíticos e comerciais. Para demonstrar todas as possibilidades do MQL4, nossa empresa hospeda o Annual Automated Trading Championship. Durante esta competição, os participantes Expert Advisors negociam sem qualquer interferência humana por três meses. Visite o site do Campeonato e saiba quais resultados incríveis podem ser alcançados com a ajuda de um Consultor Especialista. Além de Expert Advisors, você pode usar o MQL4 para criar indicadores e scripts personalizados. Os indicadores personalizados são análogos completos aos indicadores técnicos incorporados. São indispensáveis ​​para analisar a dinâmica dos preços dos instrumentos financeiros e mostrar alertas comerciais. E se os indicadores técnicos disponíveis não forem suficientes, você pode criar o seu próprio ou usar os desenvolvidos por outros comerciantes. Os scripts são mini-programas que automatizam pequenas ações freqüentemente repetidas. Ao contrário dos Expert Advisors, os scripts são realizados apenas uma vez, não com todos os tiques. Por exemplo, um script típico pode ser um pequeno programa que encerra todas as posições abertas para todos os instrumentos com uma única chave. A negociação automatizada com MetaTrader 4 oferece ainda mais do que isso. Toda uma infra-estrutura evoluiu em torno do ambiente de desenvolvimento MQL4. O site oficial MQL4munity contém a base de código para programas MQL4 gratuitos que podem ser usados ​​por qualquer pessoa. Novos consultores especializados de qualidade superior aparecem todos os dias e as pessoas os vendem e trocam. Se você deseja começar a desenvolver seus próprios programas, você encontrará uma descrição completa do idioma e centenas de artigos sobre vários aspectos da programação MQL4. Além disso, você sempre pode contar com a ajuda dos membros da comunidade. Todos os anos, centenas de desenvolvedores enviam seus Expert Advisors para participar do Automated Trading Championship para mostrar seus resultados. Para resumir, escolha MetaTrader 4 e você não terá dificuldades em usar programas prontos ou desenvolver o seu próprio, com a ajuda da base de conhecimento disponível. Copyright 2000mdash2017, MetaQuotes Software Corp. Prós e contras de sistemas de negociação automatizados Os comerciantes e os investidores podem fazer uma entrada precisa. Saída e regras de gerenciamento de dinheiro em sistemas de negociação automatizados que permitem aos computadores executar e monitorar os negócios. Uma das maiores atrações da automação da estratégia é que pode tirar parte da emoção fora da negociação, uma vez que os negócios são automaticamente colocados assim que determinados critérios forem atendidos. Este artigo irá introduzir leitores e explicar algumas das vantagens e desvantagens, bem como as realidades, dos sistemas de negociação automatizados. (Para leitura relacionada, veja The Power Of Program Trades.) O que é um sistema de negociação automatizado Sistemas de negociação automatizados, também denominados sistemas de negociação mecânica, negociação algorítmica. Negociação automatizada ou negociação de sistema, permitem que os comerciantes estabeleçam regras específicas para ambas as entradas de comércio e as saídas que, uma vez programadas, podem ser executadas automaticamente através de um computador. As regras de entrada e saída de comércio podem ser baseadas em condições simples, como um crossover médio móvel. Ou podem ser estratégias complicadas que requerem uma compreensão abrangente da linguagem de programação específica para a plataforma de negociação de usuários, ou a experiência de um programador qualificado. Os sistemas de negociação automatizados geralmente exigem o uso de software que esteja vinculado a um corretor de acesso direto. E quaisquer regras específicas devem estar escritas na linguagem proprietária das plataformas. A plataforma TradeStation, por exemplo, usa a linguagem de programação EasyLanguage, a plataforma NinjaTrader, por outro lado, utiliza a linguagem de programação NinjaScript. A Figura 1 mostra um exemplo de uma estratégia automatizada que desencadeou três negociações durante uma sessão de negociação. (Para leitura relacionada, veja Comércio Global e Mercado Monetário.) Figura 1: Um gráfico de cinco minutos do contrato ES com uma estratégia automatizada aplicada. Algumas plataformas de negociação possuem assistentes de construção de estratégia que permitem aos usuários fazer seleções a partir de uma lista de indicadores técnicos comumente disponíveis para construir um conjunto de regras que podem ser negociadas automaticamente. O usuário poderia estabelecer, por exemplo, que um longo comércio será inserido uma vez que a média móvel de 50 dias cruza acima da média móvel de 200 dias em um gráfico de cinco minutos de um instrumento comercial específico. Os usuários também podem inserir o tipo de ordem (mercado ou limite, por exemplo) e quando o comércio será acionado (por exemplo, no final da barra ou aberto da próxima barra), ou use as entradas padrão das plataformas. Muitos comerciantes, no entanto, optam por programar seus próprios indicadores e estratégias customizados ou trabalham em estreita colaboração com um programador para desenvolver o sistema. Embora isso geralmente requer mais esforço do que usar o assistente de plataformas, ele permite um grau de flexibilidade muito maior e os resultados podem ser mais gratificantes. (Infelizmente, não existe uma estratégia de investimento perfeita que garanta o sucesso. Para mais informações, consulte Como usar os Indicadores Técnicos para Desenvolver Estratégias de Negociação.) Uma vez que as regras foram estabelecidas, o computador pode monitorar os mercados para encontrar oportunidades de compra ou venda com base na negociação Especificações de estratégia. Dependendo das regras específicas, assim que uma negociação é inserida, qualquer pedido de perdas de proteção de paradas. Paradas de trânsito e metas de lucro serão geradas automaticamente. Em mercados em movimento rápido, esta entrada de ordem instantânea pode significar a diferença entre uma pequena perda e uma perda catastrófica no caso de o comércio se mover contra o comerciante. Vantagens de sistemas de negociação automatizados Há uma longa lista de vantagens em ter um computador monitorando os mercados para oportunidades comerciais e executar os negócios, incluindo: Minimizar Emoções. Os sistemas de negociação automatizados minimizam as emoções ao longo do processo de negociação. Ao manter as emoções sob controle, os comerciantes normalmente têm um tempo mais fácil de aderir ao plano. Uma vez que as ordens comerciais são executadas automaticamente uma vez que as regras comerciais foram cumpridas, os comerciantes não poderão hesitar ou questionar o comércio. Além de ajudar os comerciantes que tem medo de puxar o gatilho, o comércio automatizado pode conter aqueles que estão aptos a sobrecarregar a compra e venda em todas as oportunidades percebidas. Capacidade de Backtest. Backtesting aplica as regras de negociação aos dados históricos do mercado para determinar a viabilidade da idéia. Ao projetar um sistema de negociação automatizada, todas as regras precisam ser absolutas, sem espaço para interpretação (o computador não consegue adivinhar exatamente o que fazer). Os comerciantes podem tomar esses conjuntos precisos de regras e testá-los em dados históricos antes de arriscar dinheiro em negociação ao vivo. O backtesting cuidadoso permite que os comerciantes avaliem e aperfeiçoem uma idéia de negociação e determinem a expectativa de sistemas do valor médio que um comerciante pode esperar para ganhar (ou perder) por unidade de risco. (Oferecemos algumas dicas sobre este processo que podem ajudar a refindar suas estratégias de negociação atuais. Para mais informações, consulte Backtesting: Interpreting the Past.) Preserve Discipline. Como as regras comerciais são estabelecidas e a execução comercial é executada automaticamente, a disciplina é preservada mesmo em mercados voláteis. A disciplina é muitas vezes perdida devido a fatores emocionais, como o medo de sofrer uma perda, ou o desejo de obter um pouco mais de lucro de um comércio. O comércio automatizado ajuda a garantir que a disciplina seja mantida porque o plano de negociação será seguido exatamente. Além disso, o erro piloto é minimizado e uma ordem para comprar 100 ações não será inserida incorretamente como uma ordem para vender 1.000 ações. Alcançar Consistência. Um dos maiores desafios na negociação é planejar o comércio e negociar o plano. Mesmo que um plano de negociação tenha o potencial de ser rentável, os comerciantes que ignoram as regras estão alterando qualquer expectativa que o sistema teria tido. Não há como um plano de negociação que ganhe 100 das perdas de tempo são parte do jogo. Mas as perdas podem ser psicologicamente traumatizantes, então um comerciante que tem duas ou três negociações perdidas em uma fila pode decidir ignorar o próximo comércio. Se esse próximo comércio fosse um vencedor, o comerciante já havia destruído qualquer expectativa do sistema. Os sistemas de negociação automatizados permitem que os comerciantes obtenham consistência ao negociar o plano. (É impossível evitar o desastre sem regras de negociação. Para mais informações, veja 10 Passos para Construir um Plano de Negociação de Vencimento). Velocidade de Entrada de Pedido Melhorada. Uma vez que os computadores respondem imediatamente às mudanças nas condições do mercado, os sistemas automatizados são capazes de gerar ordens assim que os critérios comerciais forem atendidos. Entrar ou sair de um comércio alguns segundos antes pode fazer uma grande diferença no resultado dos negócios. Assim que uma posição é inserida, todos os outros pedidos são gerados automaticamente, incluindo perdas protetoras de parada e metas de lucro. Os mercados podem se mover rapidamente, e é desmoralizante ter um comércio atingindo o objetivo de lucro ou superar um nível de parada de perdas antes que os pedidos possam ser inseridos. Um sistema de negociação automatizado evita que isso aconteça. Diversificar a negociação. Os sistemas de negociação automatizados permitem ao usuário trocar várias contas ou várias estratégias ao mesmo tempo. Isso tem o potencial de espalhar o risco em vários instrumentos ao criar um hedge contra posições perdidas. O que seria incrivelmente desafiador para um humano realizar é eficientemente executado por um computador em questão de milissegundos. O computador é capaz de procurar oportunidades de negociação em uma variedade de mercados, gerar ordens e monitorar negócios. Desvantagens e Realidades dos Sistemas Automatizados de Negociação Os sistemas de negociação automatizados possuem muitas vantagens, mas há algumas quedas e realidades a que os comerciantes devem estar cientes. Falhas mecânicas. A teoria por trás do comércio automatizado faz com que pareça simples: configurar o software, programar as regras e assisti-lo comercializar. Na realidade, no entanto, a negociação automatizada é um método sofisticado de negociação, mas não infalível. Dependendo da plataforma de negociação, uma ordem comercial pode residir em um computador e não em um servidor. O que isso significa é que, se uma conexão com a Internet for perdida, um pedido pode não ser enviado ao mercado. Poderia haver também uma discrepância entre os negócios teóricos gerados pela estratégia e o componente da plataforma de entrada de pedidos que os transforma em trades reais. A maioria dos comerciantes deve esperar uma curva de aprendizado ao usar sistemas de negociação automatizados, e geralmente é uma boa idéia começar com pequenos tamanhos comerciais enquanto o processo é refinado. Monitoramento. Embora seja ótimo ligar o computador e sair para o dia, os sistemas de negociação automatizados exigem monitoramento. Isso é devido ao potencial de falhas mecânicas, como problemas de conectividade, perdas de energia ou falhas no computador, e às peculiaridades do sistema. É possível que um sistema de negociação automatizado experimente anomalias que possam resultar em ordens erradas, ordens faltantes ou pedidos duplicados. Se o sistema for monitorado, esses eventos podem ser identificados e resolvidos rapidamente. Sobre otimização. Embora não sejam específicos dos sistemas de negociação automatizados, os comerciantes que empregam técnicas de backtest podem criar sistemas que parecem ótimos no papel e que realizam terrivelmente em um mercado ao vivo. O excesso de otimização refere-se a ajuste de curva excessivo que produz um plano de negociação que não é confiável na negociação ao vivo. É possível, por exemplo, ajustar uma estratégia para alcançar resultados excepcionais nos dados históricos sobre os quais foi testado. Os comerciantes às vezes incorretamente assumem que um plano de negociação deve ter cerca de 100 negócios lucrativos ou nunca deve ter uma redução para ser um plano viável. Como tal, os parâmetros podem ser ajustados para criar um plano quase perfeito que falha completamente assim que é aplicado a um mercado ao vivo. (Esta sobre otimização cria sistemas que ficam bons apenas em papel. Para mais informações, consulte Testes de retorno e avanço: a importância da correlação.) Os comerciantes de automação baseados no servidor têm a opção de executar seus sistemas de negociação automatizados através de uma negociação baseada no servidor Plataforma como Strategy Runner. Essas plataformas freqüentemente oferecem estratégias comerciais para venda, um assistente para que os comerciantes possam projetar seus próprios sistemas ou a capacidade de hospedar sistemas existentes na plataforma baseada no servidor. Por uma taxa, o sistema de negociação automatizado pode pesquisar, executar e monitorar negócios com todas as ordens que residem em seu servidor, resultando em entradas de pedidos potencialmente mais rápidas e confiáveis. Conclusão Embora seja um ppealing para uma variedade de fatores, os sistemas de negociação automatizada não devem ser considerados um substituto para o comércio cuidadosamente executado. Falhas mecânicas podem acontecer e, como tal, esses sistemas requerem monitoramento. As plataformas baseadas em servidor podem fornecer uma solução para comerciantes que desejam minimizar os riscos de falhas mecânicas. (Para leitura relacionada, veja Day Trading Strategies For Beginners.)

No comments:

Post a Comment