Discussão do artigo "Desenvolvendo um EA de negociação do zero (Parte 24): Dado robustez ao sistema (I)"

 

Novo artigo Desenvolvendo um EA de negociação do zero (Parte 24): Dado robustez ao sistema (I) foi publicado:

Neste artigo iremos deixar o sistema mais robusto, de forma que ele fique mais estável e seguro de ser usado. Uma das formas de se conseguir robustez é procuramos reutilizar ao máximo o código, desta forma ele será testado o tempo todo e em diversas ocasiões diferente, mas esta é apenas uma das formas, outra forma é o uso da programação OOP

Diferente do que muitos pensam, algumas coisas não são tão simples. O sistema de ordens é uma destas coisas, você pode até criar um sistema mais modesto que lhe atenda perfeitamente bem, isto foi feito no artigo Desenvolvendo um EA do Zero onde foi criando um sistema bastante modesto e básico que pode até atender muitas das pessoas, mas para outras aquilo não é o suficiente, então foi chegado um momento em que a coisa começou a mudar de figura, desta forma nascia a primeira parte desta sequencia sobre um novo sistema de ordens isto pode ser visto no artigo Desenvolvendo um EA do zero (Parte 18), lá começamos a desenvolver um sistema que seria gerenciado pelo EA mas mantido pelo MetaTrader 5, onde a ideia era não ter um limite de ordens no gráfico, inicialmente o sistema parecia bastante ousado, devo confessar, o fato de criar um sistema onde os objetos não seriam mantidos pelo EA e sim pelo MetaTrader 5 parecia algo sem sentido e pouco eficiente.

Mas o sistema foi se desenvolvendo e no artigo Desenvolvendo um EA do zero (Parte 23) desenvolvemos um sistema fantasma para facilitar o manejo das ordens, posições ou pontos de limites ( Take e Stop ). Aquilo foi bastante interessante de ser desenvolvido, e até se mostrou bastante curioso, mas existe um problema. Se você olhar a quantidade de objetos usados e visíveis frente ao objetos mantidos pelo MetaTrader 5 irá se surpreender pois a quantidade mantida será sempre maior.

O problema não é tão grave em muitas das ocasiões, até dá para contornar e conviver com algumas coisas, mas existem duas questões que durante testes em momentos de grande volatilidade do mercado, fazia o sistema se mostrar pouco estável e em alguns casos fazendo o operador agir de forma errada, isto por que em alguns momentos o operador adicionava uma ordem pendente, o sistema enviava esta ordem para o servidor, e o servidor as vezes demorava um pouco mais do que o normal para responder, e o sistema simplesmente indicava em alguns momentos que existia uma ordem ali e em outros que não existia a ordem, e quando se fazia isto em posições ( existe uma diferença entre ordens e posições leia a documentação para mais detalhes )a coisa ficava ainda mais embaraçosa, ficando o operador totalmente sem saber se o servidor tinha ou não executado o comando conforme o esperado.

Existem diversas forma de se solucionar isto, algumas mais simples, outras mais complexas, mas independente disto, temos que confiar no EA, caso contrário não devemos usa-lo em hipótese alguma.

Autor: Daniel Jose