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
Indicadores

CME Gap Tracker for Gold and Bitcoin: Open Gaps, Fill Rate and a Fade-Trade Test - indicador para MetaTrader 5

Ali Akbar
Ali Akbar
  • MQL5 Developer & Algorithmic Trading Specialist em  Freelance
  • Paquistão
  • 1695
Hi, I'm Ali. 24 years old, trading for around 5 years, and developing MQL5/MQL4 tools. I mainly work on automating manual strategies, fixing broken EA logic, and building clean indicators. I care more about clean architecture and proper risk management than over-complicated code. Always down to talk
| Portuguese English Русский 中文 Español Deutsch 日本語 한국어 Français Italiano Türkçe
Visualizações:
30
Avaliação:
(1)
Publicado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

Rastreador de Gaps da CME para o ouro e o Bitcoin: Gaps de abertura, taxa de preenchimento e um teste de estratégia “fade-trade”

Identifica a lacuna da CME do fim de semana nos gráficos de ouro e de Bitcoin 24/7, mantém todas as lacunas não preenchidas no gráfico até que o preço retorne a elas e mostra com que frequência as lacunas foram preenchidas, com que rapidez, até onde o preço se deslocou inicialmente e qual teria sido o resultado de uma estratégia de “fade”. Sem repintura, com buffers para um Expert Advisor.

A ideia

“As lacunas da CME sempre se preenchem” é algo que se ouve em todos os chats sobre Bitcoin e também em muitos canais sobre ouro. Os futuros da CME encerram as negociações na sexta-feira às 16h, horário de Chicago, e recomeçam no domingo às 17h. O que quer que o mercado tenha feito nesse intervalo aparece como uma lacuna no gráfico de futuros, e acredita-se que o preço volte para fechá-la.

Eu queria duas respostas antes de acreditar nisso. Com que frequência a lacuna realmente se preenche? E, se ela se preencher, dá para ganhar dinheiro operando nessa direção, ou o preço vai primeiro para o outro lado e te faz sair da posição? Este indicador responde a ambas as perguntas no seu próprio gráfico.

O que ele faz

  • Converte o fechamento da sexta-feira na CME e a abertura do domingo para o horário do servidor da sua corretora, levando em conta a regra do horário de verão dos EUA para Chicago e a regra do relógio do seu servidor.
  • Pega o preço do seu gráfico nesses dois momentos. A diferença é a lacuna. Lacunas menores que InpMinGapPct (0,30% por padrão) são ignoradas.
  • Desenha cada lacuna como uma caixa e a identifica com seu tamanho. Uma lacuna não preenchida permanece no gráfico, estendida para a direita, até que uma barra fechada volte ao preço de fechamento de sexta-feira. Então, a caixa fica cinza e a identificação mostra quantas horas levou para ser preenchida.
  • Coloca uma seta na barra onde a CME abriu: para cima em caso de lacuna de baixa, para baixo em caso de lacuna de alta, na direção do preenchimento.
  • Exibe um painel de resultados para as últimas InpWeeksBack semanas (104 por padrão).

Em um gráfico de Bitcoin que é negociado durante todo o fim de semana, não há lacuna visível entre a última barra da sexta-feira e a primeira barra da segunda-feira; portanto, uma ferramenta comum para lacunas de fim de semana não encontra nada. A lacuna da CME só aparece quando se observa o preço nos dois momentos da CME, que é exatamente o que este indicador faz. No ouro, o mercado à vista também fecha no fim de semana, portanto, a lacuna do CME e a lacuna de fim de semana da corretora são praticamente a mesma coisa.

Uma coisa que precisa ficar clara: o indicador usa os preços do gráfico em que é executado, não os preços dos futuros. Em um gráfico à vista ou de CFDs, você obtém o movimento à vista durante o fim de semana da CME. A lacuna no gráfico real de futuros pode diferir um pouco, pois os futuros são negociados com prêmio ou desconto em relação ao preço à vista.

O que o painel mostra

  • O número de gaps, dividido entre de alta e de baixa, e quantos fins de semana ficaram abaixo do tamanho mínimo.
  • Quantos gaps foram preenchidos e qual a porcentagem preenchida em 24 horas e em 7 dias.
  • O tempo mediano para preenchimento e o tempo que os 10% mais lentos das lacunas levaram.
  • Variação antes do preenchimento: até que ponto o preço se afastou do nível de preenchimento antes de retornar, em múltiplos do tamanho da lacuna. Uma variação de 2,0x em uma lacuna de 1% significa que o preço primeiro se moveu mais 2% na direção contrária.
  • Um teste de operação de fade: entrar na abertura da CME até o fechamento da sexta-feira, definir o stop em InpStopGapMult vezes o tamanho da lacuna no lado oposto, sair após InpMaxHoldDays dias se nenhum dos níveis for atingido. O spread da barra de entrada é cobrado. Quando o stop e a meta estão ambos dentro de uma barra, o stop é contabilizado.
  • O número de gaps abertos na janela avaliada e o nível de preenchimento aberto mais próximo acima e abaixo do preço atual (esses dois analisam todos os gaps no histórico carregado).

