主題
語言
smcictchochbosfair value gaporder blockliquidity sweepfib retracementoteai trading botsmart money conceptshyperliquidfomoed

用 AI 玩轉 Smart Money Concepts:用白話文打造 CHoCH、BoS 與 Fib 機器人

用 AI 玩轉 Smart Money Concepts:用白話文打造 CHoCH、BoS 與 Fib 機器人
作者 fomoed Team2026年5月15日5 分鐘閱讀

Smart Money Concepts 是分析難度最高的交易風格之一。要辨識 change of character、break of structure、未觸發的 order block、fair value gap、流動性掃蕩,以及位於 0.618 至 0.79 fib 回撤的 Optimal Trade Entry 區間,需要持續盯盤、正確繪製結構,並耐心等待一天可能只出現一次的共振 setup。多數憑感覺操作的 SMC 交易者之所以錯失 setup,是因為沒在對的時刻盯著螢幕;又或者在當下慌亂中把 BoS 誤判為 CHoCH,結果做進錯誤的 setup。一支 AI 打造的 SMC 機器人能同時解決這兩個問題:它盯著每一根 K 棒、一致地套用規則,而且永遠不會把某種結構模式跟另一種搞混。

7
SMC 核心元件
0
需要動手寫的程式碼
24/7
全天候盯盤
100%
執行一致

這篇指南會帶你了解 AI 打造的 Smart Money Concepts 交易機器人底層實際是怎麼運作的——結構偵測、OTE 進場邏輯、fib 回撤運算、未觸發 order block 掃描——並示範如何在 fomoed 上用白話文打造一支。我們會逐一介紹 AI 可以使用的七個 SMC 核心元件,完整走過一個從 prompt 到上線運作的 CHoCH 加 fib 策略,並解釋為什麼即便是熟練的看圖高手,自動化執行通常也優於憑感覺操作的 SMC 交易。

為什麼 SMC 加 AI 是戰力倍增器

Smart Money Concepts 交易的難點不在理論。理論本身已有完整的文件記載,大多數有經驗的交易者都能在一張乾淨的圖表上識別出 CHoCH 或未觸發的看漲 order block。難點在於執行:在你說好的時間框架、你說好的交易對上、一致地執行,不會因為沒在對的時刻盯盤,或因為 setup 在當地時間凌晨 3 點形成而錯過。

有兩件事會讓憑感覺的 SMC 交易玩完。第一個是選擇性偏誤——你記得那些奏效的 setup,卻忘了那些失敗的,因而扭曲了你對策略是否真的賺錢的判斷。第二個是執行漂移——你週初打算只做 A 級 setup,結果到了週四,因為等太久「需要做點什麼」,你開始進 B 級 setup。自動化能解決這兩點。機器人沒有會漂移的情緒狀態,而且每一筆交易——無論輸贏——都會被記錄在同一個資料庫,可以不帶玫瑰色濾鏡地回顧。

近期改變的是,你不再需要自己寫這支機器人。要用演算法偵測 CHoCH,得正確識別 swing high 與 swing low、把結構追蹤成 HH-HL-LH-LL 序列,並偵測收盤價何時突破最近的 lower high(在空頭趨勢中,代表看漲 CHoCH)。這需要幾百行嚴謹的 Python。多數散戶 SMC 交易者從來沒寫過;他們繼續憑感覺交易,寄望自己能用肉眼看出來。現在 AI 會替你寫出這一層偵測——更準確地說,它是針對 fomoed 的自訂策略引擎在沙盒中所暴露的、一套經過實戰驗證的 SMC 函式庫進行組合,所以 AI 不必每次生成都重新發明 pivot 偵測。

AI 可以使用的七個 SMC 核心元件

當你用白話文描述一個 SMC 策略時,AI 會產生一個在沙盒執行環境中運行的 Python 腳本。腳本不會自己寫 pivot 偵測;它會針對一個精選的輔助函式庫 fomoed.smc 進行組合,該函式庫暴露七個核心元件。每一個都對應到 SMC 交易者熟悉的概念:

1. Swings(轉折點)。 fomoed.smc.swings(highs, lows, lookback) 回傳近期價格歷史中的 swing high 與 swing low。索引 i 處的 swing high,是從 i - lookbacki + lookback 這個窗口中的最高高點。lookback 預設 20 根 K 棒,適用於大多數時間框架。回傳一個 dict,包含 highslows 陣列,每個陣列含有偵測到的每個 pivot 的索引與價格。

2. Structure(結構)。 fomoed.smc.structure(highs, lows, lookback) 取得 swings,並將其標記為 HH(higher high)、HL(higher low)、LH(lower high)或 LL(lower low)。回傳當前趨勢(看漲、看跌或中性)以及結構序列。機器人可以用它來檢查「我現在是不是處於上升趨勢?」再決定是否要進多單 setup。

