Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Experts

Monday Dip EA- Index Mean Reversion D1 - expert para MetaTrader 5

chen guang
chen guang
Desenvolvedor Quant | Especialista em EA e Trading Algorítmico
Especializado em Expert Advisors de alto desempenho para MT4/MT5, indicadores personalizados e sistemas automatizados com rigorosa gestão de risco.
🚀 Recursos gratuitos e backtests: rbot.cc
| Portuguese English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Visualizações:
13
Avaliação:
(1)
Publicado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

O Expert Advisor opera diretamente no gráfico do símbolo ao qual está vinculado (sem símbolos pré-definidos). Ele executa no máximo uma operação por semana, e todas as decisões da estratégia são calculadas exclusivamente com base nos dados das velas fechadas diárias (D1), de acordo com a hora do servidor.


⚡ Regras Principais

  • Regra 1 — Entrada: No fechamento da segunda-feira, o preço de fechamento é comparado com o fechamento da sessão anterior (geralmente sexta-feira). Uma posição comprada é acionada somente se o fechamento da segunda-feira for estritamente inferior ao fechamento do dia de negociação anterior. Essa verificação ocorre apenas uma vez por semana.
  • Regra 2 — Saída: A posição aberta é fechada automaticamente no fechamento diário de quarta-feira (executado no primeiro tick da próxima sessão diária), independentemente de lucro ou prejuízo. Se o fechamento de quarta-feira for perdido, qualquer fechamento diário subsequente (quinta-feira, sexta-feira ou fechamento do fim de semana) acionará a saída.
  • Regra 3 — Stop Loss e segurança: Um Stop Loss baseado em porcentagem (InpStopLossPercent) é aplicado na entrada, respeitando a distância mínima de stop da corretora (SYMBOL_TRADE_STOPS_LEVEL). Se cinco tentativas consecutivas de aplicar ou modificar o Stop Loss falharem, o EA tenta um fechamento imediato no mercado para garantir a segurança do capital. Observação: não há meta de Take Profit — as saídas são inteiramente baseadas no tempo e no stop.

🛡️ Filtros de entrada opcionais

Ambos os filtros são opções que podem apenas restringir ainda mais as entradas (eles nunca criarão entradas por conta própria nem flexibilizarão a Regra 1):

  • Filtro de Força da Barra Interna (IBS): Calcula IBS = (Fechamento - Mínimo) / (Máximo - Mínimo) para a vela de segunda-feira. A entrada só é permitida se IBS <= InpIBSMax. Se o Máximo for igual ao Mínimo, o dia é ignorado e registrado.
  • Filtro de Média Móvel (MA): Exige que o fechamento de segunda-feira esteja estritamente abaixo de uma Média Móvel Simples (InpMAPeroid) calculada sobre as velas D1 fechadas, incluindo segunda-feira.

⚙️ Especificações principais

  • Intervalo do gráfico: Independente do intervalo (usa a série D1 internamente). Recomenda-se anexá-lo a um gráfico D1 para um monitoramento claro dos registros.
  • Compatibilidade com símbolos: Compatível com vários índices (US500, UK100, GER40, etc.).
  • Gestão de risco: Limite estrito de 1 posição com lógica robusta de repetição de tentativas para execução de ordens e fechamentos de emergência.

Entradas

Entrada Valor padrão Unidade Significado e efeito
InpLots 0,10 lots Tamanho fixo da posição solicitado para cada entrada. É arredondado para o passo de volume do símbolo; um tamanho inferior a SYMBOL_VOLUME_MIN cancela a entrada (nunca é arredondado para cima), um tamanho superior a SYMBOL_VOLUME_MAX é limitado ao máximo.
InpStopLossPercent 10,0 por cento do preço de entrada Distância do stop loss abaixo do preço de entrada. Se o parâmetro SYMBOL_TRADE_STOPS_LEVEL da corretora exigir uma distância maior, o stop é ampliado. Valores menores ou iguais a 0 são rejeitados na inicialização: o EA não é executado sem um stop.
InpMagic 20260922 identificador Número mágico que identifica as posições do próprio EA. Apenas as posições no símbolo do gráfico que possuam esse número mágico são contabilizadas e gerenciadas.
InpMaxSlippagePoints 30 pontos Desvio máximo solicitado (tolerância ao slippage) para a entrada e a saída do mercado. Trata-se de uma solicitação de tolerância, não de um limite garantido: o preço efetivamente executado também depende do modo e da política de execução da corretora.
InpTradeComment "MonDip long" texto Comentário anexado à ordem de entrada, visível no histórico de negociações do terminal.
InpUseIBS verdadeiro ativado / desativado Ativa o filtro de entrada IBS opcional (veja abaixo). O filtro só pode tornar a entrada mais restritiva.
InpIBSMax 0,25 razão em (0, 1] IBS máximo permitido para a barra de segunda-feira. Valores fora do intervalo (0, 1] são rejeitados na inicialização.
InpUseMA verdadeiro ativado / desativado Ativa o filtro opcional de entrada por média móvel de longo prazo (veja abaixo).
InpMAPeriod 180 barras diárias Período da média móvel simples dos preços de fechamento diários, calculada com base nas barras D1 fechadas que terminam com a barra de segunda-feira. Valores inferiores a 2 são rejeitados na inicialização.
InpVerboseLog true ativado / desativado Imprime detalhes adicionais do diário. A linha de decisão semanal é sempre impressa, independentemente dessa opção.

