Thème
Langue
smcictchochbosfair value gaporder blockliquidity sweepfib retracementoteai trading botsmart money conceptshyperliquidfomoed

Smart Money Concepts dopé à l'IA : créez un bot CHoCH, BoS et Fib en français courant

Smart Money Concepts dopé à l'IA : créez un bot CHoCH, BoS et Fib en français courant
Par fomoed Team15 mai 202617 min de lecture

Les Smart Money Concepts comptent parmi les styles de trading les plus exigeants sur le plan analytique. Identifier un change of character, un break of structure, des order blocks non mitigés, des fair value gaps, des liquidity sweeps et des zones Optimal Trade Entry comprises entre les retracements Fib 0,618 et 0,79 demande de surveiller les graphiques en permanence, de dessiner la structure correctement et d'attendre une configuration confluente qui n'apparaît parfois qu'une fois par jour. La plupart des traders SMC discrétionnaires loupent des setups parce qu'ils ne sont pas devant leur écran au bon moment, ou prennent le mauvais setup parce qu'ils confondent un BoS et un CHoCH sous le coup de l'émotion. Un bot SMC construit par IA résout ces deux problèmes : il observe chaque bougie, applique les règles de manière cohérente et ne confond jamais un pattern structurel avec un autre.

7
Primitives SMC
0
Ligne à écrire
24/7
Surveillance
100%
Cohérent

Ce guide détaille le fonctionnement réel d'un bot SMC construit par IA — la détection de structure, la logique d'entrée OTE, les calculs de retracement Fib, le scan des order blocks non mitigés — et montre comment en bâtir un en langage naturel sur fomoed. Nous allons passer en revue chacune des sept primitives SMC auxquelles l'IA a accès, dérouler une stratégie complète CHoCH + Fib du prompt au bot en production, et expliquer pourquoi l'exécution automatisée tend à surperformer le trading SMC discrétionnaire, même pour des chartistes aguerris.

Pourquoi SMC + IA est un multiplicateur de force

Le plus dur dans le trading Smart Money Concepts, ce n'est pas la théorie. Elle est bien documentée et la plupart des traders expérimentés savent identifier un CHoCH ou un order block haussier non mitigé sur un graphique propre. Le plus dur, c'est l'exécution : le faire de manière constante, sur la timeframe que vous vous étiez fixée, sur chaque paire que vous aviez listée, sans louper de setup parce que vous n'étiez pas devant l'écran au bon moment ou parce que le setup s'est formé à 3 h du matin chez vous.

Deux choses tuent le trading SMC discrétionnaire. La première, c'est le biais de sélection — vous vous souvenez des setups qui ont marché et oubliez ceux qui ont échoué, ce qui corrompt votre perception de la rentabilité réelle de la stratégie. La seconde, c'est la dérive d'exécution — vous commencez la semaine avec l'intention de ne trader que des setups A, et le jeudi vous prenez des setups B parce que vous attendez depuis trop longtemps et que vous avez besoin de « faire quelque chose ». L'automatisation résout les deux. Le bot n'a pas d'état émotionnel qui dérive, et chaque trade — gagnant ou perdant — est enregistré dans la même base de données, consultable sans biais rose.

Ce qui a changé récemment, c'est que vous n'avez plus à écrire le bot vous-même. Détecter un CHoCH de manière algorithmique implique d'identifier correctement les swing highs et swing lows, de suivre la structure sous forme de séquences HH-HL-LH-LL, et de détecter quand une clôture casse au-dessus du dernier lower high (dans une tendance baissière, ce qui signale un CHoCH haussier). Cela représente quelques centaines de lignes de Python rigoureux. La plupart des traders SMC retail ne l'ont jamais écrit ; ils ont continué à trader en discrétionnaire en espérant repérer ça à l'œil. Désormais, une IA écrit cette couche de détection à votre place — ou plutôt, elle compose à partir d'une librairie SMC éprouvée que le moteur de stratégies custom de fomoed expose dans la sandbox, ce qui évite à l'IA de réinventer la détection de pivots à chaque génération.

Les sept primitives SMC que l'IA peut utiliser

