Um checklist dos riscos dos robôs antes de operar em conta real - página 10

 
Rogerio Figurelli:

Estou acrescentando um novo item no checklist, que é o segunte: 17.Existe proteção de limite nos loops do código fonte?

Isso se deve ao que tenho percebido com alguns clientes, e seus códigos fonte, onde não existe nenhuma proteção de limites dentro dos loops utilizados.

Para maior entendimento, vamos analisar um exemplo de código fonte, sem proteção, como o abaixo:

Aparentemente não existe nenhum problema nesse loop, mas o que aconteceria se por algum motivo o valor da variável 'periodo_media' fosse alterado de forma errônea para um valor absurdamente alto?

Em termos técnicos, chamamos essa como uma situação de overflow. 

Para proteger contra situações não esperadas, principalmente em conta real, seria mais prudente limitar o valor de varredura e testar as situações de overflow, como por exemplo no código abaixo:

Nesse caso, além de uma proteção contra variação errônea do valor da variável 'periodo_media', o sistema irá alertar o trader quando a situação de não conformidade ocorrer.

Sem dúvida é mais trabalhoso pensar e fazer dessa forma, mas considero essencial esse tipo de proteção em qualquer código de robô.

Simplesmente fantástico. Jamais pensaria nessa possibilidade sozinho. Muito obrigado por compartilhar seu conhecimento.
 
Rogerio Figurelli:

A maior parte dos traders que operam com robôs, tanto no mercado Forex, como no mercado BM&FBovespa, geralmente focam apenas no lado bom, que é o potencial de lucro que um bom Expert Advisor pode apresentar.

Isso conduz todo o foco da complexidade dos robôs nos algoritmos das estratégias, baseadas em boas experiências obtidas na operação manual.

Entretanto, nem tudo são flores e a falta de preocupação com a complexidade e problemas de operar em conta real com robôs, sem uma adequada análise dos riscos, pode levar a resultados totalmente diversos dos esperados.

A operação com sistemas automáticos é muito mais complexa e oferece muito mais riscos para o trader, que vão muito além da simples automação de uma estratégia.

Os riscos aumentam ainda mais no mercado BM&FBovespa, onde o MT5 é absolutamente novo e um projeto piloto. 

Para facilitar esse entendimento, descrevo nesse tópico um checklist de verificação que considero mínimo para um Expert Advisor, antes de operar em conta real. 

  1. Existe tratamento para todas as situações de exceção das funções chamadas internamente pelo EA?
  2. O fechamento de posições é garantidamente realizado antes da abertura de uma nova posição contrária utilizando um mesmo lote?
  3. Foram feitos testes de situações de latência em conta real que não são visualizadas nas simulações em contas demonstração e no backtesting?
  4. Existe limitação de lote encaminhado por falha ou erro do EA?
  5. Existe limitação de margem e saldo em conta para operação, principalmente no caso de falha ou erro do EA?
  6. Existe tratamento para situações de exceção de conectividade ou de disponibilidade do sistema operacional e da plataforma?
  7. O robô consegue operar por mais de 5 dias consecutivos de forma totalmente automática sem necessitar intervenções manuais?
  8. Existe verificação e controle das ordens executadas e das situações de exceção na comunicação com o servidor da corretora?
  9. Existe definição de limites operacionais e análise das posições atuais no que se refere à adequação às situações limites definidas?
  10. Existe um modo de pânico no Expert Advisor para administrar situações de risco de perda de capital por falhas ou erros dos algoritmos?
  11. Você compara os trades executados pela plataforma MT5 e pelo home-broker?
  12. Existe controle de risco para operações sem limite de perda, como abertura de venda a seco de opções?
  13. Existe proteção contra falhas nos valores dos preços recebidos para os instrumentos financeiros, como por exemplo valores zerados ou com erros grosseiros?
  14. Existe proteção contra mudanças abruptas de volumes e preços dos instrumentos financeiros?
  15. Existe limitação de perda máxima a partir de uma sequencia de StopLoss?
  16. Existe proteção contra quedas ou indisponibilidade do servidor MT5 na corretora?
  17. Existe proteção de limite nos loops do código fonte?
  18. O código fonte que você está utilizando já foi testado em conta real na BM&FBovespa?
  19. O código fonte foi testado em contas no modo netting e hedging?
  20. Existem proteções contra falhas de outros robôs, se esses forem colocados em paralelo, por engano ou propositalmente, com seu robô?

Essa lista não fecha o escopo para toda e qualquer situação de risco operando com robôs, mas acredito que já seja um bom começo.

Se você criou um robô para operar no mercado e a resposta não é um “sim” com segurança para todos os itens, recomendo você revisar novamente o código fonte de seu robô e ficar fora do mercado real, até estar totalmente adequado e confortável com esse checklist.

Gostaria de contribuir adicionando dois itens:

21. O robô mantém um registro (logs) com todas as atividades realizadas pelo mesmo, bem como com todos os sinistros (desconexões, circuit breaker, etc...) que ocorreram durante a utilização do mesmo?

22. O robô está minimamente protegido contra pirataria?

Razão: