Friday, 12 May 2017

Crie Seu Próprio Sistema Automatizado De Negociação


Como fazer um robô de negociação em nenhum momento. Para fazer um robô de negociação, você precisa de um sistema de negociação. Trading em mercados financeiros envolve muitos riscos, incluindo o mais crítico - o risco de fazer uma decisão de negociação errada O sonho de cada comerciante é Encontrar um robô comercial que está sempre em boa forma e não sujeito a fraquezas humanas - medo, ganância e impaciência. Cada recém-chegado quer obter ou criar um sistema de comércio claro e rigoroso que pode ser apresentado sob a forma de algoritmos e completamente se livrar Operações de rotina É possível. Um sistema de comércio é uma condição necessária para entrar no mercado e que o sistema deve ser rentável, é claro Quando os recém-chegados ao mercado, eles são geralmente esmagados pela grande massa de informações difíceis de compreender Livros e fóruns de comerciantes Pode fornecer alguma ajuda nesse caso. Infelizmente, nem todos os autores são comerciantes bem sucedidos e nem todos os comerciantes bem sucedidos escrever livros Muitos recursos especiais da web são criados apenas para ganhar lucro para o seu Porque é muito mais difícil negociar seu próprio dinheiro do que para emitir previsões e ensinar sistemas negociando. Cada comerciante deve passar independentemente todas as fases de uma criação de sistema negociando Há um provérbio popular que não importa que sistema você se usa para negociar , A principal coisa é que você deve realmente comércio de acordo com esse sistema De outra forma, a negociação no mercado se transforma em um jogo com um resultado previsível. Trading Robots e Forex. Forex mercado é acreditado para ter uma grande liquidez Além disso, permite a negociação 24 horas Um dia, ao contrário de muitos outros mercados Portanto, muitos comerciantes tentam fazer robôs de negociação especialmente para o mercado Forex, uma vez que oferece um grande número de instrumentos de negociação. No entanto, os céticos afirmam que todos os pares de moedas são fortemente correlacionados entre si fornecendo muito baixa volatilidade em O mercado Mas seus oponentes respondem que cada par de moedas tem suas próprias características e baixa volatilidade é compensada por uma grande alavancagem. Em qualquer caso, os instrumentos Forex são atraentes para Tornando robôs comerciais ea maioria dos apoiantes da negociação automatizada aprimorar suas habilidades em pares de moedas. MetaTrader 4 e MetaTrader 5 terminais de negociação são especialmente concebidos para desenvolver facilmente sistemas de negociação automatizada, mas ao mesmo tempo, sua interface também é conveniente para trading. How manual Fazendo um Trading Robot. There são muitas abordagens para a construção de um sistema automatizado de negociação Vamos descrever apenas alguns principais ones. The primeira abordagem repousa sobre matemática Um desenvolvedor tenta criar uma espécie de uma equação que pode considerar muitos fatores Esta abordagem é baseada em A firme crença de que os movimentos de preços são gerenciados por um modelo que pode ser encontrado usando dados históricos disponíveis. Na maioria dos casos, os seguidores de tal abordagem sabem muito matemática, mas não sabem nada sobre 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 trabalho Sistema automatizado de negociação não é tão importante. A segunda abordagem é baseada no estudo das leis de mercado Não há tentativas de entender por que o preço sobe ou desce quando vários números de análise técnica aparecem em um gráfico A vantagem desta abordagem é que ele não exige Conhecimento especial de matemática e não faz suposições sobre o mercado de força motriz. Ele é mais claro e conveniente quando se estuda negociação É mais popular entre os comerciantes que receberam reconhecimento universal A desvantagem da abordagem é a necessidade de acompanhar constantemente todos os símbolos necessários. Sooner ou Mais tarde, um comerciante começa a considerar a automação de processos de negociação ea questão mais considerável aparece naquela fase de complexidade de formalizar as regras de negociação ao tentar expressá-los na forma de algoritmos Em alguns casos, os comerciantes que tentam pedir um robô comercial não pode descrever regras comerciais e Encontrar um terreno comum com programmers. The terceira abordagem é baseada na tentativa de criar uma caixa preta bas Ed em redes neurais com o uso das ferramentas ready-made amplamente disponíveis em softwares especiais e pacotes de matemática A criação de um sistema de negociação automatizada com os elementos da inteligência artificial é uma tarefa emocionante e desafiadora, mesmo para os recém-chegados, Fundo, nem experiência de programação - tudo é feito usando ajudas visuais. Um comerciante deve saber o básico de indicadores técnicos, possuir uma capacidade de preparar dados de preços necessários e experiência em algum pacote definido para trabalhar com redes neurais O principal inconveniente desta abordagem é que Um robô de negociação obtido usando essas ferramentas especializadas para trabalhar com redes neurais é na verdade uma caixa negra Os comerciantes não conhecem seus princípios de funcionamento e, geralmente, é impossível prever qual fase do mercado será a mais problemática para o robô. Quarta abordagem eles começam a fazer um robô comercial desde o início sem gastar tempo para tra manual Ding Por que trocar manualmente Você pode fazer um robô passar alguns meses e colher os benefícios de seus esforços then. But 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, em vez de apenas fazer um robô comercial Obtenção e processamento de 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 meta final de Um sistema automatizado de negociação E mesmo se um robô comercial é criado, não há garantia de que será rentável E se um programador quer escrever outro sistema de negociação Reestruturação profunda e novos erros de programação são inevitáveis. Há também a quinta abordagem de compra de um Ready-made sistema de comércio sob a forma de um robô de negociação Neste caso, um comerciante atua como um operador ou um sintonizador Esta abordagem economiza muito tempo, sem necessidade de lea Rn muitas coisas novas e permite que os comerciantes para entrar rapidamente no mundo da negociação automatizada. A principal desvantagem desta abordagem decorre de suas vantagens você não conhece os princípios de operação do seu robô comercial e sua estrutura e mesmo se um vendedor forneceu-lhe com Uma descrição detalhada do sistema de comércio implementado, você nunca estará completamente certo nele. No entanto, nenhuma das abordagens mencionadas podem dar-lhe garantia absoluta, exceto um depósito bancário Mas isso não é uma solução muito adequada para as pessoas interessadas no mercado de negociação e formas Para 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 definido de comerciante É improvável que você vai escolher a primeira aproximação descrição analítica do mercado sem Bom fundo matemático É igualmente improvável que você vai começar a fazer robôs de negociação com base em redes neurais No entanto, tanto do Se abordagens são muito emocionantes e proporcionar um bom exercício intelectual. Vamos discutir apenas a segunda abordagem, que já é considerado o clássico que é a abordagem geralmente escolhida por novos seguidores do comércio automatizado, como a análise técnica continua a ser a chave Área de conhecimento ao aprender básico de negociação. Outra vantagem da segunda abordagem é que depois de passar algum tempo para o comércio manual e obter o sentido do mercado, você já terá uma boa compreensão de ferramentas de análise técnica Além disso, você será capaz de programar Estratégias de negociação ou criar redes neurais em um nível mais elevado. Os primeiros passos em fazer um robô de negociação. Para fazer um sistema de negociação automatizado, você precisa de habilidades de programação e conhecimento de todos os complexos de processamento de pedidos de comércio Mas primeiro você pode começar a partir do ready - Expert Advisors trading robôs a partir da biblioteca livre Code Base. Descarregar qualquer Expert Advisor trading robô e lançá-lo no Strategy Tester de MetaT Rader 4 ou terminais MetaTrader 5 cliente Selecione um intervalo de histórico mostrando uma forte tendência e um intervalo com um plano Execute a otimização de um Expert Advisor parâmetros de entrada e examinar as suas diferenças nestes dois intervalos. Lançar um Expert Advisor com os parâmetros ideais para um flat on Um intervalo de tendência e com os parâmetros ideais para uma tendência em um intervalo plano Examine as diferenças nos resultados de negociação, promoções distribuições e outros parâmetros estatísticos Como resultado, você vai saber o quanto o comportamento do seu sistema de comércio pode variar quando a situação do mercado mudanças . 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 um julgamento impede de ajustar um sistema de negociação para um intervalo de história definida e fornece uma melhor compreensão dos sistemas de tendência e de contra-tendência. O próximo passo Seria criar sistemas de negociação mais complexos baseados na combinação de sinais simples já existentes A partir de MQL5 Assistente conjunto Você pode testar e desenvolver a sua negociação intuição triagem para fora maus sinais de um sistema usando um filtro baseado em outro sistema sem programação means. The principal coisa aqui não é overachieve Os parâmetros de entrada mais um sistema comercial tem, Está a ser montado Tem havido um monte de discussões sobre as diferenças entre otimização e montagem Não existem soluções amplamente aceitas aqui Mas a visualização de resultados de otimização de teste e seu próprio senso comum pode ajudá-lo. Aprenda a identificar os parâmetros de entrada mais críticos que afetam seu Sistema de comércio 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 que um bom sistema de negociação sempre demonstra um pequeno movimento livre de parâmetros secundários, mas não Não exibir volatilidade dramática em caso de mudanças de mercado insignificantes. Você pode gastar tanto tempo nesta fase, como você deseja , Até que você tenha certeza de que você pode entender qualquer estratégia de negociação exame de teste e resultados de otimização O conhecimento das forças e fraquezas dos sistemas padrão permitirá que você esteja melhor preparado ao criar o seu próprio robô comercial. Programação de um robô Trading. Suppose que você aprendeu Estão aprendendo a linguagem de programação MQL4 ou MQL5 e agora você está pronto para escrever o seu primeiro Expert Advisor para terminal cliente MetaTrader Vários casos são possíveis here. First, você pode examinar vários ready-made robôs de negociação descritos nos artigos para entender melhor intricacies. Second , Você pode fazer perguntas sobre ou se você tiver quaisquer problemas não resolvidos Comunidade experientes participantes geralmente ajudam os recém-chegados mostrando interesse sincero no assunto. Terceiro, você pode solicitar imrpovement ou desenvolvimento de um Expert Advisor ou um indicador no serviço de Jobs, se você não é capaz Para escrever um programa necessário por conta própria Mas mesmo se você fizer um pedido através do serviço freelance, você deve hav E alguma idéia sobre testes de estratégia para encontrar uma linguagem comum com um desenvolvedor. Além disso, o conhecimento básico de uma linguagem de programação permite que você implemente pequenas correções e alterações no código após o trabalho já foi concluído Afinal, não seria muito conveniente Para chamar um programador para corrigir cada pequeno problema que você encontrar seria muito mais fácil e rápido para corrigi-lo yourself. No necessidade de reinventar a Wheel. How para encontrar sua própria estratégia de negociação, ou pelo menos em que direção você deve concentrar sua pesquisa Todos os comerciantes protegem seus próprios sistemas negociando, se têm um Todos os newcomers querem criar um sistema rentável ou começam um ready-made um Ao mesmo tempo, toda a solução obtida parece ser demasiado simples comparado aos newcomers idéias sobre um sistema negociando genuíno. Exército homens em todo o mundo são propensos a níveis excessivos de segredo Há muitas piadas sobre isso, incluindo o seguinte O segredo militar não é o que você está estudando - um oficial diz para a escola militar Os estudantes, - mas no fato de que exatamente você está estudando a situação com os sistemas de negociação é semelhante o suficiente maioria dos comerciantes usam simples e bem conhecidas idéias de negociação com pequenas modificações, por exemplo, adicionando Trailing Stop ou confirmações de indicadores de tendência. De fóruns de comerciantes com acesso limitado, onde os participantes se juntam aos seus esforços para desenvolver ou melhorar alguns sistemas secretos de negociação A coisa 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 Ele é aperfeiçoado com alguns novos indicadores desconhecidos para o público em geral. Portanto, você pode facilmente ter disponível trading robôs código-fonte e tentar usá-los corretamente com vários símbolos e cronogramas Outro ditado popular pode ser mencionado aqui Você não gosta de gatos Você simplesmente don t Sabe como cozinhá-los É difícil de acreditar, mas a probabilidade de que você vai desenvolver algo realmente novo é muito pequeno A principal coisa aqui é a creat Um sistema usando ingredientes disponíveis Não pense que alguns gênios têm acesso a alguns sistemas secretos de laboratórios da NASA Esse é o segredo do Graal. Only a Few Will Make It Through. So, por que ninguém usa idéias de negociação, se eles são literalmente Dentro do alcance do braço A resposta provavelmente está na psicologia humana A equipe de muitos bancos e grandes fundos de investimento inclui comerciantes realizando negócios de acordo com regras rígidas e dentro de volumes limitados Mas por algumas razões, apenas alguns comerciantes institucionais deixar suas empresas e começar a Próprio dinheiro. Parece que você precisa não só uma estratégia de negociação, mas também a disciplina de ferro para segui-lo Muitos comerciantes descobriram com pesar que eles também têm os mesmos problemas psicológicos descritos em livros Depois de perceber que o pior inimigo dos comerciantes são eles próprios, Um recém-chegado começa a pensar em fazer um robô comercial para eliminar um fardo psicológico. Embora eu ligeiramente desviar do tópico, devo mencionar o legen Dary Turtles comerciantes que trocaram com êxito em vários mercados no final do século 20 Read Way of the Turtle e você vai ver que a coisa mais importante para um comerciante é uma auto-disciplina e não algum sistema top secret Alas, a maioria dos recém-chegados não será capaz Para seguir uma estratégia rentável, mesmo se obtê-lo para livre. O problema é que a maioria de estratégias negociando que são cabidas perfeitamente para negociar manual dificilmente podem ser formalizadas e transcritas a uma língua de programação As estratégias que podem fàcilmente ser formalizadas por exemplo, aquelas que envolvem Duas interseções de médias móveis são muito simples e exigem muitos aprimoramentos e aprimoramentos, para que possam ser usados ​​na prática. Assim, uma idéia simples é gradualmente complicada por uma abundância de parâmetros externos que impedem um robô de negociação de entradas falsas e erros claramente visíveis para um Desenvolvedor Um problema de otimização de robô de negociação emerge Este processo não deve se transformar em um overoptimization e montagem para um intervalo de história particular. Se os resultados do teste avançado não forem significativamente diferentes dos obtidos na seção de otimização, há uma probabilidade de que um robô de negociação será estável o suficiente para Algum tempo após o seu lançamento em uma conta de negociação Um comprimento de um intervalo para parâmetros de otimização e um valor real de que algum tempo dependem de um determinado sistema de comércio. Assim, a otimização de um robô comercial antes de lançá-lo em uma conta de negociação lembra de desenrolar Um sling - mais cuidadosamente temos desenrolado e lançou um projéctil da sling, mais longe ele vai voar e mais precisa a sua trajectória será Um robô de negociação completamente desenvolvido irá manter um resultado positivo em uma conta comercial por um tempo mais longo do que um Robô de negociação obtido como resultado de um encaixe Podemos dizer que o Graal é uma idéia de trabalho e ajuste correto de parâmetros executados de tempo para ti Me nos momentos de mudanças de condições de mercado. Isto pode ser ilustrado pelos resultados do Campeonato de Negociação Automatizada que é realizada por muitos anos já Enviados Expert Advisors de todos os participantes passam através de testes automáticos sobre o intervalo de tempo de janeiro a fim de julho O principal requisito para passar o teste automático é um lucro obtido durante oito meses de testes Mas menos de metade dos robôs de negociação admitidos para o Campeonato continuam a ser rentável depois de meses de trabalho autônomo. Você também pode tentar suas habilidades em fazer e ajustar a sua negociação Robô para participar no Campeonato e obter os resultados de teste para a frente do seu Expert Advisor Além disso, a participação é gratuita e os prêmios são impressionantes Esperamos vê-lo there. Professional intraday comerciantes gastam muitas horas sentados em seus computadores e à espera do direito Momento para executar um negócio Claro, eles não podem estar em boa forma o tempo todo. A maioria dos comerciantes chegam à conclusão de que sua ação 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 relativas às linguagens MQL4 ou MQL5 Aprendendo, porque há muitos outros artigos úteis a respeito desse assunto O objetivo deste artigo era fornecer alguma idéia inicial sobre como começar fazer seu robô de troca para MetaTrader 4 e terminais de MetaTrader 5. Nós esperamos que este artigo conservará o tempo para Novatos e mostrar a direção certa na tarefa difícil de desenvolver um sistema de negociação automatizado. Forum sobre a negociação, sistemas de negociação automatizada e estratégias de negociação de teste Revisão de Imprensa newdigital, 2014 02 15 06 58 Trader Estilos e Sabores com base no artigo dailyfx Técnico vs Fundamental Análise Técnica É a arte de estudar o comportamento do preço passado e tentar antecipar movimentos de preços no futuro Estes são comerciantes S que se concentram exclusivamente em gráficos de preços e muitas vezes incorporam indicadores e ferramentas para ajudá-los Eles olham para ação de preço, apoio e níveis de resistência, e padrões de gráfico para criar estratégias de negociação que esperamos irá transformar um lucro Análise fundamental analisa as condições económicas subjacentes de Cada moeda Os comerciantes irão recorrer ao Calendário Econômico e Anúncios do Banco Central Eles tentam prever onde o preço pode ser dirigido com base em taxas de juros, reivindicações desempregados, rendimentos do tesouro e muito mais Isso pode ser feito olhando padrões nos últimos boletins de notícias econômicas ou por compreensão A situação econômica de um país A curto prazo vs médio prazo vs longo prazo Decidir o prazo que devemos usar é principalmente decidido por quanto tempo você tem que dedicar ao mercado em uma base diária Quanto mais tempo você tem Cada dia para o comércio, o menor o prazo que você poderia negociar, mas a escolha é, finalmente, a sua negociação de curto prazo geralmente significa colocar negócios com a intenção de clo Cantar a posição dentro do mesmo dia, também conhecido como Day Trading ou Scalping se os comércios são abertos e fechados muito rapidamente Devido à velocidade em que os comércios são abertos e fechados, os comerciantes de curto prazo usam gráficos de tempo-quadro pequeno Por hora, 30min , 15min, 5min, 1min Negociações de médio prazo ou Swing Trades normalmente são deixados em aberto por algumas horas até alguns dias Comum quadros de tempo utilizados para este tipo de negociação são Daily, 4 horas e gráficos horários Longo prazo de negociação envolve manter Comércios abertos por dias, semanas, meses e possivelmente anos gráficos semanais e diários são escolhas populares para comerciantes a longo prazo Se você é um comerciante a tempo parcial, pode ser adequado para começar por negociação de longo prazo que exigem menos do seu tempo Discretionary vs Automated negociação discrecional significa um comerciante está abrindo e fechando comércios usando seu próprio critério Eles podem usar qualquer um dos estilos de negociação acima para criar uma estratégia e, em seguida, implementar essa estratégia, colocando cada comércio individual A primeira challe Nge está criando uma estratégia vencedora a seguir, mas o segundo desafio e, possivelmente, mais difícil é diligentemente seguindo a estratégia através grossa e fina A psicologia de negociação pode causar estragos em uma estratégia de outra forma rentável se você quebrar suas próprias regras durante o tempo de crunch Trading automatizado ou Negociação algorítmica exige o mesmo tempo e dedicação para criar uma estratégia de negociação como um comerciante discricionário, mas então o comerciante automatiza o processo de negociação real Em outras palavras, software de computador abre e fecha os comércios por conta própria sem a necessidade do comerciante s assistência Esta tem três Principais benefícios Em primeiro lugar, ele economiza o comerciante um pouco de tempo, uma vez que eles não têm mais para monitorar o mercado tão perto de comércio de entrada Em segundo lugar, leva as emoções de negociação, deixando um computador abrir e fechar comércios em seu nome Isso significa que você Estão seguindo sua estratégia à letra e não são capazes de desviar E terceiro, estratégias automatizadas podem comércio 24 horas por dia, 5 dias por semana Dando a sua conta a capacidade de tirar proveito de qualquer oportunidade que vem a sua maneira, não importa a hora do dia. É um artigo DEVE LER para todos os clientes freelance aqui antes de pressionar o botão New Job, para minimizar o procedimento arbitration. Trading Systems Coding. Os sistemas de negociação são simplesmente conjuntos de regras que os comerciantes usam para determinar suas entradas e saídas de uma posição. Em uma situação ideal, os comerciantes devem se sentir como robôs, executando comércios sistematicamente e sem emoção Então, talvez você se perguntou o que é para parar um robô de negociação do meu sistema A resposta Nada Este tutorial irá apresentá-lo para as ferramentas e técnicas que você pode usar para criar seu próprio sistema automatizado de negociação. Sistemas são criados convertendo as regras do seu sistema de negociação em código que seu computador pode entender Seu computador então executa Essas regras através de seu software de negociação, que olha para os comércios que aderem às suas regras Finalmente, os comércios são automaticamente colocados com o seu broker. This tutorial incidirá sobre a segunda e terceira partes deste processo, onde as regras são convertidas em um código que Seu software de negociação pode entender e use. What Trading Software Suporta Automated Trading Systems Existem muitos programas de negociação que suportam sistemas de negociação automatizada Alguns irão gerar automaticamente e colocar negócios com o seu corretor Outros encontrarão automaticamente comércios que se encaixam nos seus critérios, mas exigem que você coloque As ordens com seu corretor manualmente Além disso, os programas de negociação totalmente automático muitas vezes exigem que você use corretoras específicas que suportam tais características que você também pode ter de preencher um formulário de autorização adicional. Vantagens e Desvantagens Sistemas de negociação automatizada têm vários benefícios, mas eles também têm suas desvantagens Afinal, se alguém tivesse um sistema de negociação que automaticamente Dinheiro o tempo todo, ele ou ela literalmente possuir um dinheiro que faz a máquina. Um sistema automatizado toma a emoção e ocupado-trabalha fora da troca, que permite que você se centre em melhorar suas regras da gerência da estratégia e do dinheiro. Uma vez que um sistema rentável é desenvolvido , Ele não requer nenhum trabalho de sua parte até que ele quebre, ou as condições de mercado exigem uma mudança. Se o sistema não é devidamente codificado e testado, grandes perdas podem ocorrer muito rapidamente. Às vezes é impossível colocar certas regras em código, o que torna Difícil de desenvolver um sistema automatizado de negociação. Neste tutorial você vai aprender a planejar e projetar um sistema de negociação automatizado, como traduzir este projeto em código que seu computador vai entender, como testar seu plano para garantir um desempenho ideal e, finalmente, Como colocar seu sistema para use. Find out se tomar o caminho menos viajado irá trabalhar em seu favor - ou contra it. A sistema de negociação pode economizar tempo e tirar a emoção de negociação, mas adotar uma leva a habilidade e recursos S - aprender mais here. Most corretores irá fornecer-lhe com os registros comerciais, mas também é importante para manter o controle em seu próprio. Estes passos farão de você um mais disciplinado, mais inteligente e, em última análise, mais ricos trader. Frequently Asked Questions. In Grã-Bretanha , Preto Quarta-feira 16 de setembro de 1992 é conhecido como o dia em que os especuladores quebrou a libra Eles didn t realmente. É importante saber o seu rácio dívida / rendimento, porque é a figura que os credores usam para medir a sua capacidade de reembolsar the. Learn Sobre as duas principais divisões operacionais da Monsanto Company e seus principais concorrentes dentro de cada setor, incluindo The Mosaic. Quando você faz um pagamento de hipoteca, o valor pago é uma combinação de uma taxa de juros e reembolso do principal Sobre as perguntas mais freqüentes. Na Grã-Bretanha, Black Wednesday 16 de setembro de 1992 é conhecido como o dia em que os especuladores quebrou a libra Eles didn t realmente. É importante saber o seu rácio dívida / rendimento, porque é a figura que os credores usam para medir a sua capacidade de reembolsar o. Lear N sobre as duas principais divisões operacionais da Monsanto Company e seus principais concorrentes dentro de cada setor, incluindo The Mosaic. Quando você faz um pagamento de hipoteca, o valor pago é uma combinação de uma taxa de juros e reembolso de capital Sobre o. Create Your Own Trading Robot in 6 Steps. One More Time sobre o MQL5 Wizard. The mundo ao nosso redor está mudando rapidamente, e tentamos manter-se com ele Não temos tempo para aprender algo novo, e esta é uma atitude normal de um ser humano normal Os comerciantes são Pessoas como todos os outros, eles querem obter o máximo de resultados para o mínimo de esforço Especialmente para os comerciantes, MetaEditor 5 oferece um maravilhoso MQL5 Wizard Existem vários artigos descrevendo como criar um sistema automatizado de negociação usando o assistente, incluindo uma versão light MQL5 Wizard Para Dummies e uma versão de desenvolvedores - MQL5 Wizard New Version. It tudo parece bom - um robô comercial é criado em 5 cliques do mouse, você pode testá-lo no Strategy Tester e otimizar os parâmetros de Um sistema de negociação, você pode deixar o comércio robô resultante em sua conta, sem a necessidade de fazer qualquer outra coisa manualmente Mas o problema surge quando o desenvolvedor MQL5 comerciante quer criar algo próprio, algo único que nunca foi descrito em qualquer lugar, e Vai escrever o seu próprio módulo de negociação de sinais O comerciante abre a documentação MQL5, chega à Biblioteca Padrão, e está horrorizado para see. Five Terrible Classes. True, o MQL5 Wizard simplifica muito a criação de Expert Advisors, mas primeiro você precisa Para aprender o que será usado como entrada para ele Para criar automaticamente um Expert Advisor usando o Assistente MQL5, certifique-se que seus componentes aderem a cinco classes básicas da seção Classes Base de Expert Advisors. CExpertBase é uma classe base para quatro outras classes. CExpert é a classe para a criação de um robô de negociação esta é a classe que trades. CExpertSignal é uma classe para a criação de um módulo de sinais de negociação o artigo é sobre esta classe. CExpertTrailing é um Classe para arrasto de uma parada de proteção Loss. CExpertMoney é a classe de gestão de dinheiro. Aqui está toda a força da abordagem grande e terrível que é chamado de programação orientada a objetos OOP Mas don t tem medo, agora quase todo mundo tem um telefone celular com lotes de , E quase ninguém sabe como funciona Nós não precisamos estudar tudo isso, vamos apenas discutir algumas funções da classe CExpertSignal. Neste artigo vamos passar pelas fases de criação de um módulo de sinais de negociação e você verá Como fazer isso sem ter que aprender OOP ou as classes Mas se você quiser, você pode ir um pouco mais além.1 Criando uma classe de Scratch. We não irá alterar qualquer módulo existente de sinais de negociação para as nossas necessidades, porque é o Maneira de ficar confuso Portanto, vamos simplesmente escrever a nossa própria classe, mas primeiro vamos usar o Navegador para criar uma nova pasta para armazenar nossos sinais em MQL5 Include Expert. Right-clique sobre a pasta que criamos, selecione New File e criar Uma nova classe para o nosso mod O nome da classe Este será um módulo para gerar sinais na interseção de duas médias móveis, por isso vamos nomeá-lo MACross. Base Nome é a classe a partir da qual a nossa classe É derivado E devemos derivá-lo da classe base CExpertSignal. Click Finish e um rascunho de nosso módulo nós pronto É tudo o leste até agora Nós só precisamos adicionar a declaração de inclusão para o arquivo resultante para que o compilador sabe onde encontrar o Classe base CExpertSignal. Check a classe resultante deve ser livre de erros de compilação e clique em F7 Não há erros e nós podemos mover on.2 Um identificador para a classe Module. Our está completamente vazio, não tem erros e podemos testá-lo - vamos tentar criar um novo Expert Advisor no MQL5 Wizard com base nele Nós alcançamos a etapa de selecionar um módulo de negociação de sinais e ver que o nosso módulo não está lá. E como pode ser lá Não adicionamos quaisquer indicações para O MQL5 Wizard para entender que nossa classe poderia ser s Omething útil Vamos corrigir isso Se você olhar para os módulos do pacote padrão, você verá que cada um deles contém um cabeçalho no início do arquivo Este é o identificador do módulo compilado de acordo com certas regras E as regras são muito Simples. Open, por exemplo, o código-fonte do módulo de sinais de negociação com base em AMA ver a descrição lógica em Sinais do Adaptive Moving Average E executar o Assistente MQL5 escolher este módulo Compare. The último bloco no identificador refere-se aos parâmetros do módulo , A primeira linha contém o nome do módulo a ser exibido no MQL5 Wizard Como você pode ver, não há nada complicado Assim, o identificador de cada módulo contém as seguintes entradas. Title - o nome do módulo a ser mostrado no Assistente MQL5.Type - a versão do módulo de sinais Ele deve ser sempre SignalAdvanced. Name - o nome do módulo após o seu é selecionado no Assistente MQL5 e é usado nos comentários para descrever parâmetros internos do Expert Expert Ou preferencialmente especificado. ShortName - um prefixo para nomeação automática de parâmetros externos no Expert Advisor gerado na forma de Signal ShortName ParameterName. Class - o nome do, que está contido no módulo. Page - um parâmetro para obter ajuda para este Módulo apenas para os módulos a partir da entrega padrão. A próxima vem a descrição dos parâmetros na forma de parâmetros listofvalues, em que o seguinte é especificado separados por vírgulas. O nome da função para definir o valor do parâmetro ao iniciar o Expert Advisor . O tipo de parâmetro pode ser enumeration. O valor padrão para o parâmetro, ou seja, o valor que será definido para o parâmetro, se você não alterá-lo no MQL5 Wizard. Description do parâmetro, que você vê quando você inicia o Expert Advisor generated in the MQL5 Wizard. Now, knowing all this, let s create the handle of our module of trading signals So, we are writing a module for getting trading signals at the intersection of two moving averages We need to set at least four external parameters. FastPeriod - the period of the fast moving average. FastMethod - the type of smoothing of the fast moving average. SlowPeriod - the period of the slow moving average. SlowMethod - the type of smoothing of the slow moving average. You could also add a shift and the type of prices to calculate each of the moving averages, but it does not change anything fundamentally So the current version is as follows. The module handle is ready, and we have described the following in it. The name displayed in the MQL5 Wizard - Signals at the intersection of two moving averages. Four external parameter to configure the trading signals. FastPeriod - the period of the fast moving average with the default value of 13.FastMethod - the type of smoothing of the fast moving average, simple smoothing by default. SlowPeriod - the period of the slow moving average with the default value of 21.SlowMethod - the type of smoothing of the slow moving average, simple smoothing by default. Save the changes and compile There should not be any errors Run the MQL5 Wizard to check You see, our module is now available for selection, and it shows all of our parameters. Congratulations, our module of trading signal looks great now.3 Methods for Setting Parameters. Now it is time to work with the external parameters Since our trading module is represented by the class MACross, then its parameters must be stored within the same class as private members Let s add four lines equal to the number of parameters to the class declaration We ve already described the parameter in the handle and know the following. But how do the values of the external parameters of the module appear in the appropriate members of our class MACross It s all very simple, you only need to declare public methods of the same name in the class, namely, to add four lines to the public section. When you generate an Expert Advisor on the basis of this module using the MQL5 Wizard and run it on the chart, these four methods are automatically called when initializing the Expert Advisor So here is a simple rule. The rule of parameter creation in the module - for each parameter that we have declared in the handle, we should create a private member in the class for storing its value and a public member for setting a value to it The method name must match the name of the parameter. And the last moment is to set default values for our parameters that will be used in case the methods of value setting are not called Each declared variable or class member must be initialized This technique allows to avoid many of hard-to-find errors. For automatic initialization, the best suiting one is the class constructor it is always the first one to be called when creating an object For default values, we will use those written in the module handle. Here the class members are initialized using the initialization list. As you can see, we haven t used moving average indicators yet We found a simple rule - as many parame ters are stated in the handle of the module, so many methods and members should be in the class that implements the module There is nothing complicated However, don t forget to set default values of parameters on the constructor.4 Check the Correctness of Input Parameters. We have created parameters for our trading module, written methods for setting values to them, and now comes the next important phase - the correctness of parameters must be checked In our case, we must check the periods of moving averages and the type of smoothing for their calculation For this purpose you should write your own ValidationSettings method in the class This method is defined in the parent class CExpertBase and in all its children it is obligatorily redefined. But if you do not know anything about object-oriented programming, just remember - in our class we should write the ValidationSettings function, which requires no parameters and returns true or false. As you can see, in the public part of the MACross class we ve added declaration of the ValidationSettings method, and then added the method body in the following form. First comes the return type, then the class name, then scope resolution operator and all this is followed by the name of the previously declared method Do not forget that the name and type of parameters must match in the declaration and description of the class method However, the compiler will warn you of such an error. Note that first the base class method is called, and then input parameters are checked. If you do not add this line, the generated Expert Advisor will not be able to initialize our module of trading signals.5 Where Are Our Indicators. It s time to work with the indicators, since all the preparatory work with the parameters for them have been completed Each module of trading signals contains the InitIndicators method, which is automatically called when you run the generated Expert Advisor In this method, we must provide indicators of moving averages for our module. First, declare the InitIndicators method in the class and paste its draft. So there is nothing complicated, we declare the method and then simply create the method body, as we have done for the ValidationSettings method Above all, do not forget to insert the class name and the operator in the function definition We have a draft, which we can insert into a code to create moving averages Let s do this properly - for each indicator we create a separate function in the class, which returns true if successful The function can have any name, but let it reflect its purpose, so let s call the functions CreateFastMA and CreateSlowMA. That s all, we only need to write code that generates the MA indicators and somehow integrates the handles of these indicators into the trading module, so that the module can use the values of these indicators That is why a pointer to a variable of type CIndicators is passed as a parameter The following is written in Documentation about it. The CIndicators is a class for collecting instances of timeseries and technical indicators classes The CIndicators class provides creation of instanced of technical indicator classes, their storage and management data synchronization, handle and memory management. This means that we must create our indicators and place them in this collection Since only indicators of the CIndicator form and its children can be stored in the collection, we should use this fact We will use CiCustom which is the above mentioned child For each moving average we declare an object of type CiCustom in the private part of the class. Of course, you can create your own indicator class, which will be derived from CIndicator and implement all the necessary methods for use with the MQL5 Wizard But in this case we want to show how you can use any custom indicator in the module of trading signals using CiCustom. Here s how it looks in the code. In the CreateFastMA method, first check the pointer of the collection of indicators, and then ad d a pointer of the fast MA mfastma to this collection Then declare the MqlParam structure, which is especially designed for storing parameters of custom indicators, and fill it with values. We use Custom Moving Average from the standard terminal delivery pack as the custom MA indicator The name of the indicator must be indicated relative to the folder datafolder MQL5 Indicators Since Custom Moving from the standard package is located in datafolder MQL5 Indicators Examples , we specify its path including the Examples folder. If you look at the code for this indicator, you can see all the required data. The values of the structure contain the type-value pairs. parameter type - string to transfer the name of the indicator. the name of the executable file of the custom indicator - Custom Moving. parameter type - int value of the period. period of the moving average. parameter type - int shift value. horizontal shift of the average in bars. parameter type - int enumeration value is an integer. method of averaging. After filling the structure, the indicator is initialized by the Create method of all the required parameters symbol name and the timeframe on which it is calculated, the type of the indicator from the ENUMINDICATOR enumeration, the number of indicator parameters and the MqlParam structure with parameter values And the last one is specifying the number of indicator buffers using the NumBuffers method. The CreateSlowMA method for creating the slow moving average is simple When using custom indicators in the module, do not forget that the Expert Advisor generated by the MQL5 Wizard will also run in the tester So at the beginning of our file we add the property property testerindicator that communicates to the tester the location of required indicators. If we use several different indicators, we should add this line for each of them So, we have added the indicators For more convenience, let s provide two methods of receiving MA values. As you can see, the methods are very simple , they used the GetData method of the SIndicator parent class, which returns a value from the specified indicator buffer at the specified position. If you need classes for working with classical indicators of the standard package, they are available in section Classes for working with indicators We are ready to proceed to the final stage.6 Define the LongCondition and ShortCondition Methods. Everything is ready to make our module work and generate trading signals This functionality is provided by two methods that must be described in each child of CExpertSignal. LongCondition checks the buy conditions and returns the strength of the Long signal from 0 to 100.ShortCondition - checks the sell condition and returns the strength of the Short signal from 0 to 100.If the function returns a null value, it means that there is no trading signal If there are conditions for the signal, then you can estimate the strength of the signal and return any value not exceeding 100 Evaluation of the signal st rength allows you to flexibly build trading systems based on several modules and market models Read more about this in MQL5 Wizard New Version. Since we are writing a simple module of trading signals, we can agree that the buy and sell signals are valued equally 100 Let s add necessary methods in the class declaration. Also, let s create the description of functions This is how the buy signal is checked it s all the same with the sell signal. Note that we have declare the idx variable, to which the value returned by the StartIndex function of the parent class CExpertBase is assigned The StartIndex function returns 0, if the Expert Advisor is designed to work on all ticks, and in this case the analysis starts with the current bar If the Expert Advisor is designed to work at open prices, StartIndex returns 1 and the analysis starts with the last formed bar. By default StartIndex returns 1 which means that the Expert Advisor generated by the MQL5 Wizard will only run at the opening of a new b ar and will ignore incoming ticks during formation of the current bar. How to activate this mode and how it can be used will be described later in the finishing stroke. The module is ready for use, so let s create a trading robot in the MQL5 Wizard based on this module. Checking an Expert Advisor in the Tester. To test the efficiency of our module, let s generate an Expert Advisor based on it in the MQL5 Wizard and run it on the chart The Inputs tab of the appeared start window contains the parameters of the MACross module. All other parameters have also been added by the MQL5 Wizard while generating the EA based on the selected money management module and position maintenance module Trailing Stop Thus, we only had to write a module of trading signals and received a ready solution This is the main advantage of using the MQL5 Wizard. Now let s test the trading robot in the MetaTrader 5 Strategy Tester Let s try to run a quick optimization of key parameters. In these settings of input parameter s, more than half a million of passes is required for full optimization Therefore, we choose fast optimization genetic algorithm and additionally utilize MQL5 Cloud Network to accelerate the optimization The optimization has been done in 10 minutes and we have got the results. As you can see, creating a trading robot in MQL5 and optimization of input parameters have taken much less time than would be required for writing the position management servicing logic, debugging and searching for the best algorithms. You can skip this item or go back to it later when you are completely comfortable with the technique of writing a module of trading signals. If you open the source code of the Expert Advisor generated by the MQL5 Wizard, you will find the global variable ExpertEveryTick with the false value Based on this variable, the StartIndex function returns its value It communicates to the Expert Advisor the mode it should run in. If you set ExpertEveryTick true and compile the code, the trading robot will analyze each incoming tick, and thus make decisions on the values of the current incomplete bar Do this only if you understand how it works Not all trading systems are designed to work inside the bar. You can also add a keyword input for the ExpertEveryTick parameter, and then you will have a new input parameter of the Expert Advisor which you can set at the EA startup on a chart or in the tester. And now it s time to summarize what we have done.6 Steps to Create a Module of Trading Signals. If you have mastered MQL5, then you no longer need to write an Expert Advisor from scratch Just create a module of trading signals and, based on this module, automatically generate a trading robot with the enabled trailing and trade volume management modules And even if you are not familiar with OOP or do not want to delve much into the structure of trade classes, you can just go through 6 steps. Create a new class using the MQL5 Wizard in a separate folder MQL5 Include MySignals Our module of trading signals will be stored there. Create a module handle that describes the parameters, their type and default values. Declare module parameters in the class and add methods for initialization in the constructor. Check the input parameters and do not forget to call ValidationSettings of the CExpertSignal base class. Create indicator-objects and add a predefined initialization method InitIndicators. Identify conditions of trading signals in the methods LongCondition and ShortCondition. Each step is simple and requires little skill in MQL5 programming You only need to write your module once, following the instructions, and further verification of any trade idea will take no more than an hour, without tiring hours of coding and debugging. From Simple to Complex. Remember that the trading strategy implemented by your trading robot created using the MQL5 Wizard, is as complex as the module of trading signals it uses But before you start to build a complex trading system based on a set of rul es for entry and exit, split it into several simple systems and check each one separately. Based on simple modules you can create complex trading strategies using the ready-made modules of trading signals, but this is a topic for another article. First off all I would like to thank the author s for this article I m new to MetaTrader, MQL5 and Forex trading, so these articles are really useful When I test this EA, I notice that for closing a long position, it gives a sell signal with a doubled lot size Why does it not only close my long position, but directly enters a short at the same signal As a first test to understand all the programming, I would like to only go long, so only open and close a long position without entering a short position at the closing sell signal Thanks in advance. I do not have any experience yet with programming in MQL, but I do have some experience in programming in other languages One of the easiest errors to make in programming my specific class was Java, which is very similar in style to C and apparently MQL is not closing the braces properly It is one of the easiest errors to make, and conversely, also one of the harder ones to find KJG, as far as the closing a long and heading right into a short, it is probably what this style of EA is designed to do I have seen many trading styles with just that type of setup, I believe they were designed for a market that has a lot of volatility and wide price swings happening all the time, like something that would likely happen on a minute time frame chart Good article as well I definitely will be making use of this one and many others here I am sure. I followed the instructions in steps 1 and 2, but the signal doesn t appear in the Wizard list of available signals I tried with other signals and none works Maybe there s a limitation in the number of signals that can be displayed in the wizard Anyone can help.

No comments:

Post a Comment