Quand vous décrivez une stratégie SMC en langage naturel, l'IA génère un script Python qui s'exécute dans le runtime sandboxé. Le script ne réécrit pas sa propre détection de pivots ; il compose avec une librairie helper soigneusement maintenue, appelée fomoed.smc, qui expose sept primitives. Chacune correspond à un concept que les traders SMC reconnaissent :

1. Swings. fomoed.smc.swings(highs, lows, lookback) renvoie les swing highs et swing lows de l'historique de prix récent. Un swing high à l'index i est le plus haut dans une fenêtre allant de i - lookback à i + lookback. Le lookback est par défaut de 20 bougies, ce qui fonctionne sur la plupart des timeframes. Renvoie un dict avec les tableaux highs et lows, contenant chacun l'index et le prix de chaque pivot détecté.

2. Structure. fomoed.smc.structure(highs, lows, lookback) prend les swings et les étiquette en HH (higher high), HL (higher low), LH (lower high) ou LL (lower low). Renvoie la tendance courante (haussière, baissière ou neutre) ainsi que la séquence structurelle. Un bot peut s'en servir pour vérifier « suis-je en tendance haussière ? » avant de décider de prendre un setup long.

3. Break of Structure (BoS). fomoed.smc.bos(opens, highs, lows, closes, lookback) détecte les cassures de continuation de tendance. Un BoS haussier est une clôture forte au-dessus du dernier swing high dans une tendance haussière ; un BoS baissier est une clôture forte sous le dernier swing low dans une tendance baissière. Le qualificatif « forte » est crucial — le helper exige que le corps de la bougie de cassure soit au moins 1,5x la moyenne mobile du corps sur 20 bougies, ce qui filtre les cassures molles qui n'arrivent pas à déplacer le prix.

4. Change of Character (CHoCH). fomoed.smc.choch(highs, lows, closes, lookback) détecte les pivots de retournement de tendance. Un CHoCH haussier est une clôture au-dessus du dernier lower high alors que la tendance était baissière, signalant un retournement. Un CHoCH baissier est une clôture sous le dernier higher low alors que la tendance était haussière. C'est la primitive SMC que la plupart des traders discrétionnaires confondent avec un BoS. Le helper fait la distinction algorithmiquement.

5. Order Blocks. fomoed.smc.order_blocks(opens, highs, lows, closes) renvoie les zones d'order blocks haussiers et baissiers actives (non mitigées). Un OB haussier est la dernière bougie baissière avant un mouvement de déplacement qui a cassé un swing high ; un OB baissier est le miroir. Les zones utilisent le CORPS de la bougie (open à close), pas le range complet avec les mèches, conformément à la méthodologie ICT. Seules les zones qui n'ont pas été retouchées depuis leur formation sont renvoyées — dès que le prix revient sur un OB, il est considéré comme mitigé et retiré de la liste.

6. Fair Value Gaps (FVG). fomoed.smc.fvg(opens, highs, lows, closes, min_gap_pct) trouve les patterns d'imbalance non comblés sur trois bougies. Un FVG haussier est l'écart entre le high de la bougie i-1 et le low de la bougie i+1, la bougie i étant la bougie de déplacement entre les deux. Le paramètre min_gap_pct filtre les petits gaps (par défaut 0,2 % du prix). Chaque FVG renvoyé inclut un fill_pct qui indique quelle proportion du gap a été comblée par les mèches ultérieures.

7. Liquidity Sweeps. fomoed.smc.liquidity_sweeps(highs, lows, closes, sweep_depth_pct, reclaim_candles) détecte les patterns de chasse aux stops : une mèche sous un swing low suivie d'un reclaim au-dessus du niveau dans le nombre de bougies spécifié (sweep haussier), ou le miroir baissier. Le paramètre sweep_depth_pct est la pénétration minimale au-delà du niveau pour qu'on parle de sweep, ce qui filtre les simples effleurements.

En plus des sept primitives SMC, l'IA peut utiliser fomoed.fib pour les calculs de retracements Fibonacci : fib.retracement(swing_high, swing_low, level) renvoie le prix à un niveau Fib donné (0,5, 0,618, 0,705, 0,79, 0,886), fib.zones renvoie un dict de tous les niveaux standards, et fib.in_zone renvoie un booléen pour « le prix est-il proche de ce niveau Fib à X pourcent près de la taille du swing ».

