Institutional Framework Trading System MT5
- Indicadores
- Versão: 1.586
- Atualizado: 19 outubro 2026
Negocie instrumentos financeiros usando a mesma estrutura que as instituições realmente utilizam
A maioria das ferramentas de Smart Money Concept (SMC) para o varejo faz apenas uma coisa: traça Order Blocks e Liquidity Sweeps no seu gráfico e deixa você decidir se deve confiar neles. O Institutional Framework Trading System MT5 não para por aí.
Cada sinal gerado é uma estrutura de ação do preço que já foi validada por até três camadas adicionais de contexto de nível institucional — posicionamento real do mercado de opções, fundamentos macroeconômicos e sentimento do mercado. Tudo isso é sintetizado em um único sinal claro, em vez de três indicadores discutindo entre si na sua tela.
Foi desenvolvido para traders que já entendem Order Blocks, Liquidity Sweeps e zonas de Supply/Demand e querem um sistema que verifique a estrutura em vez de apenas desenhá-la.
O que o diferencia
-
Motor completo de estrutura SMC — Order Blocks, Liquidity Sweeps e zonas de Supply/Demand, construídos inteiramente a partir de ação do preço confirmada em candles fechados. Os sinais são bloqueados no momento em que o candle fecha e nunca são repintados depois.
-
Confirmação multicamada, não apenas estrutura. Cada sinal estrutural é validado pelos detectores de Divergence, Exhaustion e Absorption antes de chegar ao gráfico. Isso significa que você vê concordância entre a estrutura do preço e o comportamento do fluxo de ordens, e não apenas uma correspondência de padrão.
-
Confluência com o mercado real de opções. Extrai diretamente dados de opções sobre futuros de ouro da COMEX — Open Interest real, Max Pain e níveis de liquidez do mercado real de opções de ouro, e não um substituto sintético — permitindo identificar onde o grande posicionamento realmente está antes de o preço chegar lá.
-
Projetado com consciência macroeconômica. Um pipeline integrado lê o balanço do Fed, CPI/PPI e dados de emprego para manter os sinais alinhados com o regime macroeconômico mais amplo, em vez de ignorá-lo.
-
Considera o sentimento. O posicionamento do CFTC Commitment of Traders e o indicador Fear & Greed do mercado alimentam um filtro contrarian real — leituras extremas de sentimento são tratadas como oportunidades de operar contra o consenso, e não como um sinal verde.
-
Dois modos desenvolvidos para finalidades específicas. Conservative Mode, baseado em pontuação para condições de tendência, e Range-Bound Mode — o modo padrão desta versão, ajustado por meio de testes de estratégia — desenvolvido para mercados em consolidação, onde estrutura e reversão à média importam mais do que momentum.
-
Funciona imediatamente e cresce com você. Todas as camadas avançadas acima são opcionais. Você pode anexar o indicador sem nenhuma configuração e ele funcionará desde o primeiro candle usando apenas estrutura verificada. Quando estiver pronto, poderá adicionar dados de opções, feeds macroeconômicos ou dados de sentimento — nada além do mecanismo principal é necessário para gerar sinais.
-
Copie o arquivo .mq5 para a pasta MQL5\Indicators do seu terminal (File → Open Data Folder dentro do MT5) e depois compile-o no MetaEditor.
-
Anexe o indicador a um gráfico de ouro (ele também funcionará em outros símbolos, mas todos os valores padrão e comentários deste arquivo assumem XAU).
-
Deixe todos os parâmetros no valor padrão. Esta versão inicia em Range-Bound Mode — o modo para o qual esta versão foi ajustada — com a detecção de Divergence ativa, mas com seus marcadores no gráfico ocultos (a seção 2 explica o motivo).
-
Após anexar o indicador, observe o log Experts. Ele informará claramente se alguma obtenção automática de dados fundamentais/sentimento falhou, enquanto o painel de informações no gráfico mostra de forma rápida o modo atual, o regime e o status da pontuação do sinal.
-
Caso queira utilizar a confluência do mercado de opções, escolha um dos caminhos da seção 11; caso contrário, ignore completamente essa parte. O indicador funciona normalmente sem ela.
enum ENUM_SIGNAL_MODE { MODE_CONSERVATIVE, MODE_RANGEBOUND };
-
Conservative Mode — sistema baseado em pontuação. Order Block, Sweep, Divergence, Exhaustion, Absorption, Cluster Confluence e Options Confluence adicionam pontos à pontuação; um sinal só é acionado quando a pontuação ultrapassa MinSignalScore (padrão 4). O filtro de regime (leitura de fundamentos/sentimento da seção 12) bloqueia ativamente sinais contrários ao viés predominante neste modo.
-
Range-Bound Mode (modo padrão desta versão) — exige uma condição estrutural (um Order Block ou uma zona de Demand/Supply ativa), e uma confirmação (Divergence, Exhaustion ou Absorption), e uma pontuação mínima através de RangeBoundMinScore (padrão 2 — o valor que reproduz exatamente o gate original sempre ativo; aumente-o somente se quiser que a confluência de Cluster/Options tenha maior peso). O filtro de regime não bloqueia a direção neste modo — as duas direções permanecem ativas independentemente do viés de fundamentos/sentimento.
Grupo: === SMC / Structure Detection ===
| Parâmetro | Padrão | O que controla |
|---|---|---|
| SwingWing | 3 | Número de barras necessárias em cada lado de um candle para confirmá-lo como swing high/low. Menor = mais swings e mais ruído; maior = menos swings, porém mais significativos. |
| SwingLookback | 100 | Quantas barras para trás o detector de swings procura pelo ponto swing anterior ao verificar Divergence ou estrutura de Sweep. |
| ATRPeriod | 14 | Período do ATR usado para dimensionar praticamente todos os limites baseados em distância do indicador (displacement, exhaustion, absorption e filtros divergence-swing). |
| OBDisplacementMult | 1.0 | Relação mínima entre o tamanho do corpo e o ATR que um candle deve ter para ser qualificado como candle de displacement de um Order Block. |
| OBMaxWickRatio | 0.3 | Proporção máxima do range do candle de displacement que pode ser composta por sombra (0–1). Filtra candles de grande range, mas predominantemente formados por sombras, para que não sejam considerados displacement real. |
| SDMoveMultiple | 3.0 | Quantos múltiplos do range do candle “base” o movimento explosivo subsequente precisa alcançar para ser qualificado como uma zona de Supply/Demand (seção 6). |
| EquilibriumBandPct | 0.05 | Largura da banda de “equilibrium” em torno do nível de 50% de um range detectado. |
Grupos: === Exhaustion Detection === , === Absorption Detection === , === Delta Divergence === , === Delta (Native Tick) ===
| Parâmetro | Padrão | O que controla |
|---|---|---|
| EnableExhaustion | true | Interruptor principal do detector de Exhaustion. |
| ExhaustionWickMult | 0.6 | Relação mínima entre sombra e range necessária para que um candle seja qualificado como Exhaustion. |
| ExhaustionBodyMult | 0.3 | Relação máxima entre corpo e range permitida juntamente com essa sombra. |
| EnableAbsorption | true | Interruptor principal do detector de Absorption. |
| AbsorptionVolFactor | 1.5 | Múltiplo mínimo do volume em relação à média necessário para que um candle seja qualificado como Absorption. |
| AbsorptionRangeFactor | 0.8 | Relação máxima entre range e ATR permitida. Absorption = volume alto com range pequeno. |
| AbsorptionRejectPct | 0.2 | Proporção mínima de rejeição pela sombra necessária. |
| EnableDivergence | true | Interruptor principal do detector de Divergence — mantenha-o ligado mesmo com DrawDivergenceMarks desligado (seção 2). |
| DrawDivergenceMarks | false (esta versão) | Puramente visual — mostra/oculta os marcadores DIV_ no gráfico. Não afeta a geração de sinais. |
| DivergenceMinSwingATR | 1.0 | Diferença mínima de preço entre swings, em ATR, necessária antes que dois swings possam ser comparados quanto à Divergence — filtra swings de nível de ruído. |
| MaxTickBars | 50 | Número de barras mais recentes que podem usar tick-delta real de compra/venda para Divergence; as barras mais antigas usam automaticamente raw tick-volume. |
Grupo: === Cluster Confluence (both modes) ===
| Parâmetro | Padrão | O que controla |
|---|---|---|
| UseClusterScoring | true | Determina se múltiplas confirmações simultâneas no mesmo candle recebem um bônus de pontuação. |
| MinClusterSignals | 3 | Quantas confirmações precisam concordar simultaneamente para ativar o bônus. |
| ClusterBonusScore | 2 | Tamanho do bônus adicionado à pontuação do sinal. |
Isso se aplica aos dois modos. No Range-Bound Mode, alimenta o gate RangeBoundMinScore descrito na seção 2.
6. Zonas de Supply & DemandGrupo: === Supply & Demand Zones ===
| Parâmetro | Padrão | O que controla |
|---|---|---|
| DrawSupplyDemandZones | true | Interruptor principal do mecanismo de desenho das zonas. |
| SDLookback | 100 | Quantas barras para trás o detector procura por padrões válidos de base + movimento explosivo. |
| SDMaxBaseCandles | 4 | Número máximo de candles de “base” (consolidação) permitido antes do movimento explosivo. |
| SDDisplacementMult | 0.5 | Relação mínima corpo/ATR para o movimento explosivo que sai de uma zona. É independente e mais flexível que OBDisplacementMult ; zonas e Order Blocks são detectados separadamente. |
| SDMaxZonesShown | 3 | Limita quantas zonas podem ser exibidas simultaneamente no gráfico. |
| SupplyZoneColor / DemandZoneColor | Red / Blue | Cores das zonas no gráfico. |
Uma zona de Demand ou Supply ativa (não mitigada) satisfaz a metade “estrutural” do gate do Range-Bound Mode exatamente como um Order Block.
7. Filtro de Higher TimeframeGrupo: === Higher-Timeframe Confirmation ===
| Parâmetro | Padrão | O que controla |
|---|---|---|
| UseHTFFilter | true | Determina se uma leitura direcional de um timeframe superior precisa estar de acordo antes que um sinal seja acionado. |
| HTFTimeframe | H4 | Timeframe superior utilizado na verificação. |
| HTFLookbackBars | 20 | Quantas barras H4 fechadas para trás a leitura de tendência analisa. |
| HTFNeutralPct | 0.05 | O quão próxima do plano a tendência HTF deve estar antes de ser tratada como “neutra” (sem bloquear long ou short). |
Grupo: === Session Filter (approximate UTC windows, NOT DST-adjusted) ===
| Parâmetro | Padrão | O que controla |
|---|---|---|
| AllowedSession | SESSION_ALL | Restringe sinais a uma sessão específica: SESSION_ALL , SESSION_LONDON , SESSION_NEWYORK ou SESSION_LONDON_NY . |
| UTCOffsetHours | 0 | Ajuste caso o horário do servidor do seu broker não seja UTC. |
| Parâmetro | Padrão | Grupo | O que controla |
|---|---|---|---|
| SignalCooldownBars | 5 | Signal Cooldown | Número mínimo de barras — ou, se o preço não tiver se movimentado o suficiente, distância mínima de preço — entre dois sinais na mesma zona, para impedir que o mesmo nível gere sinais repetidamente. |
| MaxBarAgeForSignal | 25 | Stale Zone Decay | Idade máxima permitida para um Order Block continuar sendo considerado uma estrutura válida para um novo sinal. Esse parâmetro determina se a seta será exibida ou não, sendo diferente da configuração de tempo de alerta da seção 13. |
Grupo: === Fibonacci Extension Auto-Targets ===
Depois que um Order Block de alta ou de baixa é detectado, o gráfico traça TP1 / TP2 / TP3 (extensões de Fibonacci, padrões 1.618 / 2.618 / 4.236) e uma linha de referência BE .
A regra, exatamente como aparece no gráfico: mova seu Stop-Loss para o break-even.
| Parâmetro | Padrão |
|---|---|
| EnableFibTargets | true |
| FibTP1 / FibTP2 / FibTP3 | 1.618 / 2.618 / 4.236 |
| FibTP1Color / FibTP2Color / FibTP3Color | Yellow / Orange / Red |
| TrailBEColor | White |
Existem duas formas de fornecer dados reais do mercado de opções ao bônus de pontuação Options Liquidity Confluence.
Você só precisa de uma delas. O indicador funciona normalmente sem nenhuma das duas.
Opção A — FlashAlpha Live API (conveniente, mas é um proxy)
-
Obtenha uma API Key gratuita em lab.flashalpha.com .
-
Defina UseLiveAPI = true e cole a chave em FlashAlpha_API_Key .
-
Defina FlashAlpha_Expiration com a data de vencimento desejada, no formato yyyy-MM-dd . É obrigatório porque o plano gratuito não consegue consultar todas as expirações de uma vez.
-
Mantenha FlashAlpha_Symbol em seu valor padrão ( NEM ), a menos que exista um motivo específico para alterá-lo.
Opção B — CSV mensal do Barchart.com (opções reais de ouro, atualização manual)
Esses são dados reais de opções sobre futuros de Gold (GC) da COMEX, não um proxy.
-
Acesse a cadeia de opções de Gold futures da Barchart ( barchart.com/futures/quotes/GC*0/options ), selecione o mês do contrato e baixe a cadeia em CSV.
-
O arquivo precisa ter pelo menos 13 colunas separadas por vírgulas em cada linha, sendo:
-
coluna 1 = strike
-
coluna 9 = volume
-
coluna 10 = open interest
-
coluna 13 = tipo de opção (deve começar com C ou P )
-
uma linha de cabeçalho é permitida e será ignorada automaticamente.
-
-
Coloque o arquivo na pasta de dados do seu próprio terminal: File → Open Data Folder → MQL5 → Files.
-
Defina CSV_File_Name exatamente igual ao nome do arquivo. Padrão: gcv26-options-monthly.csv .
-
Defina UseLiveAPI = false .
Ajuste de exibição das opções
| Parâmetro | Padrão | O que faz |
|---|---|---|
| Min_OI_Threshold | 100 | Open Interest mínimo necessário para que um strike conte para BSL/SSL. |
| Min_Volume_Threshold | 200 | Filtro de volume mínimo para níveis baseados em opções. |
| Max_Pain_Buffer | 5 | Faixa de tolerância, em strikes, ao redor do nível Max Pain calculado. |
| Max_Strikes_Processed | 100 | Limita quantos strikes são processados; os mais próximos do preço são carregados primeiro. |
| Max_Battle_Zones_Shown | 5 | Limita quantos níveis de “Battle Zone” de alto OI são exibidos. |
| Refresh_Hotkey | R | Pressione esta tecla no gráfico para forçar uma atualização imediata das opções. |
| Auto_Refresh_Seconds | 60 | Com que frequência o indicador verifica se uma atualização é necessária; não é o mesmo que RefreshIntervalHours . |
| UseOptionsConfluence | true | Interruptor principal do bônus de pontuação Options Confluence (ambos os modos). |
| OptionsConfluenceATRMult | 0.5 | Tolerância de proximidade, em ATR, a um nível-chave de opções para que o bônus seja aplicado. |
| OptionsConfluenceBonus | 1 | Tamanho do bônus. |
Ambos são pontuados de 0 a 100:
-
Fundamental score: 0 = baixista para o ouro, 100 = altista para o ouro.
-
Sentiment score: 0 = medo extremo, 100 = ganância extrema.
-
O valor padrão/neutro é 50 para ambos.
Essas são pontuações híbridas, não totalmente automáticas.
Mesmo com UseAutoFundamentals = true , vários componentes não possuem um feed público gratuito e precisam sempre ser inseridos manualmente:
| Entrada manual | O que é | Onde obter |
|---|---|---|
| ManualFedStance | 0 = muito hawkish … 100 = muito dovish | Sua própria leitura — não existe um feed numérico limpo |
| ManualCmeCutProb | Probabilidade de corte de juros na próxima reunião segundo CME FedWatch (0–100) | CME FedWatch Tool em cmegroup.com |
| ManualNFPActual / ManualNFPExpected | Non-Farm Payrolls, valor real vs. consenso (milhares) | BLS fornece o valor real; o consenso não é um dado governamental |
| ManualADPActual / ManualADPExpected | Emprego ADP, valor real vs. consenso (milhares) | Mesma lógica do NFP |
| ManualGeoScore | Tensão geopolítica, 0–100 | Seu próprio julgamento |
| BPR_USBanksLong / BPR_USBanksShort | CFTC Bank Participation Report, COMEX Gold | Bank Participation Reports mensais em cftc.gov |
Os componentes obtidos automaticamente quando UseAutoFundamentals = true são:
-
Balanço do Fed (FRED)
-
CPI/PPI/desemprego (BLS)
-
Preço do símbolo de petróleo do seu broker
Para o sentimento, UseAutoSentiment = true obtém:
-
CFTC Commitment of Traders (Disaggregated, Managed Money)
-
Indicador Fear & Greed da JM Bullion
Obtendo sua API Key do FRED
-
Registre-se gratuitamente em fred.stlouisfed.org/docs/api/api_key.html .
-
Cole a chave em FRED_API_Key .
Ela é necessária apenas para o componente do balanço do Fed.
Colocando as URLs necessárias na whitelist
No MT5:
Tools → Options → Expert Advisors → marque "Allow WebRequest for listed URL:" → adicione cada domínio que você realmente utiliza:
https://publicreporting.cftc.gov https://www.jmbullion.com https://api.stlouisfed.org https://api.bls.gov https://lab.flashalpha.com
