Início Negociação Sistemática Postagem

Babi Ngepet: O Robô de Negociação para MetaTrader 5 que Você Precisa Conhecer

Anexo
64444.zip (7.11 KB, Baixar 0 vezes)

Parâmetros do Robô de Negociação

O Babi Ngepet é um robô que oferece uma série de parâmetros que você pode ajustar para controlar o seu comportamento:

Parâmetros Gerais

Parâmetro Tipo Descrição
MagicNumber int Um identificador único para as operações do robô.
InitialLot double Tamanho do lote inicial para a primeira operação em uma série.
AllowBuy bool Permissão para o robô abrir operações de compra (inicial e Martingale).
AllowSell bool Permissão para o robô abrir operações de venda (inicial e Martingale).
TakeProfit int Um Take Profit fixo em pontos que será usado ao colocar ordens pendentes (não para execução no mercado).
FindHighLowBackBars int Número de barras anteriores a serem analisadas para determinar os altos e baixos para a colocação de ordens pendentes iniciais.
ResetAfterBars int Número de barras após as quais as ordens pendentes iniciais serão deletadas e reavaliadas (caso nenhuma posição esteja aberta).

Estratégia Martingale

Parâmetro Tipo Descrição
ReverseMartingale bool Se verdadeiro, as operações subsequentes do Martingale serão na direção oposta da última operação na série.
LotMultiplier double Fator pelo qual o tamanho do lote é multiplicado para a próxima operação em uma série de perdas.
SecureProfitMartingaleTarget double O lucro flutuante total em moeda da conta em que toda a série de operações abertas será fechada.
DistanceMartingalePips int A distância (em pips) que o preço deve se mover contra o preço de abertura da última operação antes de abrir uma nova operação Martingale.
MaxTradesInSeries int Número máximo de operações permitidas em uma única série Martingale.

Estratégia de Tempo

Parâmetro Tipo Descrição
AllowMonday... AllowFriday bool Flags para habilitar ou desabilitar a negociação em dias específicos da semana.
ForbiddenDates string Uma lista separada por vírgulas de datas (formato YYYY.MM.DD) nas quais a negociação é proibida.

Visão Geral das Funções Principais

OnInit() (Inicialização)

Define o MagicNumber do robô, modo de margem e desvio. Reseta as variáveis do status Martingale para seus valores iniciais, preparando para um novo começo.

OnDeinit() (Desinicialização)

Uma função simples para limpeza, imprimindo uma mensagem quando o robô é parado ou removido.

IsTradingDateAllowed() e IsTradingDayAllowed() (Filtros de Negociação)

Essas funções verificam o dia e a data atuais em relação aos inputs definidos pelo usuário para determinar se a negociação é permitida.

OpenTradeLogic(ENUM_ORDER_TYPE type, string tradeComment) (Execução de Mercado)

Essa função gerencia a abertura de novas posições no mercado (Compra ou Venda).

  1. Valida e normaliza o tamanho do lote de acordo com o mínimo, máximo e tamanho de passo do corretor.

  2. Verifica se há margem livre suficiente.

  3. Executa a operação sem um Take Profit ou Stop Loss fixo.

  4. Atualiza as variáveis globais do status Martingale.

CloseAllPositions()

Itera por todas as posições abertas e fecha aquelas que foram abertas por este robô.

PendingOrders(ENUM_ORDER_TYPE type, double price, double lotSize, string comment) (Colocação de Ordem Pendente)

Essa função coloca ordens de Compra Limit ou Venda Limit:

  1. Valida o tamanho do lote e verifica a margem suficiente.

  2. Valida o preço de entrada de acordo com a distância mínima do corretor.

  3. Calcula um Take Profit fixo baseado no parâmetro TakeProfit.

  4. Envia o pedido de negociação.

UpdateHighLowAndOrders() (Lógica de Entrada Inicial)

Mecanismo de entrada inicial quando não há posições abertas:

  1. Busca as Altas e Baixas.

  2. Calcula os limites de venda e compra.

  3. Verifica se ordens Limit já existem.

  4. Coloca uma ordem Sell Limit e uma Buy Limit.

OnTick() (Lógica Principal)

O cerne da lógica de execução do robô:

  1. Verificação de Tempo: Prevê cálculos redundantes no mesmo tick.

  2. Verificação de Filtro: Se a negociação não for permitida, deleta todas as ordens pendentes.

  3. Verificação de Meta de Lucro: Se houver posições abertas e o lucro total flutuante atingir o SecureProfitMartingaleTarget, fecha todas as posições.

  4. Colocação de Ordem Inicial: Se não houver posições abertas e a negociação for permitida, verifica se um novo candle se formou.

    • Se um novo candle se formou, verifica se as ordens pendentes devem ser atualizadas.

  5. Lógica do Passo Martingale: Se houver posições abertas e não tiver alcançado o máximo de operações:

    • Verifica se o lucro total flutuante é negativo.

    • Se as condições forem atendidas, calcula o próximo lote.

    • Determina a direção da ordem a abrir.

    • Chama OpenTradeLogic() para abrir a nova posição.


Resumo da Estratégia

O robô "Babi Ngepet" implementa uma estratégia Martingale arriscada, mas com potencial para altos retornos:

  1. Entrada Inicial: Coloca ordens de compra e venda com base em comportamentos de mercado.

  2. Gestão de Trades: Se uma das operações iniciais for acionada e o mercado se mover contra, abre uma nova posição.

  3. Estratégia de Saída: Continua a aumentar o tamanho do lote até que o lucro total flutuante atinja o SecureProfitMartingaleTarget.

Aviso: A estratégia Martingale é conhecida por altos drawdowns e risco significativo de perda de capital, pois o tamanho do lote aumenta após cada passo de perda.

Publicações relacionadas

Comentário (0)