3. Break of Structure(BoS,結構突破)。 fomoed.smc.bos(opens, highs, lows, closes, lookback) 偵測趨勢延續的突破。看漲 BoS 是在看漲趨勢中強力收盤突破最近的 swing high;看跌 BoS 則是在看跌趨勢中強力收盤跌破最近的 swing low。「強力」這個限定條件很關鍵——輔助函式要求突破 K 棒的實體至少是滾動 20 根均值實體的 1.5 倍,藉此過濾掉那些無法形成位移的勉強突破。

4. Change of Character(CHoCH,結構轉變)。 fomoed.smc.choch(highs, lows, closes, lookback) 偵測趨勢反轉的轉折。看漲 CHoCH 是在原本看跌趨勢時,收盤價突破最近的 lower high,代表反轉。看跌 CHoCH 則是原本看漲趨勢時,收盤價跌破最近的 higher low。這是大多數憑感覺操作的交易者最常與 BoS 搞混的 SMC 元件。輔助函式以演算法做出區別。

5. Order Blocks(訂單區塊)。 fomoed.smc.order_blocks(opens, highs, lows, closes) 回傳活躍(未觸發)的看漲與看跌 order block 區間。看漲 OB 是位移行情突破 swing high 之前的最後一根看跌 K 棒;看跌 OB 則是鏡像版。區間使用 K 棒的實體(open 到 close),而非含影線的完整範圍,這符合 ICT 方法論。只有在形成後尚未被觸及的區間才會被回傳——一旦價格回測過某個 OB,即視為已觸發並從清單中移除。

6. Fair Value Gaps(FVG,公允價值缺口)。 fomoed.smc.fvg(opens, highs, lows, closes, min_gap_pct) 找出尚未填補的三 K 棒不平衡型態。看漲 FVG 是 K 棒 i-1 的高點與 K 棒 i+1 的低點之間的缺口,其中 K 棒 i 是中間的位移 K 棒。min_gap_pct 參數會過濾掉小型缺口(預設為價格的 0.2%)。每個回傳的 FVG 都會附上 fill_pct,顯示後續影線已填補多少缺口。

7. Liquidity Sweeps(流動性掃蕩)。 fomoed.smc.liquidity_sweeps(highs, lows, closes, sweep_depth_pct, reclaim_candles) 偵測獵殺停損的型態:影線插破 swing low 後,在指定 K 棒數內收回該水平之上(看漲掃蕩),或看跌的鏡像版本。sweep_depth_pct 參數是穿透該水平、足以計為一次掃蕩的最低深度,用來過濾擦邊狀況。

除了這七個 SMC 核心元件,AI 還可以使用 fomoed.fib 來處理 Fibonacci 回撤運算:fib.retracement(swing_high, swing_low, level) 回傳指定 fib 水平(0.5、0.618、0.705、0.79、0.886)的價格,fib.zones 回傳所有標準水平的 dict,fib.in_zone 則回傳布林值,判斷「價格是否在距離該 fib 水平 X% 的 swing 範圍內」。

一個從頭到尾的白話文 CHoCH 加 Fib 策略

我們來實際走一遍從 prompt 到上線運作的真實策略。策略:做反轉——等待一個看漲 CHoCH,然後在拉回至衝刺 swing 的 0.705 fib 回撤位時進場。獲利點設在進場價之上的下一個 swing high;停損設在 CHoCH 下方被掃蕩的低點。

你會在 AI 交易代理 步驟寫下這樣的 prompt:

「在看漲 CHoCH 出現後,等價格拉回至突破 swing 的 0.705 fib 水平時做多。獲利點設在進場價之上的下一個 swing high。停損設在 CHoCH 下方最近的 swing low。只做多——不做空。」

幾秒鐘內,精靈的審閱畫面會顯示 AI 的解讀:

AI 摘要: SMC 趨勢反轉策略。等待看漲 CHoCH——原本看跌趨勢時,價格收盤突破最近的 lower high,代表反轉。接著觀察價格是否拉回至衝刺 swing(低點到 CHoCH 高點)的 0.705 fib 回撤,即 OTE 區。價格觸及該區時,以你設定的部位大小開多。獲利點設在進場價之上的下一個 swing high;停損設在 CHoCH 下方最低的 swing low(反轉失敗時停損會被掃)。只做多——不做空。

運作方式:

1. 等待看漲 CHoCH——原本看跌趨勢時,價格收盤突破最近的 lower high(代表反轉)。