Une stratégie CHoCH + Fib en langage naturel, de bout en bout

Déroulons une vraie stratégie, du prompt au bot en production. La stratégie : trader les retournements en attendant un CHoCH haussier, puis entrer sur un pullback au retracement Fib 0,705 du swing d'impulsion. Take profit au prochain swing high au-dessus de l'entrée ; stop loss sur le low sweepé sous le CHoCH.

Vous écririez ce prompt à l'étape Agent de trading IA :

« Ouvrir long sur un CHoCH haussier suivi d'un pullback au niveau Fib 0,705 du swing de breakout. Take profit au prochain swing high au-dessus de l'entrée. Stop loss au swing low le plus récent sous le CHoCH. Long-only — pas de side short. »

En quelques secondes, l'écran de revue du wizard affiche l'interprétation de l'IA :

Résumé IA : Stratégie SMC de retournement de tendance. Attend un CHoCH haussier — le prix clôture au-dessus du dernier lower high alors que la tendance était baissière, ce qui signale un retournement. Surveille ensuite que le prix revienne dans la zone de retracement Fib 0,705 du swing d'impulsion (du low au high du CHoCH), qui se situe dans la zone OTE. Ouvre un long pour la taille de position configurée quand le prix tagge la zone. Take profit au prochain swing high au-dessus de l'entrée ; stop loss au swing low le plus bas sous le CHoCH (là où les stops seraient sweepés en cas de retournement raté). Long-only — aucun setup short pris.

Comment ça marche :

1. Surveiller un CHoCH haussier — le prix clôture au-dessus du dernier lower high alors que la tendance était baissière (signale un retournement).

2. Après le CHoCH, mesurer le swing d'impulsion (low → high du CHoCH) et calculer le niveau de retracement Fib 0,705.

3. Attendre que le prix revienne dans la zone Fib 0,705 (à 0,5 % près de la taille du swing).

4. Ouvrir un long pour la taille de position configurée quand le prix tagge la zone.

5. Take profit au prochain swing high au-dessus de l'entrée, ou stop out au swing low le plus bas (liquidité sweepée).

Vous voyez immédiatement si l'IA a bien compris la stratégie. Si quelque chose cloche, vous modifiez le prompt et régénérez. Une fois que ça correspond à votre intention, vous sauvegardez et le bot démarre à la clôture de la prochaine bougie.

Ce que l'IA écrit réellement (dans les coulisses)

Pour la stratégie CHoCH + Fib ci-dessus, l'IA génère un script Python d'une trentaine ou quarantaine de lignes qui s'exécute dans la sandbox à chaque clôture de bougie. Ça ressemble grosso modo à ceci (abrégé pour la lisibilité) :

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 None

Les utilisateurs finaux ne voient jamais ce code — ils voient le résumé IA et les étapes « Comment ça marche ». Le Python est stocké côté serveur pour l'audit et s'exécute dans le runtime sandboxé. L'intérêt de le montrer ici est de démystifier ce que l'IA produit réellement : une logique courte et ciblée, qui délègue les parties difficiles (détection de pivots, calculs Fib, suivi structurel) à la librairie helper. L'IA ne réinvente pas les algorithmes SMC à chaque bot généré — elle compose à partir des mêmes implémentations éprouvées que celles utilisées par le preset SMC.

Pourquoi le SMC automatisé tend à surperformer le discrétionnaire

Un trader SMC humain expérimenté et un bot SMC bien construit, devant le même graphique, dessineront souvent la même structure. Alors pourquoi le bot tend-il à surperformer l'humain sur une fenêtre de plusieurs mois ?

Cohérence d'exécution. Le bot prend chaque setup A. L'humain en prend la plupart. Ne serait-ce qu'un setup loupé par semaine, capitalisé sur un trimestre, change matériellement les rendements. Le trader discrétionnaire est aussi plus enclin à zapper un setup qui « ne le sent pas » sans pouvoir articuler pourquoi — c'est parfois du bon instinct, mais en moyenne ça coûte de l'argent.

Pas de biais de look-elsewhere. Les humains tradent inconsciemment en fonction du contexte de marché plus large — un setup paraît moins bon si BTC vient de dumper, meilleur si leurs autres positions sont en vert. Le bot s'en fiche. Si les règles matchent, il prend le trade.