O que foi encontrado no ouro

XAUUSD H1, dados de demonstração da MetaQuotes, parâmetros padrão, exceto onde indicado. As duas janelas se sobrepõem por alguns dias no final de dezembro de 2025.

2026, 38 semanas até 18 de setembro 2026, 38 semanas até 18 de setembro 2025, 52 semanas até 31 de dezembro 2025, 52 semanas até 31 de dezembro
Intervalo mínimo 0,30% 0,10% 0,30% 0,10%
Variações (alta / baixa) 24 (10 / 14) 33 (13 / 20) 6 (2 / 4) 19 (9 / 10)
Preenchidas 23 (96%) 32 (97%) 5 (83%) 18 (95%)
Preenchidos em até 24 horas 58% 67% 50% 68%
Preenchido em até 7 dias 83% 85% 50% 74%
Tempo médio para preenchimento 7 h 3 h 3 h 3 h
Temperatura mediana antes do enchimento 2,18x a diferença 2,31x a diferença 2,16x a diferença 1,70x gap
Operações de venda a descoberto, stop no gap de 1x 24 33 6 19
Taxa de acerto em operações de fade 29,2% 27,3% 16,7% 26,3%
Fator de lucro do Fade 0,41 0,37 0,20 0,35
Total do fade -10,1R -15,1R -4,0R -9,1R

Portanto, o ditado se aplica em grande parte ao ouro: 83% a 97% das lacunas foram preenchidas. É na negociação que tudo desanda. Entre as lacunas preenchidas, a mediana, inicialmente, oscilou na direção contrária em cerca de duas vezes o seu próprio tamanho, de modo que a maioria das negociações de fade com um stop do tamanho de uma lacuna resultou em perda.

Tentei usar stops mais amplos, com um mínimo de 0,30%. Um stop mais amplo dá mais lucros, mas cada perda é maior e o resultado total permaneceu negativo nos dois anos:

Stop Taxa de acertos em 2026 Total em 2026 PF de 2026 Taxa de acertos em 2025 Total de 2025 PF de 2025
Diferença de 1x 29,2% -10,1R 0,41 16,7% -4,0R 0,20
2x a diferença 45,8% -7,0R 0,44 33,3% -3,0R 0,25
3x a diferença 66,7% -2,0R 0,72 50,0% -2,0R 0,33

Em 2025, houve apenas 6 gaps de 0,30% ou mais; portanto, considere essa coluna como uma amostra pequena. O que concluo disso é simples. No ouro, o gap é um bom ponto para se esperar que o preço chegue, mas operar contra ele na abertura com um stop fixo não deu certo em nenhum dos dois anos.

Algumas lacunas demoram muito tempo para serem preenchidas. Em 18 de setembro de 2026, uma lacuna do ouro de 2025 ainda estava aberta, com um nível de preenchimento de 3201,00, bem abaixo do preço.

Fig. 1. XAUUSD H1, final de janeiro de 2026: uma lacuna de +0,43% preenchida em 106 horas e uma lacuna de -2,47% preenchida em 32 horas

Fig. 2. O painel de resultados das quatro simulações da tabela

Sobre o Bitcoin

Não consegui testá-lo com o Bitcoin. Minha corretora de teste, a MetaQuotes-Demo, não oferece o BTCUSD 24 horas por dia, 7 dias por semana, apenas um ETF de Bitcoin que é negociado durante o horário de funcionamento da Nasdaq. O caminho do código para um gráfico 24 horas por dia, 7 dias por semana, é o mesmo que funciona para o ouro: o preço no fechamento da sexta-feira e na abertura do domingo. Antes de confiar nele para o BTC, verifique as primeiras lacunas comparando com um gráfico de futuros da CME e defina os parâmetros de deslocamento do servidor para a sua corretora.

Entradas

Entrada Padrão O que faz
InpGMTWinter 2 Diferencial de horário do servidor em relação ao GMT no inverno, em horas
InpGMTSummer 3 Desvio do servidor em relação ao GMT no verão, em horas
InpServerDST Europa Regra de horário de verão do relógio do servidor (fixo, Europa ou EUA)
InpMinGapPct 0,30 Diferencial mínimo, % do preço
InpWeeksBack 104 Número de semanas de histórico no quadro de resultados
InpDrawWeeks 26 Semanas em que lacunas foram preenchidas (lacunas em aberto são sempre desenhadas)
InpStopGapMult 1,0 Teste de desvanecimento: parar em um múltiplo da lacuna
InpMaxHoldDays 5 Teste de fade: sair após esse número de dias
InpShowPanel true Mostrar o painel do quadro de resultados
InpPanelCorner canto superior esquerdo Canto do painel
InpOpenGapColor laranja claro Cor das lacunas não preenchidas
InpFilledGapColor Gainsboro Cor das lacunas preenchidas
InpAlertNewGap true Alerta quando uma nova lacuna é aberta
InpAlertFill true Alerta quando uma lacuna aberta é preenchida
InpAlertPush false Enviar também notificações push