2. CHoCH 出現後,測量衝刺 swing(低點 → CHoCH 高點),並計算 0.705 fib 回撤水平。

3. 等待價格拉回至 0.705 fib 區(在 swing 範圍 0.5% 之內)。

4. 價格觸及該區時,以你設定的部位大小開多。

5. 在進場價之上的下一個 swing high 獲利出場,或在最低 swing low(流動性被掃)停損。

你能立刻看出 AI 是否理解這個策略。如果有任何地方不對,你可以修改 prompt 並重新生成。一旦符合你的意圖,儲存後機器人就會在下一根 K 棒收盤時開始運作。

AI 實際寫出來的東西(幕後揭密)

對於上述 CHoCH 加 fib 策略,AI 會生成大約 30 到 40 行的 Python 腳本,在沙盒中於每根 K 棒收盤時執行。大致長這樣(為了易讀已簡化):

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

終端用戶看不到這段程式碼——他們看到的是 AI 摘要與「運作方式」步驟。Python 程式儲存在伺服器端供稽核使用,並在沙盒執行環境中運行。在這裡展示它的用意是要揭開 AI 實際產出的真面目:短小、聚焦的邏輯,把困難的部分(pivot 偵測、fib 運算、結構追蹤)委派給輔助函式庫。AI 不會每次生成機器人就重新發明 SMC 演算法——它是針對 SMC 預設策略所使用、同一套經過實戰驗證的實作進行組合。

為什麼自動化 SMC 通常勝過憑感覺操作

熟練的 SMC 人類交易者與一支設計良好的 SMC 機器人,看著同一張圖,通常會畫出相同的結構。那麼為什麼在多月期間,機器人通常表現勝過人類?

執行一致性。 機器人會做每一個 A 級 setup。人類大多數時候會做。即使每週只錯過一個 setup,一季下來複利累積,報酬會有實質差異。憑感覺操作的交易者也比較容易因為「感覺不對」而跳過 setup,卻說不出具體原因——有時這是好的直覺,但平均而言這會虧錢。

沒有旁觀偏誤。 人類會下意識地根據更廣的市場脈絡來操作——如果 BTC 剛剛大跌,一個 setup 看起來會比較糟;如果他們其他部位都在綠的,一個 setup 看起來會比較好。機器人不在乎。只要規則符合,就出手。

耐受無聊。 自己手動操作的 SMC 交易者,在行情清淡的週往往會放寬標準(「我就做這個 B 級 setup 吧,我已經 4 天沒交易了」)。機器人不會無聊。如果一週沒有 A 級 setup 形成,它就空手一週。這份耐心正是策略長期能賺錢的關鍵。

24/7 盯盤。 Setup 不會只在你的交易時段內形成。本月 4 小時圖上最棒的 CHoCH,可能就在你當地凌晨 3 點觸發。機器人醒著。你沒醒。

代價是自動化 SMC 缺少熟練人類所帶來的脈絡判斷。如果更廣的市場處於明確的多頭結構,憑感覺的人類交易者可能會提高對看跌 setup 的門檻。機器人則一律按規則執行。在自動化系統中處理這點的方法,是把市場結構偵測直接寫進 prompt 裡——例如「只在 BTC 日線高於 200 日 EMA 時做多 CHoCH setup」。只要你能說出市場結構過濾條件,AI 就能實作出來。

風險管理內建於系統

對於 AI 生成的交易機器人,大家常擔心:「萬一 AI 試圖加大不合理的部位、或下一堆單怎麼辦?」Fomoed 把資金決策與策略決策分離來處理這件事。你在寫 prompt「之前」,就先在精靈的 Money 步驟中設定好部位大小、槓桿與交易模式(實盤或模擬)。AI 是被告知這些數值為約束,不是它可以修改的變數。

當 AI 生成的腳本回傳如 {'action': 'buy', 'size_usd': 100, ...} 的動作時,沙盒監督器會把請求的部位大小夾擠到你在精靈中選擇的數值。如果你在 Money 步驟設了 $50,但 AI 想請求 $200,平台會以 $50 下單,並記錄這次夾擠。實際的 execute_entry 呼叫會使用你設定的部位大小,而不是腳本所請求的數值。即使 AI 想要,也無法覆蓋你的資金上限。

同樣的保護也涵蓋獲利點與停損。精靈的 TP 與 SL 設定驅動平台標準的出場流程;AI 的「close」動作只是補充。如果你在精靈中設了 2% 停損,不論 AI 腳本怎麼說,跌 2% 時停損就會觸發。AI 的角色是增添進場智能,而不是覆蓋你的風險規則。

這個分離設計,正是讓 AI 交易代理 能安全地用真金白銀運行的關鍵。策略邏輯由 AI 生成;風險管理由精靈設定並由平台強制執行。兩者明確解耦。