Patience face à l'ennui. Les traders SMC en manuel ont tendance à élargir leurs critères pendant les semaines calmes (« je vais prendre ce setup B, je n'ai rien tradé depuis 4 jours »). Le bot ne s'ennuie pas. Si aucun setup A ne se forme pendant une semaine, il reste à plat une semaine. C'est cette patience qui rend la stratégie réellement profitable dans la durée.

Surveillance 24/7. Les setups ne se forment pas pendant vos heures de trading. Le meilleur CHoCH du mois sur le graphique 4h peut sortir à 3 h du matin chez vous. Le bot est éveillé. Vous, non.

Le compromis, c'est que le SMC automatisé passe à côté du jugement contextuel qu'un humain talentueux apporte. Si le marché global est en régime clairement haussier, un trader discrétionnaire humain peut relever son seuil pour les setups baissiers. Le bot suit les règles, point. La parade dans un système automatisé est d'intégrer la détection de régime dans le prompt lui-même — par exemple, « ne prendre les setups long CHoCH que lorsque BTC est au-dessus de son EMA 200 jours sur le daily ». Si vous savez articuler le filtre de régime, l'IA sait l'implémenter.

La gestion du risque est intégrée nativement

Une inquiétude souvent évoquée à propos des bots de trading générés par IA, c'est : « et si l'IA décidait d'augmenter la taille de manière déraisonnable ou de placer une avalanche d'ordres ? » Fomoed résout ça en séparant les décisions de capital des décisions de stratégie. Vous fixez votre taille de position, votre levier et votre mode de trading (live ou paper) dans l'étape Money du wizard AVANT d'écrire votre prompt. L'IA reçoit ces valeurs comme contraintes, pas comme variables qu'elle pourrait modifier.

Quand le script généré par l'IA renvoie une action du type {'action': 'buy', 'size_usd': 100, ...}, le superviseur de la sandbox clampe la taille demandée à la valeur choisie dans le wizard. Si vous avez fixé 50 $ à l'étape Money mais que l'IA tente de demander 200 $, la plateforme dimensionne l'ordre à 50 $ et logue le clamp. L'appel réel à execute_entry utilise la taille de position que vous avez configurée, pas celle demandée par le script. L'IA ne peut pas outrepasser votre limite de capital, même si elle le voulait.

La même protection s'applique au take profit et au stop loss. Les réglages TP et SL du wizard pilotent le pipeline d'exécution standard de la plateforme ; l'action « close » de l'IA est complémentaire. Si vous avez fixé un stop loss à 2 % dans le wizard, ce stop se déclenche sur une chute de 2 %, peu importe ce que dit le script de l'IA. Le rôle de l'IA est d'apporter de l'intelligence à l'entrée, pas d'outrepasser vos règles de risque.

Cette séparation, c'est ce qui rend Agent de trading IA utilisable en toute sécurité avec de l'argent réel. La logique stratégique est générée par IA ; la gestion du risque est configurée dans le wizard et appliquée par la plateforme. Les deux sont explicitement découplées.

Questions fréquentes

L'IA peut-elle détecter automatiquement les CHoCH et BoS ?

Oui. Les helpers fomoed.smc.choch et fomoed.smc.bos les détectent algorithmiquement avec la même logique de suivi structurel que celle utilisée par le preset SMC dédié. L'IA ne réinvente pas la détection — elle compose à partir de l'implémentation existante. La qualité de détection est donc cohérente entre les bots générés par IA et les bots SMC construits par la plateforme.

L'IA est-elle meilleure que les traders SMC humains ?

