Saturday 25 November 2017

Como Projetar O Sistema De Negociação


MetaTrader 5 - Exemplos Como fazer um robô de negociação sem tempo para fazer um robô de negociação, você precisa de um sistema de negociação O comércio de mercados financeiros envolve muitos riscos, incluindo o mais crítico - o risco de tomar uma decisão comercial incorreta. O sonho de todos os comerciantes é encontrar um robô comercial. Que está sempre em boa forma e não sujeita a fraquezas humanas - medo, ganância e impaciência. Cada recém-chegado quer obter ou criar um sistema de negociação claro e rigoroso que possa ser apresentado sob a forma de algoritmos e se livrar completamente das operações de rotina. É possível Um sistema comercial é uma condição necessária para entrar no mercado e esse sistema deve ser lucrativo, é claro. Quando os recém-chegados chegam ao mercado, eles geralmente estão sobrecarregados com a grande massa de informações difíceis de entender. Livros e fóruns de comerciantes podem fornecer alguma ajuda nesse caso. Infelizmente, nem todos os autores são comerciantes de sucesso e nem todos os comerciantes de sucesso escrevem livros. Muitos recursos web especiais são criados apenas para ganhar lucro para seus proprietários, pois é muito mais difícil negociar seu próprio dinheiro do que emitir previsões e ensinar sistemas de negociação. Cada comerciante deve passar de forma independente todos os estágios de uma criação de sistema comercial. Há um ditado popular de que não importa o sistema que você usa para negociação, o principal é que você realmente deve negociar de acordo com esse sistema. Caso contrário, a negociação no mercado se converte em uma aposta com um resultado previsível. Trading Trading e Forex Forex mercado é acreditado para ter uma grande liquidez. Além disso, permite a negociação 24 horas por dia, ao contrário de muitos outros mercados. Portanto, muitos comerciantes tentam fazer robôs comerciais especialmente para o mercado Forex, pois oferece uma grande quantidade de instrumentos de negociação. No entanto, os céticos afirmam que todos os pares de moedas estão fortemente correlacionados entre si, proporcionando uma volatilidade muito baixa no mercado. Mas seus oponentes respondem que cada par de moedas possui suas próprias características e a baixa volatilidade é compensada por uma grande alavanca. Em qualquer caso, os instrumentos Forex são atraentes para fazer robôs comerciais e a maioria dos adeptos do comércio automatizado aprimoram suas habilidades em pares de moedas. Os terminais de negociação MetaTrader 4 e MetaTrader 5 são especialmente projetados para desenvolver sistemas de negociação automatizados facilmente, mas, ao mesmo tempo, sua interface também é conveniente para negociação manual. Como começar a fazer um robô de negociação Existem muitas abordagens para construir um sistema de negociação automatizado. Descreveremos apenas algumas das principais. A primeira abordagem é baseada em matemática. Um desenvolvedor tenta criar uma espécie de equação que pode considerar muitos fatores. Essa abordagem baseia-se na firme convicção de que os movimentos de preços são gerenciados por um modelo que pode ser encontrado usando os dados históricos disponíveis. Na maioria dos casos, os seguidores de tal abordagem conhecem muito matemática, mas não sabem nada sobre isso não estão interessados ​​no mercado. O mercado é uma abstração pura, um tipo de jogo intelectual para eles. Esta abordagem geralmente leva a muitos anos de estudo e desenvolvimento, enquanto um resultado definitivo na forma de um sistema de negociação automatizado não é tão importante. A segunda abordagem baseia-se no estudo das leis do mercado. Não são feitas tentativas para entender por que o preço sobe para baixo quando vários números de análise técnica aparecem em um gráfico. A vantagem desta abordagem é que não requer conhecimentos especiais de matemática e não faz suposições sobre a força motriz do mercado. É mais claro e conveniente ao estudar comércio. É mais popular entre os comerciantes que receberam o reconhecimento universal. A desvantagem da abordagem é a necessidade de acompanhar constantemente todos os símbolos necessários. Mais cedo ou mais tarde, um comerciante começa a considerar a automação dos processos de negociação e a questão mais considerável aparece naquela fase a complexidade da formalização das regras de negociação ao tentar expressá-las na forma de algoritmos. Em alguns casos, os comerciantes que tentam solicitar um robô comercial não podem descrever as regras comerciais e encontrar um terreno comum com os programadores. A terceira abordagem baseia-se na tentativa de criar uma caixa preta baseada em redes neurais com o uso das ferramentas pré-fabricadas amplamente disponíveis em pacotes especiais de software e matemática. A criação de um sistema de negociação automatizado com os elementos da inteligência artificial é uma tarefa emocionante e desafiadora, mesmo para os recém-chegados, uma vez que não requer fundo matemático profundo, nem experiência de programação - tudo é feito usando auxílios visuais. Um comerciante deve conhecer os conceitos básicos de indicadores técnicos, possuir uma capacidade para preparar dados de preços necessários e experiência em algum pacote definido para trabalhar com redes neurais. A principal desvantagem desta abordagem é que um robô comercial obtido usando essas ferramentas especializadas para trabalhar com redes neurais é na verdade uma caixa preta. Os comerciantes não conhecem seus princípios de trabalho e, em geral, é impossível prever qual a fase de mercado que será o mais problemático para o robô. Os programadores geralmente escolhem a quarta abordagem, eles começam a fazer um robô comercial desde o início, sem gastar tempo para negociação manual. Por que trocar manualmente Você pode fazer um robô passar alguns meses e colher os benefícios dos seus esforços, então. Mas sem dores, sem ganhos. Na maioria dos casos, os programadores começam a criar toda a infra-estrutura necessária usando uma linguagem de programação familiar ao invés de apenas fazer um robô comercial obtendo e processando dados de preços, representação visual de gráficos e indicadores, meios personalizados de testar estratégias em dados históricos e assim por diante. Eles ganham muita experiência no processo. Mas, na maioria dos casos, essa experiência não os aproxima da criação de metas finais de um sistema de negociação automatizado. E, mesmo se um robô comercial for criado, não há garantia de que seja lucrativo. E se um programador quiser redigir outro sistema comercial, são inevitáveis ​​reestruturas profundas e novos erros de programação. Há também a quinta abordagem, comprando um sistema comercial pronto na forma de um robô comercial. Neste caso, um comerciante atua como operador ou sintonizador. Esta abordagem economiza muito tempo (não precisa aprender muitas coisas novas) e permite que os comerciantes entrem rapidamente no mundo da negociação automatizada. A principal desvantagem desta abordagem decorre de suas vantagens que você não conhece os princípios de operação de seu robô comercial e sua estrutura. E mesmo que um vendedor tenha fornecido uma descrição detalhada do sistema de negociação implementado, você nunca estará completamente seguro nele. No entanto, nenhuma das abordagens mencionadas pode dar-lhe uma garantia absoluta exceto um depósito bancário. Mas essa não é uma solução muito adequada para pessoas interessadas em negociação no mercado e maneiras de aumentar seus ativos privados. Qual é a melhor abordagem para a negociação automatizada para um comerciante Cada uma das cinco abordagens descritas tem suas vantagens e corresponde a algum tipo de comerciante definido. É improvável que você escolha a primeira abordagem (descrição analítica do mercado) sem um bom histórico matemático. É igualmente improvável que você comece a fazer robôs comerciais com base em redes neurais. No entanto, ambas as abordagens são muito emocionantes e proporcionam um bom exercício intelectual. Abaixo, vamos discutir apenas a segunda abordagem, que já é considerada a clássica. Essa é a abordagem geralmente escolhida por novos seguidores da negociação automatizada, já que a análise técnica continua a ser a área de conhecimento chave ao aprender noções básicas de negociação. Outra vantagem da segunda abordagem é que depois de passar algum tempo para negociação manual e obter o senso do mercado, você já terá uma boa compreensão das ferramentas de análise técnica. Além disso, você poderá programar estratégias de negociação ou criar redes neurais em um nível superior. Os primeiros passos na criação de um robô de negociação Para criar um sistema de negociação automatizado, você precisa de habilidades de programação e conhecimento de todas as complexidades do processamento de pedidos comerciais. Mas primeiro você pode começar a partir dos robôs de negociação Expert Advisors, feitos a partir da biblioteca gratuita do Code Base. Baixe qualquer Expert Advisor (robô comercial) e inicie-o no Strategy Tester do MetaTrader 4 ou nos terminais do cliente MetaTrader 5. Selecione um intervalo de histórico que mostre uma forte tendência e um intervalo com um plano. Execute a otimização de parâmetros de entrada do Expert Advisor e examine suas diferenças nesses dois intervalos. Inicie um Expert Advisor com os parâmetros ótimos para um plano em um intervalo de tendências e com os parâmetros ótimos para uma tendência em um intervalo plano. Examine as diferenças nos resultados da negociação, distribuições de negócios e outros parâmetros estatísticos. Como resultado, você saberá o quanto o comportamento do seu sistema comercial pode variar quando a situação do mercado muda. Seria melhor tentar várias estratégias de negociação padrão usando este método em diferentes partes da história e vários símbolos. Tal operação de teste impede o ajuste de um sistema de negociação para algum intervalo de histórico definido e fornece uma melhor compreensão dos sistemas de tendência e contrapressão. O próximo passo seria criar sistemas de negociação mais complexos com base na combinação de sinais simples já existentes do MQL5 Wizard set. Você pode testar e desenvolver sua intuição comercial, classificando sinais ruins de um sistema usando um filtro baseado em outro sistema sem meios de programação. O principal não é superar. Quanto mais parâmetros de entrada um sistema comercial possui, mais fácil será montar. Houve muitas discussões sobre as diferenças entre otimização e ajuste. Não há soluções amplamente aceitas aqui. Mas a visualização dos resultados da testoptimização e seu próprio senso comum podem ajudá-lo. Aprenda a identificar os parâmetros de entrada mais críticos que afetam seu sistema comercial de todo o conjunto de dados de entrada. Não preste muita atenção aos parâmetros secundários que levam tempo durante a otimização, mas não afetam a própria lógica do sistema. Lembre-se de que um bom sistema de negociação sempre demonstra um pequeno movimento livre de parâmetros secundários, mas não apresenta volatilidade dramática no caso de mudanças no mercado insignificantes. Você pode gastar tanto tempo nesta fase, conforme desejar, até ter certeza de que pode entender qualquer estratégia de negociação que examine resultados de teste e otimização. O conhecimento de pontos fortes e fracos dos sistemas padrão permitirá que você esteja melhor preparado ao criar seu próprio robô comercial. Programação de um robô de negociação Suponha que você tenha aprendido a aprender linguagem de programação MQL4 ou MQL5 e agora você está pronto para escrever seu primeiro consultor especialista para o terminal do cliente MetaTrader. Vários casos são possíveis aqui. Em primeiro lugar, você pode examinar vários robôs comerciais pré-fabricados descritos nos artigos para entender melhor as complexidades de programação. Em segundo lugar, você pode fazer perguntas sobre MQL4munity ou MQL5munity. Se você tiver problemas não resolvidos. Os participantes da comunidade experiente geralmente ajudam os recém-chegados a mostrarem interesse sincero no assunto. Em terceiro lugar, você pode solicitar imbricação ou desenvolvimento de um Consultor Especialista ou um indicador no serviço de Emprego. Se você não conseguir escrever um programa necessário por conta própria. Mas mesmo que você faça um pedido por meio do serviço freelancer, você deve ter alguma idéia sobre o teste de estratégia para encontrar um idioma comum com um desenvolvedor. Além disso, o conhecimento básico de uma linguagem de programação permite implementar pequenas correções e alterações no código depois que o trabalho já foi concluído. Afinal, não seria muito conveniente chamar um programador para corrigir todos os pequenos problemas que você encontrar. Seria muito mais fácil e rápido consertar você mesmo. Não há necessidade de reinventar a roda Como encontrar sua própria estratégia comercial, ou pelo menos em que direção você deve concentrar sua busca. Todos os comerciantes protegem seus próprios sistemas de negociação, se tiverem um. Todos os recém-chegados querem criar um sistema lucrativo ou obter um ready-made. Ao mesmo tempo, qualquer solução obtida parece ser muito simples em comparação com as idéias dos recém-chegados sobre um sistema comercial genuíno. Os homens do exército de todo o mundo são propensos a níveis excessivos de sigilo. Há muitas piadas sobre isso, incluindo a seguinte: o segredo militar não está no que você está estudando, - um oficial diz aos estudantes da escola militar, - mas no fato de que exatamente você está estudando isso. A situação com sistemas de negociação é bastante similar: a maioria dos comerciantes usa idéias comerciais simples e bem conhecidas com modificações menores, por exemplo, adicionando Trailing Stop ou confirmações de indicadores de tendência. Existem muitos fóruns de comerciantes com acesso limitado onde os participantes se unem para desenvolver ou melhorar alguns sistemas comerciais secretos. O mais interessante é que esses sistemas não contêm nada de especial. Normalmente, uma idéia bem conhecida (como o comércio com a tendência) é usada como base. Então, é aperfeiçoado com alguns novos indicadores desconhecidos para o público em geral. Portanto, você pode facilmente obter códigos de código de robô comercial disponíveis e tentar usá-los corretamente com vários símbolos e prazos. Outro ditado popular pode ser mencionado aqui: Você não gosta de gatos. Você não sabe como cozinhar. É difícil de acreditar, mas a probabilidade de desenvolver algo realmente novo é muito pequena. O principal aqui é criar um sistema usando ingredientes disponíveis. Não pense que alguns gênios tenham acesso a alguns sistemas secretos dos laboratórios da NASA. Esse é o segredo do Graal. Apenas alguns os farão assim, por que ninguém usa idéias comerciais, se eles estão literalmente alcançados nas armas. A resposta provavelmente está na psicologia humana. A equipe de muitos bancos e grandes fundos de investimento inclui comerciantes que realizam negócios de acordo com regras rígidas e dentro de volumes limitados. Mas por algumas razões, apenas alguns comerciantes institucionais deixam suas empresas e começam a negociar usando seu próprio dinheiro. Acontece que você precisa não só de uma estratégia de negociação, mas também da disciplina de ferro para segui-la. Muitos comerciantes descobriram com arrependimento que eles também têm os mesmos problemas psicológicos descritos nos livros. Depois de perceber que o pior inimigo dos comerciantes são eles mesmos, um recém-chegado começa a pensar em fazer um robô comercial para eliminar um fardo psicológico. Embora me desvie ligeiramente do tema, devo mencionar os lendários comerciantes de tartarugas que negociaram com sucesso em vários mercados no final do século XX. Leia Way of the Turtle e você verá que a coisa mais importante para um comerciante é uma autodisciplina e não um sistema top secreto. Infelizmente, a maioria dos recém-chegados não conseguirá seguir uma estratégia rentável, mesmo que obtenha gratuitamente. O problema é que a maioria das estratégias de negociação perfeitamente adequadas para o comércio manual dificilmente podem ser formalizadas e transcritas para uma linguagem de programação. As estratégias que podem ser facilmente formalizadas (por exemplo, as que envolvem a interseção de duas médias móveis) são muito simples e exigem muitos aprimoramentos e melhorias, para que possam ser usadas na prática. Assim, uma idéia simples é gradualmente complicada por uma abundância de parâmetros externos impedindo um robô comercial de entradas falsas e erros claramente visíveis para um desenvolvedor. Emerge uma questão de otimização de robô comercial. Este processo não deve se transformar em uma sobre-optimização e ajuste para um intervalo de histórico específico. Para resolver este problema, o teste direto usando os parâmetros do sistema obtidos foi implementado no terminal MetaTrader 5. Se os resultados de teste direto não diferirem significativamente dos obtidos na seção de otimização, existe uma probabilidade de que um robô de negociação seja estável o suficiente por algum tempo após seu lançamento em uma conta de negociação. O comprimento de um intervalo para a otimização de parâmetros e um valor real de algum tempo dependem de um determinado sistema de negociação. Assim, a otimização de um robô comercial antes de lançá-lo em uma conta comercial lembra de desenrolar uma funda - mais com cuidado, desenrolamos e lançamos um projétil da funda, mais longe voará e a mais precisa sua trajetória será. Um robô de negociação completamente desenvolvido manterá um resultado positivo em uma conta de negociação por mais tempo do que um robô comercial obtido como resultado de uma montagem. Podemos dizer que o Grail é uma idéia de trabalho e ajuste correto dos parâmetros realizados de tempos em tempos nos momentos de mudanças nas condições do mercado. Isso pode ser ilustrado pelos resultados do Campeonato Automatizado de Negociação que é realizado por muitos anos já. Os assessores especializados de todos os participantes passaram por testes automáticos no intervalo de tempo de janeiro até o final de julho. O principal requisito para passar o teste automático é um lucro obtido por oito meses de testes. Mas menos de metade dos robôs comerciais admitidos para o Campeonato continuam lucrativos após os meses de trabalho autônomo. Você também pode tentar suas habilidades em fazer e ajustar o seu robô comercial para participar do Campeonato e obter os resultados de testes avançados do seu Consultor Especializado. Além disso, a participação é gratuita e os prêmios são impressionantes. Esperamos vê-lo lá. Conclusão Os comerciantes intradiários profissionais passam muitas horas sentados em seus computadores e esperando o momento certo para realizar um acordo. Claro, eles não podem estar em boa forma o tempo todo. A maioria dos comerciantes chega à conclusão de que suas ações violam suas próprias regras de negociação. Nem todos os sistemas de negociação podem ser completamente formalizados, mas mesmo esses sistemas podem, na maioria dos casos, adotar ferramentas adicionais, como indicadores, sistemas analíticos e filtros de sinais falsos. Não fazemos recomendações especiais aqui quanto ao aprendizado de línguas MQL4 ou MQL5, pois há muitos outros artigos úteis sobre esse assunto. O objetivo deste artigo foi fornecer alguma idéia inicial sobre como começar a fazer seu robô comercial para os terminais MetaTrader 4 e MetaTrader 5. Esperamos que este artigo economize tempo para os recém-chegados e mostre a direção certa na difícil tarefa de desenvolver um sistema de negociação automatizado. Atenção: todos os direitos sobre estes materiais são reservados pela MQL5 Ltd. É proibida a cópia ou reimpressão desses materiais, no todo ou em parte. Trading Codificação de Sistemas: Design do Sistema O primeiro passo ao codificar qualquer aplicação é a fase de design. Seja codificando uma aplicação de software ou um sistema de negociação, um design e um planejamento cuidadosos irão ajudá-lo a terminar em um curto período de tempo com menos erros. Vamos usar um processo simples de três passos para projetar o nosso sistema comercial. Passo 1: Crie suas regras do sistema de negociação O primeiro passo ao projetar um sistema de negociação é simplesmente criar as regras pelas quais seu sistema irá operar. Deve haver quatro regras básicas para cada sistema comercial: Compre - Identifique quando você deseja comprar uma posição. 13 Vender - Identifique quando você quer vender uma posição. 13 Parar - Identifique quando você deseja cortar suas perdas. 13 Target - Identifique quando você deseja reservar um ganho. Então, por exemplo: Comprar - Quando a média móvel de 30 dias (MA) cruza acima do MA 13 de 60 dias. Venda - Quando o MA de 30 dias cruza abaixo do MA 13 de 30 dias - Perda máxima de 10 unidades 13 Objetivo - Meta de 10 unidades Este sistema de exemplo irá comprar e vender com base nas médias móveis de 30 e 60 dias e automaticamente irá registrar ganhos após um lucro de 10 unidades ou vender com perda após um movimento de 10 unidades na direção oposta. Passo 2: identifique os componentes de cada regra Agora que temos nossas regras, precisamos identificar os componentes envolvidos em cada regra. Cada componente deve conter dois elementos: o indicador ou estudo utilizado 13 As configurações para o indicador ou estudo Estes componentes devem ser construídos digitando o nome abreviado para o estudo, seguido das configurações entre parênteses. Essas configurações entre parênteses são referidas como parâmetros do indicador ou estudo. Ocasionalmente, um estudo pode ter vários parâmetros, caso em que você simplesmente os separa com as comas. Leve alguns exemplos: MA (25) - média móvel de 25 dias 13 RSI (25) - índice de força relativa de 25 dias 13 MACD (Fechar (0), 5,5) - Conjunto de divergência de convergência média móvel com base no fechamento de hoje, com um comprimento rápido de cinco dias e um comprimento lento de cinco dias. Se você não tem certeza de quantos parâmetros requer um determinado componente, Você pode simplesmente consultar sua documentação de programas de negociação, que lista esses componentes juntamente com os valores que precisam ser preenchidos. Por exemplo, podemos ver que a Tradecision nos diz que precisamos de três parâmetros com o MACD: então, para o exemplo mencionado no passo Um, usamos: MA (30) - Significado média móvel de 30 dias 13 MA (60) - Significado média móvel de 60 dias Passo 3: Adicionando ação Agora vamos adicionar ações às nossas regras. Cada ação adere para o seguinte formato básico: IF Condição WHILE Condição THEN Ação Normalmente, a condição será composta pelos componentes e parâmetros que você criou acima, enquanto a ação consistirá em comprar ou vender. As condições também podem consistir em inglês simples se nenhum componente estiver presente. Observe que o componente while é opcional. Aqui estão alguns exemplos para ajudar a ilustrar este ponto: SE MA (30) cruza acima de MA (60) ENTÃO Compre 13 SE MA (30) cruza abaixo de MA (60) QUALQUER Volume (20,000) ENTÃO Vender 13 SE EMA (25) É Mais do que MA (5) ENTÃO Vender 13 SE o RSI (20) é igual a 50 ENTÃO Compre Então, pelo exemplo que estamos usando, marque simplesmente a lista: SE MA (30) cruza acima de MA (60) ENTÃO Compre 13 SE MA ( 30) Crosses Below MA (60) ENTÃO Vender 13 Se o nosso comércio tem 10 unidades de lucro, então, venda 13 Se o nosso comércio tem 10 unidades de perda, então, venda o que vem em seguida, então, veja a conversão dessas regras em um código que seu computador Pode entender a codificação de sistemas de negociação: o sistema de negociação de alto nível Sistema de negociação e gerenciamento de processos Sistema de negociação de alta freqüência e gerenciamento de processos Conselheiro: Roy E. Welsch. Departamento: Programa de Design e Gestão de Sistemas. Editora: Massachusetts Institute of Technology Data de emissão: 2009 As empresas comerciais hoje em dia são altamente dependentes da mineração de dados, modelagem de computadores e desenvolvimento de software. Os analistas financeiros executam muitas tarefas semelhantes às das indústrias de software e fabricação. No entanto, o setor financeiro ainda não adotou completamente estruturas de engenharia de sistemas de alto padrão e abordagens de gerenciamento de processos que tenham sido bem sucedidas nas indústrias de software e fabricação. Muitas das metodologias tradicionais para design de produtos, controle de qualidade, inovação sistemática e melhoria contínua encontradas em disciplinas de engenharia podem ser aplicadas no campo das finanças. Esta tese mostra como o conhecimento adquirido de disciplinas de engenharia pode melhorar o gerenciamento de projetos e processos de sistemas de negociação de alta freqüência. Os sistemas de negociação de alta freqüência são baseados em computação. Esses sistemas são sistemas de software automáticos ou semi-automáticos que são inerentemente complexos e exigem um alto grau de precisão de projeto. O design de um sistema de comércio de alta frequência liga vários campos, incluindo financiamento quantitativo, design de sistemas e engenharia de software. No setor financeiro, onde as teorias matemáticas e os modelos comerciais são relativamente bem pesquisados, a capacidade de implementar esses projetos em práticas comerciais reais é um dos elementos-chave da competitividade das empresas de investimento. A capacidade de converter idéias de investimento em sistemas de negociação de alto desempenho de forma eficaz e eficiente pode dar a uma empresa de investimento uma enorme vantagem competitiva. (Cont.) Esta tese fornece um estudo detalhado composto por design de sistema de negociação de alta freqüência, modelagem de sistemas e princípios e gerenciamento de processos Para o desenvolvimento do sistema. É dada especial ênfase ao backtesting e otimização, que são consideradas as partes mais importantes na construção de um sistema comercial. Esta pesquisa desenvolve modelos de engenharia de sistemas que orientam o processo de desenvolvimento. Ele também usa sistemas de comércio experimental para verificar e validar os princípios abordados nesta tese. Finalmente, esta tese conclui que princípios e estruturas de engenharia de sistemas podem ser a chave para o sucesso na implementação de sistemas de investimento de alta freqüência ou de investimento quantitativo. Tese (S. M.) - Instituto de Tecnologia de Massachusetts, Projeto de Sistema e Programa de Gestão, 2009. Catalogado a partir da versão em PDF da tese. Inclui referências bibliográficas (p. 78-79). Palavras-chave: Programa de Design e Gestão de Sistemas. Minha conta

No comments:

Post a Comment