常見問題

AI 能自動偵測 CHoCH 與 BoS 嗎?

可以。fomoed.smc.chochfomoed.smc.bos 輔助函式會用演算法偵測它們,使用的是專屬 SMC 預設策略所採用的同一套結構追蹤邏輯。AI 不會重新發明偵測邏輯——它是針對既有實作進行組合。這意味著 AI 生成的機器人與平台內建的 SMC 機器人,偵測品質是一致的。

AI 比人類 SMC 交易者更強嗎?

在規則執行上:是。在脈絡判斷上:還沒。在 SMC 交易的機械部分——正確繪製結構、識別未觸發 order block、計算 fib 回撤水平、做下每個符合條件的 setup——機器人更一致。在整合更廣的市場結構脈絡上,除非該脈絡明確寫進 prompt,否則機器人較弱。混合策略(讓 AI 處理 setup 偵測,你自己決定本週是否讓它積極交易)往往表現勝過純自動化或純人為判斷。

AI 怎麼處理 fib 回撤進場?

fomoed.fib 模組提供回撤運算:給定一個 swing high 與 swing low,它會計算任一 fib 水平(0.5、0.618、0.705、0.79、0.886)的價格。in_zone 輔助函式接受一個容差百分比,回傳當前價格是否在某 fib 水平的容差範圍內。AI 生成的機器人通常會等價格觸及特定 fib 水平(常用 0.705 或 0.79——即 OTE 區)後再進場。也可以同時檢查多個 fib 水平;AI 會根據你的描述生成對應的邏輯。

我可以回測 AI SMC 策略嗎?

可以。模擬交易會把同樣的 AI 生成腳本對接到真實市場資料,用模擬執行運行——不會動到資金。這是上實盤前驗證新 SMC 策略的建議做法,尤其因為 SMC setup 對時間框架敏感(在 1 小時圖上有效的策略未必在 5 分鐘圖上有效)。fomoed 的回測沙盒還可以用歷史資料運行策略,加快迭代速度。

Order Blocks 與 Fair Value Gaps 呢?

兩者分別透過 fomoed.smc.order_blocksfomoed.smc.fvg 暴露。Order blocks 回傳以實體為邊界的未觸發區間;一旦價格觸及,輔助函式會自動移除該區間。FVG 回傳未填補的三 K 棒缺口,並附上 fill_pct 屬性,讓 AI 生成的腳本可以決定部分填補的缺口是否仍算數。兩個輔助函式使用與 SMC 預設策略相同的偵測邏輯,所以平台上的行為一致。

我可以把 SMC 與其他策略結合嗎?

可以——這正是 AI 交易代理 相較於固定預設策略的強項。一個典型的共振策略可能會結合「看漲 CHoCH + RSI 未超買 + 價格位於未觸發的看漲 order block + 當前價格之上沒有近期的看跌 FVG」。AI 會把這個共振條件翻譯成正確的函式呼叫(fomoed.smc.chochctx.indicators.rsifomoed.smc.order_blocksfomoed.smc.fvg),並把它們組合到進場條件中。SMC 預設策略本身不容易做到這種跨領域共振;AI 交易代理 就是為此而生。

如果 CHoCH 在 fib 拉回前就被破壞,機器人怎麼處理?

AI 生成的腳本會在每根 K 棒收盤時重新評估進場條件。如果看漲 CHoCH 觸發,但價格從未拉回到 0.705 fib 水平——反而一路飆升——機器人不會進場。如果 CHoCH 被破壞(價格收回到突破水平之下),下一次呼叫 fomoed.smc.choch 時就會反映出來,機器人不會基於失效的訊號行動。狀態是每次 tick 從當前市場資料重新計算,不會在 tick 之間維持狀態。

打造你的第一支 SMC 機器人

了解 AI 交易代理 如何處理 SMC 最快的方法,就是註冊、在精靈中選 AI 交易代理 作為策略、貼上類似本指南中的 prompt。第一支機器人請用模擬交易模式——策略會對接真實市場資料運行而不花任何真錢,你可以觀察 setup 在你選擇的交易對與時間框架上實際多久觸發一次。

想了解 AI 交易代理 在 SMC 以外能做什麼,請參閱我們的 AI 機器人核心指南。要比較不同市場條件下該選哪種策略預設,策略比較指南涵蓋完整陣容。

用白話文打造你的 SMC 機器人

CHoCH、BoS、order blocks、fair value gaps、流動性掃蕩與 fib 回撤——用英文描述、由 AI 執行、沙盒安全。驗證期間以模擬模式免費運行。

免費開始 →

相關資源