Sur l'exécution des règles : oui. Sur le jugement contextuel : pas encore. Le bot est plus cohérent sur les aspects mécaniques du trading SMC — dessiner la structure correctement, identifier les order blocks non mitigés, calculer les retracements Fib, prendre chaque setup qualifiant. Le bot est moins bon pour intégrer le contexte de régime plus large, sauf si ce contexte est explicitement intégré au prompt. L'approche hybride (laisser l'IA gérer la détection des setups, vous décidez si vous la laissez trader agressivement cette semaine ou non) tend à mieux performer que l'automatisation pure ou la discrétion pure.

Comment l'IA gère-t-elle les entrées sur retracement Fib ?

Le module fomoed.fib fournit les calculs de retracement : étant donné un swing high et un swing low, il calcule le prix à n'importe quel niveau Fib (0,5, 0,618, 0,705, 0,79, 0,886). Le helper in_zone prend un pourcentage de tolérance et renvoie si le prix courant est dans cette tolérance d'un niveau Fib. Les bots générés par IA attendent typiquement que le prix tagge un niveau Fib spécifique (souvent le 0,705 ou le 0,79 — la zone OTE) avant d'entrer. Plusieurs niveaux Fib peuvent être vérifiés simultanément ; l'IA émet la bonne logique à partir de votre description.

Puis-je backtester une stratégie SMC IA ?

Oui. Le paper trading exécute le même script généré par IA contre des données de marché live avec une exécution simulée — aucun capital en jeu. C'est la façon recommandée de valider une nouvelle stratégie SMC avant le passage en live, d'autant que les setups SMC peuvent être sensibles à la timeframe (une stratégie qui marche en 1h peut ne pas marcher en 5 min). La sandbox de backtest fomoed exécute en plus les stratégies contre des données historiques, pour itérer plus vite.

Et les Order Blocks et Fair Value Gaps ?

Les deux sont exposés via fomoed.smc.order_blocks et fomoed.smc.fvg. Les order blocks renvoient les zones non mitigées avec des bornes basées sur le corps ; le helper retire automatiquement les zones une fois que le prix les a taguées. Les FVG renvoient les gaps trois bougies non comblés avec un attribut fill_pct, pour que le script généré par IA puisse décider si un gap partiellement comblé compte encore. Les deux helpers utilisent la même logique de détection que le preset SMC, donc le comportement est cohérent sur l'ensemble de la plateforme.

Puis-je combiner SMC avec d'autres stratégies ?

Oui — c'est là qu'Agent de trading IA brille face aux presets figés. Une stratégie de confluence typique pourrait combiner « CHoCH haussier + RSI non en surachat + prix dans un order block haussier non mitigé + pas de FVG baissier récent au-dessus du prix courant ». L'IA traduit cette confluence dans les bons appels (fomoed.smc.choch, ctx.indicators.rsi, fomoed.smc.order_blocks, fomoed.smc.fvg) et les compose dans la condition d'entrée. Le preset SMC seul ne peut pas faire ce genre de confluence cross-domaine facilement ; Agent de trading IA est conçu pour ça.

Comment le bot gère-t-il un CHoCH qui se fait invalider avant le pullback Fib ?

Le script généré par IA réévalue les conditions d'entrée à chaque clôture de bougie. Si un CHoCH haussier se déclenche mais que le prix ne revient jamais au niveau Fib 0,705 — au contraire, il monte sans s'arrêter — le bot n'entre pas. Si le CHoCH est invalidé (le prix clôture à nouveau sous le niveau cassé), le prochain appel à fomoed.smc.choch le reflétera et le bot n'agira pas sur un signal périmé. L'état est recalculé à chaque tick à partir des données de marché courantes, pas conservé statefully d'un tick à l'autre.

Construisez votre premier bot SMC

Le moyen le plus rapide de comprendre comment Agent de trading IA gère le SMC, c'est de vous inscrire, de choisir Agent de trading IA comme stratégie dans le wizard et de coller un prompt comme celui de ce guide. Utilisez le mode paper trading pour votre premier bot — la stratégie tourne contre des données de marché live sans engager de capital réel, ce qui vous permet d'observer la fréquence réelle des setups sur la paire et la timeframe choisies.

Pour un contexte plus large sur ce qu'Agent de trading IA peut faire au-delà du SMC, consultez notre guide pilier sur les bots de trading construits par IA. Pour comparer quel preset choisir selon les conditions de marché, le guide comparatif des stratégies couvre toute la gamme.

Construisez votre bot SMC en langage naturel

CHoCH, BoS, order blocks, fair value gaps, liquidity sweeps et retracements Fib — décrits en français, exécutés par l'IA, sandbox-safe. Gratuit en mode paper le temps de valider.

Démarrer gratuitement →

Ressources liées