Os valores padrão (GMT+2 no inverno, GMT+3 no verão, regra europeia) correspondem ao MetaQuotes-Demo e a muitas outras corretoras MetaTrader. Se o servidor da sua corretora operar no horário UTC durante todo o ano, defina ambos os deslocamentos como 0 e a regra como “fixa”. Use o período H1 ou um período menor. Em H4 e acima, os horários da CME caem dentro de uma barra e os preços ficam menos precisos.

Utilizando-o a partir de um Expert Advisor

A lacuna é registrada na barra em que a CME abriu, assim que essa barra é formada, de modo que um EA a lê no deslocamento 0. Ele usa apenas o fechamento de sexta-feira e o preço de abertura dessa barra, portanto, nunca muda posteriormente. Verifiquei isso com um EA de teste que registrou cada gap à medida que aparecia e comparei a lista com os buffers do indicador ao final da execução: 24 dos 24 gaps corresponderam ao ouro em 2026.

Buffer Conteúdo
0 Lacuna de baixa (compra em queda), o valor é o preço de entrada; caso contrário, EMPTY_VALUE
1 Lacuna de alta (venda em contra-tendência), mesmo formato
2 Nível de preenchimento (fechamento de sexta-feira) na barra de lacuna
3 Stop de teste de reversão na barra de gap
4, 5 Níveis de execução de abertura mais próximos acima e abaixo de cada barra fechada
6 a 9 Quadro de resultados na última barra fechada: operações de fade fechadas, ganhos, R total, soma do R perdido
int      handle;
datetime lastBar = 0;

int OnInit()
  {
   handle = iCustom(_Symbol, PERIOD_H1, "CMEGapTracker");
   return(handle == INVALID_HANDLE ? INIT_FAILED : INIT_SUCCEEDED);
  }

void OnTick()
  {
   //--- uma lacuna é registrada na barra de abertura da CME assim que essa barra é aberta
   datetime bar = iTime(_Symbol, PERIOD_H1, 0);
   if(bar == lastBar)
      return;
   lastBar = bar;

   double up[1], down[1], target[1], stop[1];
   if(CopyBuffer(handle, 1, 0, 1, up) < 1 || CopyBuffer(handle, 0, 0, 1, down) < 1 ||
      CopyBuffer(handle, 2, 0, 1, target) < 1 || CopyBuffer(handle, 3, 0, 1, stop) < 1)
      return;

   if(up[0] != EMPTY_VALUE)
      Print("Gap up, fill level ", target[0], ", fade stop ", stop[0]);
   if(down[0] != EMPTY_VALUE)
      Print("Gap down, fill level ", target[0], ", fade stop ", stop[0]);
  }

Os buffers 4 e 5 são úteis para um tipo diferente de EA, aquele que usa gaps abertos como alvos para negociações realizadas por outros motivos. O indicador não possui grupos de entrada propositalmente, pois o MQL5 considera cada “grupo de entrada” como um parâmetro de iCustom() e cada valor após ele seria deslocado em uma posição.

Limitações

Ele funciona com dados de barras, portanto não consegue determinar a ordem dos eventos dentro de uma barra. Ele usa os preços do seu gráfico nos horários da CME, e não os preços dos futuros. Feriados nos EUA que encurtam a semana da CME não são tratados separadamente. O teste de fade considera o spread da barra de entrada, mas não cobra comissão nem leva em conta o slippage, e as aberturas de fim de semana são exatamente quando o slippage é pior. Todos os números acima descrevem lacunas passadas com base nos dados de uma corretora.

Ali Rajput


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

Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest Gold Breakout EA for XAUUSD H4 +90 Percent in a 2020 to 2026 Backtest

Um EA de breakout no estilo Turtle para o ouro. Ele compra quando uma barra H4 fecha acima da máxima de 20 barras em uma tendência de alta, com um stop de 2 ATR e uma meta de 2R. Testado retrospectivamente no XAUUSD de janeiro de 2020 a setembro de 2026: +9.029,72 com 10.000 e risco de 1%, fator de lucro de 1,77, drawdown máximo de 11,38%, 6 dos 7 anos lucrativos.

NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias NeonDesk - Neon Manual Trading Panel with Multi-Timeframe Bias

Painel de negociação manual arrastável no gráfico, com tendência em múltiplos intervalos de tempo, sugestões de SL/TP com base no ATR, um trailing stop e opções de COMPRA/VENDA/FECHAR TUDO com um clique.

EMA Cross Demo EA with ATR Stops EMA Cross Demo EA with ATR Stops

Um pequeno Expert Advisor de demonstração: entradas por cruzamento de EMAs rápida e lenta (avaliadas apenas em barras fechadas, sem repintura), stop-loss e take-profit baseados em ATR, filtro de spread e gerenciamento de posições que funciona tanto em contas de hedge quanto em contas de compensação. Inclui uma implementação de referência em Python para testes de paridade. Este é um exemplo prático, não uma recomendação de negociação — a curva de patrimônio anexada é proveniente de dados sintéticos e ilustra o método, não uma vantagem competitiva.

iFVG Indicator With Signals iFVG Indicator With Signals

Indicador iFVG com sinais