Smart Money Concepts é um dos estilos de trading mais exigentes analiticamente. Identificar change of character, break of structure, order blocks não mitigados, fair value gaps, liquidity sweeps e zonas de Optimal Trade Entry na retração de fib de 0.618 a 0.79 exige observar gráficos constantemente, desenhar a estrutura corretamente e esperar por um setup de confluência que pode aparecer uma vez por dia. A maioria dos traders discricionários de SMC perde setups porque não está na tela no momento certo, ou pega o setup errado porque confunde um BoS com um CHoCH no calor do momento. Um bot de SMC construído por IA resolve os dois problemas: ele observa cada candle, aplica as regras de forma consistente e nunca confunde um padrão de estrutura com outro.
Este guia mostra como um bot de trading Smart Money Concepts construído por IA realmente funciona por baixo dos panos — a detecção de estrutura, a lógica de entrada OTE, a matemática de retração de fib, a varredura de order blocks não mitigados — e mostra como você constrói um em português simples na fomoed. Vamos cobrir cada uma das sete primitivas SMC às quais a IA tem acesso, percorrer uma estratégia completa de CHoCH-e-fib do prompt ao bot em execução, e explicar por que a execução automatizada tende a superar o trading discricionário de SMC, mesmo para chartistas habilidosos.
Por que SMC com IA É um Multiplicador de Força
A parte difícil do trading com Smart Money Concepts não é a teoria. A teoria está bem documentada e a maioria dos traders experientes consegue identificar um CHoCH ou um order block bullish não mitigado em um gráfico limpo. A parte difícil é a execução: fazer isso de forma consistente, no timeframe que você disse que faria, em cada par que você disse que faria, sem pular setups porque não estava observando no momento certo ou porque o setup se formou às 3h da manhã no seu horário local.
Duas coisas matam o trading discricionário de SMC. A primeira é o viés de seleção — você lembra dos setups que funcionaram e esquece dos que não funcionaram, o que corrompe sua visão sobre se a estratégia é realmente lucrativa. A segunda é o desvio de execução — você começa a semana pretendendo operar apenas setups grau A, e até quinta-feira está entrando em setups grau B porque ficou esperando e precisa "fazer alguma coisa". A automação resolve ambos. O bot não tem um estado emocional para desviar, e cada trade — vencedor ou perdedor — é registrado no mesmo banco de dados, disponível para revisão sem viés cor-de-rosa.
O que mudou recentemente é que você não precisa mais escrever o bot sozinho. Detectar um CHoCH algoritmicamente requer identificar swing highs e swing lows corretamente, rastrear a estrutura como sequências HH-HL-LH-LL e detectar quando um fechamento rompe acima do lower high mais recente (em uma tendência bearish, sinalizando um CHoCH bullish). São algumas centenas de linhas de Python cuidadoso. A maioria dos traders SMC de varejo nunca escreveu isso; continuaram operando de forma discricionária na esperança de identificar visualmente. Uma IA agora escreve essa camada de detecção para você — ou melhor, ela compõe contra uma biblioteca SMC testada em batalha que o motor de estratégia personalizada da fomoed expõe dentro do sandbox, então a IA não precisa reinventar a detecção de pivots a cada geração.
As Sete Primitivas SMC que a IA Pode Usar
Quando você descreve uma estratégia SMC em português simples, a IA gera um script Python que roda dentro do runtime sandboxed. O script não escreve sua própria detecção de pivots; ele compõe contra uma biblioteca de helpers curada chamada fomoed.smc que expõe sete primitivas. Cada uma mapeia para um conceito que traders SMC reconhecem:
1. Swings. fomoed.smc.swings(highs, lows, lookback) retorna os swing highs e swing lows no histórico de preço recente. Um swing high no índice i é o maior high em uma janela de i - lookback a i + lookback. O lookback padrão é 20 candles, o que funciona para a maioria dos timeframes. Retorna um dict com arrays highs e lows, cada um contendo o índice e o preço de cada pivot detectado.
2. Estrutura. fomoed.smc.structure(highs, lows, lookback) pega os swings e os rotula como HH (higher high), HL (higher low), LH (lower high) ou LL (lower low). Retorna a tendência atual (bullish, bearish ou neutra) mais a sequência de estrutura. Um bot pode usar isso para verificar "estou em uma alta?" antes de decidir entrar em um setup long.
3. Break of Structure (BoS). fomoed.smc.bos(opens, highs, lows, closes, lookback) detecta rompimentos de continuação de tendência. Um BoS bullish é um fechamento forte acima do swing high mais recente em uma tendência bullish; um BoS bearish é um fechamento forte abaixo do swing low mais recente em uma tendência bearish. O qualificador "forte" importa — o helper exige que o corpo do candle de rompimento seja pelo menos 1,5x o corpo médio das últimas 20 barras, filtrando rompimentos arrastados que falham em deslocar o preço.
4. Change of Character (CHoCH). fomoed.smc.choch(highs, lows, closes, lookback) detecta pivots de reversão de tendência. Um CHoCH bullish é um fechamento acima do lower high mais recente enquanto a tendência era bearish, sinalizando uma reversão. Um CHoCH bearish é um fechamento abaixo do higher low mais recente enquanto a tendência era bullish. Esta é a primitiva SMC que a maioria dos traders discricionários confunde com BoS. O helper faz a distinção algoritmicamente.
5. Order Blocks. fomoed.smc.order_blocks(opens, highs, lows, closes) retorna zonas de order blocks ativas (não mitigadas) bullish e bearish. Um OB bullish é o último candle bearish antes de um movimento de deslocamento que rompeu um swing high; um OB bearish é o espelho. As zonas usam o CORPO do candle (open a close), não o range completo com pavios, conforme a metodologia ICT. Apenas zonas que não foram testadas desde a formação são retornadas — uma vez que o preço revisita um OB, ele é considerado mitigado e removido da lista.
6. Fair Value Gaps (FVG). fomoed.smc.fvg(opens, highs, lows, closes, min_gap_pct) encontra padrões de desequilíbrio de três candles não preenchidos. Um FVG bullish é o gap entre o high do candle i-1 e o low do candle i+1, onde o candle i foi o candle de deslocamento no meio. O parâmetro min_gap_pct filtra gaps pequenos (padrão 0,2 por cento do preço). Cada FVG retornado inclui um fill_pct mostrando quanto do gap foi preenchido por pavios subsequentes.
7. Liquidity Sweeps. fomoed.smc.liquidity_sweeps(highs, lows, closes, sweep_depth_pct, reclaim_candles) detecta padrões de stop-hunt: um pavio abaixo de um swing low seguido por uma retomada acima do nível dentro do número especificado de candles (sweep bullish), ou o espelho bearish. O parâmetro sweep_depth_pct é a penetração mínima além do nível que conta como um sweep, filtrando roçaduras.
Além das sete primitivas SMC, a IA pode usar fomoed.fib para matemática de retração de Fibonacci: fib.retracement(swing_high, swing_low, level) retorna o preço em um determinado nível de fib (0.5, 0.618, 0.705, 0.79, 0.886), fib.zones retorna um dict de todos os níveis padrão e fib.in_zone retorna um booleano para "o preço está próximo deste nível de fib dentro de X por cento do tamanho do swing".
Uma Estratégia de CHoCH e Fib em Português Simples, do Início ao Fim
Vamos percorrer uma estratégia real do prompt até o bot em execução. A estratégia: operar reversões esperando por um CHoCH bullish, depois entrar em um pullback à retração de fib 0.705 do swing de impulso. Take profit no próximo swing high acima da entrada; stop loss no low varrido abaixo do CHoCH.
Você escreveria este prompt na etapa Agente de Trading com IA:
"Entrar long em um CHoCH bullish seguido por um pullback ao nível de fib 0.705 do swing de rompimento. Take profit no próximo swing high acima da entrada. Stop loss no swing low mais recente abaixo do CHoCH. Apenas long — sem operar short."
Em poucos segundos, a tela de revisão do wizard mostra a interpretação da IA:
Resumo da IA: Jogada de reversão de tendência SMC. Espera por um CHoCH bullish — preço fechando acima do lower-high mais recente enquanto a tendência era bearish, sinalizando uma reversão. Depois observa o preço fazer pullback até a retração de fib 0.705 do swing de impulso (low até o high do CHoCH), que fica na zona OTE. Abre long no tamanho de posição configurado quando o preço toca a zona. Take profit no próximo swing high acima da entrada; stop loss no swing low mais baixo abaixo do CHoCH (onde os stops seriam varridos em uma reversão falha). Apenas long — sem setups de short.
Como funciona:
1. Observe um CHoCH bullish — preço fechando acima do lower high mais recente enquanto a tendência era bearish (sinaliza uma reversão).
2. Após o CHoCH, meça o swing de impulso (low → high do CHoCH) e calcule o nível de retração de fib 0.705.
3. Espere o preço fazer pullback até a zona de fib 0.705 (dentro de 0,5 por cento do tamanho do swing).
4. Abra long no tamanho de posição configurado quando o preço tocar a zona.
5. Take profit no próximo swing high acima da entrada, ou stop no swing low mais baixo (liquidez varrida).
Você consegue ver imediatamente se a IA entendeu a estratégia. Se algo parecer errado, você edita o prompt e regenera. Quando estiver de acordo com sua intenção, você salva e o bot começa a rodar no próximo fechamento de candle.
O que a IA Realmente Escreve (Nos Bastidores)
Para a estratégia de CHoCH-e-fib acima, a IA gera um script Python de cerca de 30 a 40 linhas que roda dentro do sandbox a cada fechamento de candle. Ele se parece com isso (abreviado para legibilidade):
def on_candle(ctx):
if len(ctx.closes) < 100:
return None
# Exit logic if already in a position
if ctx.position is not None:
sw = fomoed.smc.swings(ctx.highs, ctx.lows, lookback=20)
entry = ctx.position.entry_price
price = ctx.closes[-1]
# TP at next swing high above entry
tp = next((s['price'] for s in reversed(sw['highs'])
if s['price'] > entry), None)
# SL at most recent swing low below entry
sl = next((s['price'] for s in reversed(sw['lows'])
if s['price'] < entry), None)
if tp and price >= tp:
return {'action': 'close', 'reason': f'TP swing-high {tp:.2f}'}
if sl and price <= sl:
return {'action': 'close', 'reason': f'SL swing-low {sl:.2f}'}
return None
# Entry logic: bullish CHoCH + fib pullback
choch = fomoed.smc.choch(ctx.highs, ctx.lows, ctx.closes, lookback=20)
bull = [c for c in choch if c['type'] == 'bullish_choch']
if not bull:
return None
last = bull[-1]
idx = last['index']
if idx < 10:
return None
swing_low = float(ctx.lows[max(0, idx - 30):idx].min())
swing_high = float(ctx.highs[idx:].max())
if swing_high <= swing_low:
return None
price = ctx.closes[-1]
if fomoed.fib.in_zone(price, swing_high, swing_low, 0.705,
tolerance_pct=0.5):
return {
'action': 'buy',
'size_usd': ctx.user.position_size_usd,
'reason': f"CHoCH @ {last['broken_level']:.2f}, fib 0.705 pullback",
}
return NoneOs usuários finais nunca veem esse código — eles veem o resumo da IA e os passos do "Como Funciona". O Python é armazenado no servidor para auditoria e roda dentro do runtime sandboxed. O objetivo de mostrá-lo aqui é desmistificar o que a IA realmente produz: lógica curta e focada que delega as partes difíceis (detecção de pivots, matemática de fib, rastreamento de estrutura) para a biblioteca de helpers. A IA não está reinventando algoritmos SMC toda vez que você gera um bot — ela está compondo contra as mesmas implementações testadas em batalha que o preset SMC usa.
Por que o SMC Automatizado Tende a Superar o Discricionário
Um trader humano habilidoso de SMC e um bot SMC bem construído, olhando para o mesmo gráfico, frequentemente desenharão a mesma estrutura. Então por que o bot tende a superar o humano em uma janela de vários meses?
Consistência de execução. O bot pega todo setup grau A. O humano pega a maioria deles. Mesmo um setup perdido por semana, composto ao longo de um trimestre, muda materialmente os retornos. O trader discricionário também é mais propenso a pular um setup que "parece estranho" sem articular o porquê — às vezes isso é bom instinto, mas em média custa dinheiro.
Sem viés de "olhar para outro lugar". Humanos inconscientemente operam baseados no contexto mais amplo do mercado — um setup parece pior se o BTC acabou de despencar, um setup parece melhor se suas outras posições estão no verde. O bot não se importa. Se as regras batem, ele entra no trade.
Paciência no tédio. Traders SMC que operam manualmente frequentemente começam a ampliar seus critérios durante semanas lentas ("Vou pegar esse setup grau B, não opero há 4 dias"). O bot não fica entediado. Se nenhum setup grau A se formar por uma semana, ele fica de fora por uma semana. Essa paciência é o que faz a estratégia ser realmente lucrativa ao longo do tempo.
Vigilância 24/7. Setups não se formam apenas durante seu horário de trading. O melhor CHoCH do mês no gráfico de 4 horas pode disparar às 3h da manhã no seu horário local. O bot está acordado. Você não está.
O trade-off é que o SMC automatizado perde o julgamento de contexto que um humano habilidoso traz. Se o mercado mais amplo está em um regime claro de alta, um trader discricionário humano pode elevar seu limite para setups bearish. O bot segue as regras independentemente. A forma de lidar com isso em um sistema automatizado é embutir a detecção de regime no próprio prompt — por exemplo, "pegue apenas setups de CHoCH long quando o BTC estiver acima da sua EMA de 200 dias no gráfico diário". Se você consegue articular o filtro de regime, a IA pode implementá-lo.
Gestão de Risco Embutida
Uma preocupação que as pessoas levantam sobre bots de trading gerados por IA é "e se a IA tentar aumentar o tamanho de forma irracional ou colocar um monte de ordens?" A fomoed lida com isso separando decisões de capital de decisões de estratégia. Você define seu tamanho de posição, alavancagem e modo de trading (real ou paper) na etapa Money do wizard ANTES de escrever seu prompt. A IA recebe esses valores como restrições, não como variáveis que ela pode modificar.
Quando o script gerado pela IA retorna uma ação como {'action': 'buy', 'size_usd': 100, ...}, o supervisor do sandbox limita o tamanho solicitado ao valor escolhido por você no wizard. Se você definir $50 na etapa Money mas a IA tentar pedir $200, a plataforma dimensiona a ordem em $50 e registra o clamp. A chamada real de execute_entry usa seu tamanho de posição configurado, não o valor solicitado pelo script. A IA não pode sobrescrever seu limite de capital, mesmo que quisesse.
A mesma proteção se estende a take profit e stop loss. As configurações de TP e SL do wizard guiam o pipeline padrão de saída da plataforma; a ação "close" da IA é suplementar. Se você definir um stop loss de 2 por cento no wizard, esse stop dispara em uma queda de 2 por cento independentemente do que o script da IA disser. O papel da IA é adicionar inteligência de entrada, não sobrescrever suas regras de risco.
Essa separação é o que torna o Agente de Trading com IA seguro para rodar com dinheiro real. A lógica da estratégia é gerada por IA; a gestão de risco é configurada pelo wizard e aplicada pela plataforma. As duas são explicitamente desacopladas.
Perguntas Frequentes
A IA consegue detectar CHoCH e BoS automaticamente?
Sim. Os helpers fomoed.smc.choch e fomoed.smc.bos detectam isso algoritmicamente usando a mesma lógica de rastreamento de estrutura que o preset SMC dedicado usa. A IA não reinventa a detecção — ela compõe contra a implementação existente. Isso significa que a qualidade da detecção é consistente entre bots gerados por IA e bots SMC construídos pela plataforma.
A IA é melhor que traders humanos de SMC?
Em execução de regras: sim. Em julgamento de contexto: ainda não. O bot é mais consistente nas partes mecânicas do trading SMC — desenhar a estrutura corretamente, identificar order blocks não mitigados, calcular níveis de retração de fib, pegar todo setup qualificado. O bot é pior em integrar o contexto de regime mais amplo, a menos que esse contexto seja explicitamente embutido no prompt. A abordagem híbrida (deixar a IA cuidar da detecção do setup, você decidir se deixa ela operar agressivamente nesta semana) tende a performar melhor do que automação pura ou discrição pura.
Como a IA lida com entradas em retração de fib?
O módulo fomoed.fib fornece matemática de retração: dado um swing high e swing low, ele calcula o preço em qualquer nível de fib (0.5, 0.618, 0.705, 0.79, 0.886). O helper in_zone recebe uma porcentagem de tolerância e retorna se o preço atual está dentro dessa tolerância de um nível de fib. Bots gerados por IA tipicamente esperam que o preço toque um nível de fib específico (comumente 0.705 ou 0.79 — a zona OTE) antes de entrar. Múltiplos níveis de fib podem ser verificados simultaneamente; a IA emite a lógica certa a partir da sua descrição.
Posso fazer backtest de uma estratégia SMC gerada por IA?
Sim. Paper trading roda o mesmo script gerado pela IA contra dados de mercado ao vivo com execução simulada — sem capital em risco. Esta é a forma recomendada de validar uma nova estratégia SMC antes de ir ao vivo, especialmente porque setups SMC podem ser sensíveis ao timeframe (uma estratégia que funciona no gráfico de 1 hora pode não funcionar no de 5 minutos). O sandbox de backtest da fomoed adicionalmente roda estratégias contra dados históricos para iteração mais rápida.
E quanto a Order Blocks e Fair Value Gaps?
Ambos são expostos via fomoed.smc.order_blocks e fomoed.smc.fvg. Order blocks retornam zonas não mitigadas com fronteiras baseadas no corpo; o helper automaticamente remove zonas uma vez que o preço as tenha tocado. FVGs retornam gaps de três candles não preenchidos com um atributo fill_pct para que o script gerado pela IA possa decidir se um gap parcialmente preenchido ainda conta. Ambos os helpers usam a mesma lógica de detecção que o preset SMC, então o comportamento é consistente em toda a plataforma.
Posso combinar SMC com outras estratégias?
Sim — é aí que o Agente de Trading com IA brilha em comparação com presets fixos. Uma estratégia típica de confluência poderia combinar "CHoCH bullish mais RSI não sobrecomprado mais preço em um order block bullish não mitigado mais nenhum FVG bearish recente acima do preço atual". A IA traduz essa confluência nas chamadas corretas (fomoed.smc.choch, ctx.indicators.rsi, fomoed.smc.order_blocks, fomoed.smc.fvg) e as compõe na condição de entrada. O preset SMC sozinho não consegue fazer esse tipo de confluência entre domínios facilmente; o Agente de Trading com IA foi feito sob medida para isso.
Como o bot lida com um CHoCH que é invalidado antes do pullback de fib?
O script gerado pela IA reavalia as condições de entrada a cada fechamento de candle. Se um CHoCH bullish dispara mas o preço nunca faz pullback até o nível de fib 0.705 — em vez disso disparando para cima — o bot não entra. Se o CHoCH é invalidado (preço fecha de volta abaixo do nível rompido), a próxima chamada a fomoed.smc.choch refletirá isso e o bot não agirá em um sinal obsoleto. O estado é recomputado a cada tick a partir dos dados de mercado atuais, não mantido com estado entre ticks.
Construa seu Primeiro Bot SMC
A forma mais rápida de entender como o Agente de Trading com IA lida com SMC é se cadastrar, escolher Agente de Trading com IA como sua estratégia no wizard e colar um prompt como o deste guia. Use o modo de paper trading para seu primeiro bot — a estratégia roda contra dados de mercado ao vivo sem gastar capital real, então você pode observar com que frequência os setups realmente disparam no seu par e timeframe escolhidos.
Para um contexto mais amplo sobre o que o Agente de Trading com IA pode fazer além de SMC, veja nosso guia pilar sobre bots de trading construídos por IA. Para uma comparação de qual preset de estratégia escolher para quais condições de mercado, o guia de comparação de estratégias cobre toda a lista.
Construa seu bot SMC em português simples
CHoCH, BoS, order blocks, fair value gaps, liquidity sweeps e retrações de fib — descritos em português, executados pela IA, seguros em sandbox. Grátis para rodar em modo paper enquanto você valida.
Começar Grátis →