A lógica principal em três trechos

Os trechos a seguir foram extraídos literalmente do código-fonte enviado. São trechos selecionados da lógica de decisão, não programas completos e executáveis. Sinal (regra 1):

//--- REGRA 1 ------------------------------------------------------
   // DECISÃO D8: “abaixo” é uma comparação estrita; um fechamento em igualdade significa que não houve negociações naquela semana.
   if(!(bar.close < refBar.close))
      return(StringFormat("SKIP - rule 1: the Monday close %s is not below the previous trading day's close %s (equal or above).",
                          DoubleToString(bar.close, _Digits), DoubleToString(refBar.close, _Digits)));

Filtros (IBS e MA de longo prazo):

//--- FILTRO 1: SII ----------------------------------------------
   if(InpUseIBS)
   {
      if(!haveIBS)
      {
         // DECISÃO D7
         return("SKIP - IBS filter: High == Low on the Monday bar, the ratio is undefined - no-trade day.");
      }
      if(!(ibs <= InpIBSMax))                        // DECISÃO D8: “<=” conforme especificado
         return(StringFormat("SKIP - IBS filter: IBS %.4f is above InpIBSMax %.4f.", ibs, InpIBSMax));
   }

   //--- FILTRO 2: média móvel de longo prazo -------------------------------------
   if(InpUseMA)
   {
      if(!haveMA)
         return(StringFormat("SKIP - MA filter: not enough daily history to compute the MA(%d).", InpMAPeriod));
      if(!(bar.close < ma))                          // DECISÃO D8: uso estrito do símbolo “<”
         return(StringFormat("SKIP - MA filter: the Monday close %s is not below the MA(%d) %s.",
                             DoubleToString(bar.close, _Digits), InpMAPeriod, DoubleToString(ma, _Digits)));
   }

Saída (fechamento de quarta-feira e posteriormente):

   MqlDateTime dtBar;
   TimeToStruct(tBar, dtBar);                        // DECISÃO D18
   if(!BarIsAtOrAfterWednesday(dtBar.day_of_week))
      return;

   // DECISÃO D2: a saída é acionada pelo fechamento da barra de quarta-feira e
   // executado no primeiro tick seguinte, com novas tentativas até que a posição esteja neutra.
   // DECISÃO D24: “a barra fechou” é a definição do MT5 — o momento em que a próxima
   // A sessão diária é aberta de acordo com o relógio do servidor — e não com o sinal de fechamento do mercado à vista.
   CloseOurPosition(StringFormat("rule 2 - the daily bar %s closed and it is a %s (Wednesday close reached)",
                                 TimeToString(tBar, TIME_DATE), WeekdayName(dtBar.day_of_week)));

Fluxo semanal


Figura 1. Um ciclo semanal do EA — esquema, não é uma captura de tela do terminal nem dados de backtest.

Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/78343

Monitor ATR — Intervalo diário, semanal e mensal Monitor ATR — Intervalo diário, semanal e mensal

Exibe o ATR diário, semanal e mensal, a amplitude atual entre a máxima e a mínima, a amplitude expressa como porcentagem do ATR e a variação do preço em relação à cotação de abertura de cada período.

London Breakout EA: simples e transparente/Consultor London Breakout: simples e transparente London Breakout EA: simples e transparente/Consultor London Breakout: simples e transparente

EA gratuito de breakout: faixa asiática, breakout de Londres, uma operação por dia, stop loss sempre definido, lote com base na porcentagem de risco. Sem grid, sem martingale. / EA gratuito: rompimento da faixa asiática na sessão de Londres, uma operação por dia, stop loss sempre definido, lote com base na porcentagem de risco. Sem grid e sem martingale.

Marginal Drawdown Contribution Analyzer Marginal Drawdown Contribution Analyzer

Um script para contas que executam vários Expert Advisors ou configurações. Ele agrega o resultado líquido de cada configuração (número mágico ou número mágico e símbolo) por dia do calendário e mede o quanto cada uma contribui para a queda do portfólio: queda adicionada pelo método “leave-one-out”, participação na pior queda e participação na variância de Euler. Ele exibe conclusões, recomendações e uma pontuação heurística de A+ a F. Funciona imediatamente em uma carteira de demonstração integrada e foi escrito em MQL5 puro.

GDS Renko Trade Manager — MetaTrader 5 GDS Renko Trade Manager — MetaTrader 5

Um gerenciador de negociações manuais para o MetaTrader 5: blocos Renko completos, ponto de equilíbrio e Stop Loss móvel configuráveis, além de um painel Renko diretamente no gráfico. Sem entradas automáticas.