Pular para o conteúdo

Como funciona o algoritmo do EA

Neste capítulo vamos discutir como o algoritmo funciona com as partes do seu EA e como ele irá atuar.

Como os ticks/cotações são processados pelo seu EA
Visão geral de como o seu EA processa os dados do mercado

O seu EA é composto por módulos com os quais o algoritmo interage. É graças a esta modularidade que pode criar qualquer EA. Os módulos estão divididos em três categorias:

  • Módulos que impedem a abertura
  • Módulos para abertura
  • Módulos para fecho

Leia mais sobre Módulos. Como viu na imagem acima, o algoritmo irá interagir com um ou mais módulos. No próximo capítulo vamos entrar em detalhe sobre isto.

O algoritmo do seu EA irá comportar-se de forma diferente dependendo do seu estado:

  • Não existem ordens abertas
  • Existem uma ou mais ordens abertas

Quando não existem ordens abertas, tudo o que o EA faz é aguardar por um Signal de Abertura. Quando o signal é ativado, irá abrir uma ordem, a menos que um módulo Prevent Open o bloqueie.

Processamento de tick/cotação quando não existem ordens abertas
Fluxo de processamento quando não existem ordens abertas

Quando existem ordens abertas, o seu EA irá avaliar se as ordens abertas devem ser fechadas, com base em se um Stop Loss/Take Profit foi atingido ou um Close Signal foi ativado. Quando o Stop Loss/Take Profit é atingido, ou um Close Signal é ativado, irá primeiro verificar se uma nova ordem seria (hipoteticamente) aberta após fechar a ordem atual. Isto é feito avaliando os Open Signals (tendo em conta os módulos que impedem a abertura) e os Close Signals. Portanto, o mesmo processo, como quando não existem ordens abertas, é avaliado. Se uma ordem (hipoteticamente) não fosse aberta, a ordem será fechada. Além disso, o EA irá avaliar se ordens adicionais têm de ser abertas. Ordens adicionais só serão abertas quando um Open Signal é ativado, ou seja, após estar inativo durante pelo menos 1 cotação processada.

Processamento de tick/cotação quando existem ordens abertas
Fluxo de processamento quando existem ordens abertas
  • Uma ordem é fechada quando o seu Stop Loss ou Take Profit é atingido, ou por um Close Signal. Todos os Módulos para fecho podem influenciar o Stop Loss/Take Profit da ordem. O Stop Loss é definido abaixo da ordem (da perspetiva de uma compra) e só pode ser movido para cima pelo mesmo, ou outro, módulo. O oposto é verdade para o Take Profit: só pode potencialmente ser movido para baixo. Os valores de Stop Loss/Take Profit não são atualmente enviados ao broker.
  • Uma ordem só é fechada se a ordem não fosse aberta novamente diretamente após o fecho, porque se o algoritmo fechasse a ordem, outra ordem seria aberta imediatamente e perderia outra ida e volta de comissão/Spread. Para validar se este é o caso, o Open Signal é reavaliado antes do fecho, também tendo em conta os módulos Prevent Open. P.ex., quando uma ordem tem de ser fechada segundos após a abertura, é muito provável que o Open Signal ainda esteja ativo. Isto pode ser contrariado usando um módulo Prevent Open, como o módulo Time gap between orders. Ao fazê-lo, o Open Signal será bloqueado, após fechar a ordem, para que a ordem possa ser fechada.
  • Quando usa o Multiple order Open module ordens adicionais são abertas quando o Open Signal mudou de ativo (que abriu a ordem anterior) para inativo e ativa novamente, abrindo agora uma ordem adicional.