Smart Money Concepts es uno de los estilos de trading más exigentes desde el punto de vista analítico. Identificar un change of character, un break of structure, order blocks no mitigados, fair value gaps, liquidity sweeps y zonas de Optimal Trade Entry entre el 0.618 y el 0.79 del retroceso de Fibonacci exige vigilar los gráficos constantemente, dibujar la estructura correctamente y esperar a un setup con confluencia que quizá aparezca una vez al día. La mayoría de los traders discrecionales de SMC se pierden setups porque no están frente a la pantalla en el momento adecuado, o entran en el setup equivocado porque confunden un BoS con un CHoCH en pleno calor del momento. Un bot SMC construido por IA resuelve ambos problemas: vigila cada vela, aplica las reglas con consistencia y nunca confunde un patrón de estructura con otro.
Esta guía explica cómo funciona realmente por dentro un bot de trading SMC construido por IA —la detección de estructura, la lógica de entrada OTE, las matemáticas del retroceso de Fibonacci, el escaneo de order blocks no mitigados— y muestra cómo puedes construir uno en lenguaje natural en fomoed. Repasaremos cada una de las siete primitivas SMC a las que la IA tiene acceso, recorreremos una estrategia completa de CHoCH y fib desde el prompt hasta el bot en ejecución, y explicaremos por qué la ejecución automatizada suele superar al trading SMC discrecional, incluso para chartistas hábiles.
Por qué SMC más IA es un multiplicador de fuerza
Lo difícil del trading con Smart Money Concepts no es la teoría. La teoría está bien documentada y la mayoría de los traders experimentados saben identificar un CHoCH o un order block alcista no mitigado en un gráfico limpio. Lo difícil es la ejecución: hacerlo de forma consistente, en la temporalidad que dijiste, en cada par que dijiste, sin saltarte setups porque no estabas mirando en el momento adecuado o porque el setup se formó a las 3 de la madrugada en tu zona horaria.
Dos cosas matan el trading SMC discrecional. La primera es el sesgo de selección: recuerdas los setups que funcionaron y olvidas los que no, lo que corrompe tu visión de si la estrategia es realmente rentable. La segunda es la deriva en la ejecución: empiezas la semana con la intención de operar solo setups de calidad A, y para el jueves ya estás entrando en setups B porque llevas días esperando y necesitas "hacer algo". La automatización resuelve ambas. El bot no tiene un estado emocional al que derivar, y cada operación —ganadora o perdedora— queda registrada en la misma base de datos, disponible para revisar sin sesgo idealizado.
Lo que ha cambiado recientemente es que ya no tienes que escribir el bot tú mismo. Detectar un CHoCH algorítmicamente requiere identificar swing highs y swing lows correctamente, hacer seguimiento de la estructura como secuencias HH-HL-LH-LL y detectar cuándo un cierre rompe por encima del último lower high (en una tendencia bajista, señalando un CHoCH alcista). Eso son unos cientos de líneas de Python cuidadoso. La mayoría de los traders SMC retail nunca lo escribieron; siguieron operando de forma discrecional con la esperanza de detectarlo visualmente. Ahora una IA escribe esa capa de detección por ti —o más bien, compone sobre una librería SMC probada en batalla que el motor de estrategias personalizadas de fomoed expone dentro del sandbox, de modo que la IA no tiene que reinventar la detección de pivots en cada generación.
Las siete primitivas SMC que puede usar la IA
Cuando describes una estrategia SMC en lenguaje natural, la IA genera un script de Python que se ejecuta dentro del runtime en sandbox. El script no escribe su propia detección de pivots; compone sobre una librería de helpers curada llamada fomoed.smc que expone siete primitivas. Cada una se corresponde con un concepto que los traders SMC reconocen:
1. Swings. fomoed.smc.swings(highs, lows, lookback) devuelve los swing highs y swing lows en el historial reciente de precio. Un swing high en el índice i es el máximo más alto en una ventana entre i - lookback e i + lookback. El lookback por defecto es 20 velas, que funciona bien en la mayoría de las temporalidades. Devuelve un dict con arrays highs y lows, cada uno con el índice y precio de cada pivot detectado.
2. Estructura. fomoed.smc.structure(highs, lows, lookback) toma los swings y los etiqueta como HH (higher high), HL (higher low), LH (lower high) o LL (lower low). Devuelve la tendencia actual (alcista, bajista o neutral) más la secuencia de estructura. Un bot puede usar esto para comprobar "¿estoy en una tendencia alcista?" antes de decidir si toma un setup en largo.
3. Break of Structure (BoS). fomoed.smc.bos(opens, highs, lows, closes, lookback) detecta rupturas de continuación de tendencia. Un BoS alcista es un cierre fuerte por encima del último swing high en una tendencia alcista; un BoS bajista es un cierre fuerte por debajo del último swing low en una tendencia bajista. El calificador "fuerte" importa: el helper exige que el cuerpo de la vela de ruptura sea al menos 1.5x el cuerpo medio rolling de las últimas 20 barras, filtrando rupturas anémicas que no logran desplazar precio.
4. Change of Character (CHoCH). fomoed.smc.choch(highs, lows, closes, lookback) detecta pivots de reversión de tendencia. Un CHoCH alcista es un cierre por encima del último lower high mientras la tendencia era bajista, señalando una reversión. Un CHoCH bajista es un cierre por debajo del último higher low mientras la tendencia era alcista. Esta es la primitiva SMC que más confunden los traders discrecionales con BoS. El helper hace la distinción algorítmicamente.
5. Order Blocks. fomoed.smc.order_blocks(opens, highs, lows, closes) devuelve las zonas de order block alcistas y bajistas activas (no mitigadas). Un OB alcista es la última vela bajista antes de un movimiento de desplazamiento que rompió un swing high; un OB bajista es el espejo. Las zonas usan el CUERPO de la vela (open a close), no el rango completo con mechas, según la metodología ICT. Solo se devuelven zonas que no han sido tocadas desde su formación: una vez que el precio ha revisitado un OB, se considera mitigado y se elimina de la lista.
6. Fair Value Gaps (FVG). fomoed.smc.fvg(opens, highs, lows, closes, min_gap_pct) encuentra patrones de desequilibrio de tres velas sin rellenar. Un FVG alcista es el hueco entre el máximo de la vela i-1 y el mínimo de la vela i+1, donde la vela i fue la vela de desplazamiento intermedia. El parámetro min_gap_pct filtra huecos pequeños (por defecto 0.2 por ciento del precio). Cada FVG devuelto incluye un fill_pct que indica cuánto del hueco ha sido rellenado por mechas posteriores.
7. Liquidity Sweeps. fomoed.smc.liquidity_sweeps(highs, lows, closes, sweep_depth_pct, reclaim_candles) detecta patrones de stop-hunt: una mecha por debajo de un swing low seguida de una recuperación por encima del nivel dentro del número de velas especificado (sweep alcista), o su espejo bajista. El parámetro sweep_depth_pct es la penetración mínima más allá del nivel que cuenta como sweep, filtrando rozaduras.
Además de las siete primitivas SMC, la IA puede usar fomoed.fib para las matemáticas de retroceso de Fibonacci: fib.retracement(swing_high, swing_low, level) devuelve el precio en un nivel fib dado (0.5, 0.618, 0.705, 0.79, 0.886), fib.zones devuelve un dict con todos los niveles estándar, y fib.in_zone devuelve un booleano para "¿está el precio cerca de este nivel fib dentro de un X por ciento del tamaño del swing?".
Una estrategia de CHoCH y fib en lenguaje natural, de principio a fin
Recorramos una estrategia real desde el prompt hasta el bot en ejecución. La estrategia: operar reversiones esperando un CHoCH alcista y entrando luego en un pullback al retroceso fib del 0.705 del swing del impulso. Take profit en el siguiente swing high por encima de la entrada; stop loss en el low barrido por debajo del CHoCH.
Escribirías este prompt en el paso Agente de Trading con IA:
"Entra en largo tras un CHoCH alcista seguido de un pullback al nivel fib 0.705 del swing de ruptura. Take profit en el siguiente swing high por encima de la entrada. Stop loss en el swing low más reciente por debajo del CHoCH. Solo largos, sin lado corto."
En pocos segundos, la pantalla de revisión del asistente muestra la interpretación de la IA:
Resumen de la IA: Jugada SMC de reversión de tendencia. Espera un CHoCH alcista —precio cerrando por encima del último lower high mientras la tendencia era bajista, señalando una reversión. Después vigila que el precio retroceda hasta el nivel fib 0.705 del swing del impulso (low → high del CHoCH), que cae dentro de la zona OTE. Abre largo con el tamaño de posición configurado cuando el precio toca la zona. Take profit en el siguiente swing high por encima de la entrada; stop loss en el swing low más bajo por debajo del CHoCH (donde se barrerían los stops en una reversión fallida). Solo largos, sin setups en corto.
Cómo funciona:
1. Vigila un CHoCH alcista: precio cerrando por encima del último lower high mientras la tendencia era bajista (señal de reversión).
2. Tras el CHoCH, mide el swing del impulso (low → high del CHoCH) y calcula el nivel fib 0.705.
3. Espera a que el precio retroceda a la zona fib 0.705 (dentro del 0.5 por ciento del tamaño del swing).
4. Abre un largo con el tamaño de posición configurado cuando el precio toca la zona.
5. Take profit en el siguiente swing high por encima de la entrada, o sal por stop en el swing low más bajo (liquidez barrida).
Puedes ver inmediatamente si la IA ha entendido la estrategia. Si algo no encaja, editas el prompt y regeneras. Una vez que coincide con tu intención, lo guardas y el bot empieza a ejecutarse en el siguiente cierre de vela.
Lo que la IA escribe realmente (entre bastidores)
Para la estrategia de CHoCH y fib anterior, la IA genera un script de Python de unas 30 a 40 líneas que corre dentro del sandbox en cada cierre de vela. Tiene aproximadamente este aspecto (abreviado para mayor legibilidad):
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 NoneLos usuarios finales nunca ven este código: ven el resumen de la IA y los pasos de "Cómo funciona". El Python se guarda en el servidor para auditoría y se ejecuta dentro del runtime en sandbox. La razón de mostrarlo aquí es desmitificar lo que la IA produce en realidad: lógica corta y enfocada que delega las partes difíciles (detección de pivots, matemáticas de fib, seguimiento de estructura) a la librería de helpers. La IA no reinventa los algoritmos SMC cada vez que generas un bot: compone sobre las mismas implementaciones probadas en batalla que usa el preset SMC.
Por qué el SMC automatizado suele superar al discrecional
Un trader humano hábil de SMC y un bot SMC bien construido, mirando el mismo gráfico, dibujarán a menudo la misma estructura. Entonces, ¿por qué el bot tiende a superar al humano en una ventana de varios meses?
Consistencia en la ejecución. El bot toma todos los setups de calidad A. El humano toma la mayoría. Aunque solo se pierda un setup por semana, compuesto a lo largo de un trimestre, cambia los retornos de forma material. Además, el trader discrecional es más propenso a saltarse un setup que "se siente raro" sin articular por qué; a veces es buen instinto, pero en promedio cuesta dinero.
Sin sesgo de mirar a otro lado. Los humanos operan inconscientemente en función del contexto general del mercado: un setup parece peor si BTC acaba de caer, un setup parece mejor si sus otras posiciones están en verde. Al bot le da igual. Si se cumplen las reglas, entra.
Paciencia ante el aburrimiento. Los traders SMC que operan a mano suelen empezar a relajar sus criterios en semanas flojas ("acepto este setup B, llevo 4 días sin operar"). El bot no se aburre. Si no se forma un setup A en una semana, se queda fuera del mercado una semana. Esa paciencia es lo que hace que la estrategia sea realmente rentable a largo plazo.
Vigilancia 24/7. Los setups no se forman dentro de tu horario operativo. El mejor CHoCH del mes en el gráfico de 4 horas puede dispararse a las 3 de la madrugada. El bot está despierto. Tú no.
El trade-off es que el SMC automatizado se pierde el juicio de contexto que aporta un humano hábil. Si el mercado en general está en un régimen alcista claro, un trader discrecional podría elevar el umbral para tomar setups bajistas. El bot sigue las reglas igualmente. La forma de manejar esto en un sistema automatizado es incorporar la detección de régimen al propio prompt: por ejemplo, "solo toma setups de CHoCH alcista cuando BTC esté por encima de su EMA de 200 días en el gráfico diario". Si puedes articular el filtro de régimen, la IA puede implementarlo.
La gestión de riesgo está integrada
Una preocupación habitual sobre los bots de trading generados por IA es: "¿y si la IA intenta dimensionar la posición de forma irracional o colocar un montón de órdenes?". Fomoed lo resuelve separando las decisiones de capital de las decisiones de estrategia. Configuras tu tamaño de posición, apalancamiento y modo de trading (live o paper) en el paso Money del asistente ANTES de escribir tu prompt. A la IA se le comunican esos valores como restricciones, no como variables que pueda modificar.
Cuando el script generado por la IA devuelve una acción como {'action': 'buy', 'size_usd': 100, ...}, el supervisor del sandbox limita el tamaño solicitado al valor que elegiste en el asistente. Si pusiste 50 USD en el paso Money pero la IA intenta pedir 200 USD, la plataforma dimensiona la orden a 50 USD y registra el clamp. La llamada real a execute_entry usa tu tamaño de posición configurado, no el valor solicitado por el script. La IA no puede saltarse tu límite de capital aunque quisiera.
La misma protección se extiende al take profit y al stop loss. Los ajustes de TP y SL del asistente alimentan el pipeline de salida estándar de la plataforma; la acción "close" de la IA es complementaria. Si configuras un stop loss del 2 por ciento en el asistente, ese stop salta en una caída del 2 por ciento independientemente de lo que diga el script de la IA. El papel de la IA es añadir inteligencia de entrada, no anular tus reglas de riesgo.
Esta separación es lo que hace que Agente de Trading con IA sea seguro de ejecutar con dinero real. La lógica de estrategia es generada por IA; la gestión de riesgo está configurada en el asistente y aplicada por la plataforma. Las dos están explícitamente desacopladas.
Preguntas frecuentes
¿Puede la IA detectar CHoCH y BoS automáticamente?
Sí. Los helpers fomoed.smc.choch y fomoed.smc.bos los detectan algorítmicamente utilizando la misma lógica de seguimiento de estructura que usa el preset SMC dedicado. La IA no reinventa la detección: compone sobre la implementación existente. Esto significa que la calidad de la detección es consistente entre los bots generados por IA y los bots SMC construidos por la plataforma.
¿Es la IA mejor que los traders SMC humanos?
En la ejecución de reglas: sí. En el juicio de contexto: todavía no. El bot es más consistente en las partes mecánicas del trading SMC: dibujar la estructura correctamente, identificar order blocks no mitigados, calcular niveles de retroceso de Fibonacci, tomar cada setup que cualifica. El bot es peor integrando el contexto de régimen general a menos que ese contexto esté explícitamente integrado en el prompt. El enfoque híbrido (dejar que la IA gestione la detección de setups y tú decides si la dejas operar de forma agresiva esta semana) suele rendir mejor que la pura automatización o la pura discrecionalidad.
¿Cómo maneja la IA las entradas con retroceso de Fibonacci?
El módulo fomoed.fib proporciona las matemáticas del retroceso: dado un swing high y un swing low, calcula el precio en cualquier nivel fib (0.5, 0.618, 0.705, 0.79, 0.886). El helper in_zone recibe un porcentaje de tolerancia y devuelve si el precio actual está dentro de esa tolerancia de un nivel fib. Los bots generados por IA suelen esperar a que el precio toque un nivel fib específico (habitualmente 0.705 o 0.79, la zona OTE) antes de entrar. Se pueden comprobar varios niveles fib simultáneamente; la IA emite la lógica correcta a partir de tu descripción.
¿Puedo hacer backtest de una estrategia SMC con IA?
Sí. El paper trading ejecuta el mismo script generado por IA contra datos de mercado en vivo con ejecución simulada, sin capital en riesgo. Es la forma recomendada de validar una nueva estrategia SMC antes de pasar a live, especialmente porque los setups SMC pueden ser sensibles a la temporalidad (una estrategia que funciona en el gráfico de 1 hora puede no funcionar en el de 5 minutos). El sandbox de backtest de fomoed también ejecuta estrategias contra datos históricos para iterar más rápido.
¿Y los Order Blocks y los Fair Value Gaps?
Ambos se exponen a través de fomoed.smc.order_blocks y fomoed.smc.fvg. Los order blocks devuelven zonas no mitigadas con límites basados en el cuerpo de vela; el helper descarta automáticamente las zonas una vez que el precio las ha tocado. Los FVGs devuelven huecos de tres velas sin rellenar con un atributo fill_pct para que el script generado por la IA pueda decidir si un hueco parcialmente rellenado sigue contando. Ambos helpers usan la misma lógica de detección que el preset SMC, así que el comportamiento es consistente en toda la plataforma.
¿Puedo combinar SMC con otras estrategias?
Sí, y ahí es donde Agente de Trading con IA brilla frente a los presets fijos. Una estrategia típica de confluencia podría combinar "CHoCH alcista más RSI no sobrecomprado más precio en un order block alcista no mitigado más sin FVG bajista reciente por encima del precio actual". La IA traduce esa confluencia en las llamadas correctas (fomoed.smc.choch, ctx.indicators.rsi, fomoed.smc.order_blocks, fomoed.smc.fvg) y las compone en la condición de entrada. El preset SMC por sí solo no puede hacer este tipo de confluencia entre dominios con facilidad; Agente de Trading con IA está diseñado precisamente para eso.
¿Cómo maneja el bot un CHoCH que queda invalidado antes del pullback al fib?
El script generado por IA reevalúa las condiciones de entrada en cada cierre de vela. Si se dispara un CHoCH alcista pero el precio nunca retrocede al nivel fib 0.705 —y en su lugar sigue corriendo al alza—, el bot no entra. Si el CHoCH queda invalidado (el precio cierra de nuevo por debajo del nivel roto), la siguiente llamada a fomoed.smc.choch lo reflejará y el bot no actuará sobre una señal obsoleta. El estado se recalcula en cada tick a partir de los datos de mercado actuales, no se mantiene de forma stateful entre ticks.
Construye tu primer bot SMC
La forma más rápida de entender cómo gestiona Agente de Trading con IA el SMC es registrarte, elegir Agente de Trading con IA como tu estrategia en el asistente y pegar un prompt como el de esta guía. Usa el modo paper trading para tu primer bot: la estrategia corre contra datos de mercado en vivo sin gastar capital real, así que puedes ver con qué frecuencia se disparan realmente los setups en el par y temporalidad que elegiste.
Para un contexto más amplio sobre lo que Agente de Trading con IA puede hacer más allá de SMC, consulta nuestra guía pilar sobre bots de trading construidos con IA. Para una comparación de qué preset de estrategia elegir según las condiciones de mercado, la guía comparativa de estrategias cubre toda la oferta.
Construye tu bot SMC en lenguaje natural
CHoCH, BoS, order blocks, fair value gaps, liquidity sweeps y retrocesos fib: descritos en español, ejecutados por IA, seguros en sandbox. Gratis en modo paper mientras validas.
Empieza gratis →

