Pular para o conteúdo

Eventos

Nesta página, você encontrará informações sobre os eventos, para que servem e como eles podem ser utilizados em estratégias no ScriptBot.

Eventos são ações ou ocorrências que acontecem durante a execução do robô, como a abertura de uma ordem, o encerramento de uma posição ou a validação de um gatilho. Sempre que uma tarefa relevante é realizada, o robô dispara um evento correspondente.

Esses eventos podem ser monitorados e utilizados para automatizar as ações do robô em diferentes situações de mercado. Dessa forma, o usuário pode configurar regras e estratégias personalizadas que respondem imediatamente após uma ação ocorrer, sem depender de temporizadores ou atrasos adicionais.

Na prática, os eventos tornam o ScriptBot mais inteligente, dinâmico e flexível, permitindo a execução de ações em tempo real a partir de cada ocorrência. Isso proporciona maior controle e aumenta a eficiência das estratégias.

A configuração dos eventos é simples e intuitiva. Abaixo, você pode visualizar uma imagem que ilustra a estrutura dos eventos:

Eventos

Cada evento pode ser configurado de forma personalizada, de acordo com as necessidades do usuário.

  • [01] - Tipo: Define o tipo do evento que será ouvido. Acesse a Lista de Eventos
  • [02 & 03] - Cálculos de Validação: São expressões condicionais que o sistema executa quando o evento for chamado.
  • [04] - Executar em caso de sucesso: Ações que serão executadas quando o evento for validado.
  • [05] - Executar em caso de falha: Ações que serão executadas quando o evento falhar.

Neste exemplo, vamos monitorar o evento de início de um novo dia e registrar uma mensagem nas logs indicando se é segunda-feira ou não.

Exemplo da configuração:

Ouvindo o evento OnDay()

Sempre que um novo dia começar, o evento OnDay() será acionado. O sistema então realizará os cálculos necessários para determinar se o evento foi validado ou não.

O fluxo da execução segue a seguinte ordem:

flowchart TD
    A["OnDay()"] --> n1
    n1["DayOfWeek[] == 0"] -- TRUE --- n3["Print[Today is Monday]"]
    n1 -- FALSE --- n4["Print[Today is not Monday]"]
    n1@{ shape: braces}
    n3@{ shape: braces}
    n4@{ shape: braces}
    A@{ shape: event}

O fluxo é resumido nas seguintes etapas:

  1. EVENTO
    • Evento: OnDay().
    • Evento que será monitorado.
  2. CÁLCULOS
    • Condição: DayOfWeek[] == 0.
    • Responsável por executar a tentativa da validação.
    • Se o resultado for verdadeiro, o fluxo segue para a etapa (SUCESSO).
    • Se o resultado for falso, o fluxo segue para a etapa (FALHA).
  3. SUCESSO
    • Resposta: Print["Today is Monday"].
    • Executa os cálculos definidos para o cenário de validação bem-sucedida.
  4. FALHA
    • Resposta: Print["Today is not Monday"].
    • Executa os cálculos definidos para o cenário de validação mal-sucedida.