聰明錢概念:演算法能回測訂單區塊與 FVG 嗎?
訂單區塊與公允價值缺口,必須先把手繪時的每個選擇都寫成數字,才能回測。公允價值缺口需要三根 K 棒與兩項設定;訂單區塊需要五項。回測評價的是你寫下的型態定義,而不是手繪時的概念。
作者 Soren Huang · 發佈 · 更新於 · 編輯原則
目錄
訂單區塊與公允價值缺口能轉成可測試的規則嗎?
聰明錢概念(如訂單區塊與公允價值缺口),必須先把手繪時的每個選擇寫成明文規則,才能用在演算法交易。公允價值缺口需要三根 K 棒與兩項設定,訂單區塊需要五項。回測評價的是你寫下的定義,而不是手繪時的概念。
聰明錢概念(SMC)是一系列讀圖方法,只憑價格 K 棒,試圖找出大型參與者下單的位置。這些方法靠標註過的圖表教學,而電腦讀不懂標註圖。它需要一條能對每根 K 棒一視同仁套用的規則,這正是程式交易的定義與流程:寫成明文、不帶主觀判斷地執行。所以第一件事不是寫程式,而是把規則寫下來。
兩種型態的書寫難度並不相同。公允價值缺口是三根 K 棒之間的關係,待決定的只有兩件事:缺口至少要多大,以及什麼算填補。訂單區塊是事後回頭看才選出的 K 棒,所以還得決定:哪根 K 棒符合資格、後續走勢要多強、哪些價位構成區塊、什麼算觸及,以及區塊何時不再有效。這每一項都是兩位交易人會意見不同之處,測試前都必須變成數字。
什麼是訂單區塊?什麼是公允價值缺口?
兩種型態都只從價格判讀,下圖標出各自在圖上的確切位置。訂單區塊是強勢走勢之前、最後那根相反顏色 K 棒所在的區間:急漲前最後那根下跌 K 棒(看漲訂單區塊),或急跌前最後那根上漲 K 棒(看跌訂單區塊)。其背後的想法是,大型買方或賣方在那根 K 棒內成交了自己的委託單,價格回到該區間時會加以防守。公允價值缺口(FVG)是快速走勢留下的未成交價格空間:在連續三根 K 棒中,中間那根 K 棒的區間裡,第一根與第三根沒有重疊的部分。其背後的想法是,價格傾向回頭,把跳過的空間重新交易一遍。
兩種型態都不用成交量、未平倉量或委託簿資料。「聰明錢」是對走勢的一種詮釋,不是量測得出的數量。這對測試反而有利:輸入只有開高低收,手上現有的任何 K 棒資料都能測。它們屬於期貨演算法交易策略的類型中的價格型態,與突破、K 棒形態並列,也適用相同的測試規則。
如何客觀定義訂單區塊?
訂單區塊必須事先寫下五項設定,才成為規則,每一項怎麼選都由你決定。以下是最低限度的設定。需要設定大小的地方,以ATR 平均真實區間為單位,這樣同一條規則在平靜年份與劇烈年份才有相同意義。ATR 平均真實區間是指在選定的 K 棒根數內,單根 K 棒完整波動幅度的平均值,包含與前一收盤價之間的跳空。
- 符合資格的 K 棒。上漲前最後那根收盤低於開盤的 K 棒(或下跌前最後那根收盤高於開盤的 K 棒)。須決定十字星(收盤等於開盤)是否算數。
- 走勢幅度。該 K 棒之後價格要走多遠,才算「強勢」。例如:之後 3 根 K 棒內,收盤價與該 K 棒收盤價相距至少 2 ATR。
- 區塊邊界。哪些價位構成區塊。常見選擇是看漲區塊取開盤到最低,或取整根 K 棒的最高到最低。擇一即可。
- 觸及規則。什麼算價格回到區塊:影線碰到上緣、收盤落在區塊內,或收盤落在區塊內、隨後收盤回到區塊上方。
- 失效時機。區塊何時不再有效:經過固定根數的 K 棒後、第一次觸及後,或價格收盤穿越遠端邊緣後。
假設性範例
假設 14 根 K 棒的 ATR 為 100 點。一根下跌 K 棒開盤 18,000、收盤 17,950、最低 17,920。之後 3 根 K 棒內,收盤價來到 18,180,比 17,950 高出 230 點,超過所需的 2 ATR(200 點)。這根 K 棒因此符合看漲訂單區塊,區間為 17,920 至 18,000。規則是:價格首次收盤落在區間內之後,於下一根 K 棒開盤買進,前提是觸及發生在 20 根 K 棒內。若 20 根 K 棒內都沒有觸及,該區塊即刪除。
首次執行前先寫下五個數值,之後再測試鄰近的數值。一條規則若只在走勢幅度剛好 2.0 ATR 時有效,到 1.8 與 2.2 就失效,描述的是某一段歷史,而不是一種型態。
如何用程式碼寫出公允價值缺口?
第一根 K 棒的高點低於第三根 K 棒的低點,就是看漲公允價值缺口;第一根 K 棒的低點高於第三根 K 棒的高點,則是看跌缺口。再加兩項設定,型態就完全機械化。需要的公式只有一條:
看漲缺口大小 = 第三根 K 棒低點 − 第一根 K 棒高點
這裡的第一根 K 棒是三根中最舊的,第三根 K 棒是最新的,缺口大小以價格點數表示。結果為正,即存在看漲缺口。看跌缺口則左右對調:以第一根 K 棒的低點減去第三根 K 棒的高點。要加入的兩項設定如下:
| 設定 | 為何需要 | 範例選擇 |
|---|---|---|
| 最小缺口大小 | 任何圖表上,微小缺口隨時都在出現。沒有下限,規則每隔幾根 K 棒就觸發一次,成本會吃掉成果。 | 至少 0.5 ATR |
| 填補規則 | 決定價格何時算「回到」缺口,以及缺口何時用盡。 | 價格交易到缺口中點時進場;價格收盤穿越缺口遠端邊緣後,移除該缺口 |
假設性範例
第一根 K 棒的高點為 18,000,第三根 K 棒的低點為 18,060,缺口為 60 點。14 根 K 棒的 ATR 為 100 點,60 點即 0.6 ATR,高於 0.5 ATR 的下限,所以記錄這個缺口,中點為 18,030。十二根 K 棒後,價格下跌到 18,030,規則在下一根 K 棒開盤買進。出場是另一個決定,必須同樣仔細寫下:固定的 K 棒根數、以 ATR 為基準的停損,或下一個反向缺口。
這兩項設定固定後,歷史上的每根 K 棒都會得到相同的是非答案。這就是機械式規則的檢驗標準:另一個人用相同資料與相同設定,會得到相同的交易明細。
為什麼模糊性才是真正的問題?ICT 與 SMC 差在哪裡?
兩位交易人標註同一張圖,畫出的區塊與缺口並不相同;ICT 與 SMC 的用語差異也大到,回測結果只屬於某一種書面變體,無法證實或推翻整個流派。ICT(Inner Circle Trader)是一位交易人多年累積的線上課程,有自己的術語,並特別強調一天中的時段。SMC 是這些想法後來的簡化版,透過論壇與影片流傳,沿用許多相同術語,但各自的比重不同。當交易人說「我交易訂單區塊」,你仍不知道他用的是哪五項設定、是否要求特定交易時段,或他怎麼定義其結構術語所依賴的擺動點。
| 差異點 | ICT | SMC |
|---|---|---|
| 術語來源 | 單一老師的系列課程,術語龐大而具體 | 社群對 ICT 內容的簡化,術語較少 |
| 對一天中時段的重視 | 在倫敦與紐約開盤前後、名為「殺戮區」的交易時段內進場 | 多數說明並不要求時段濾網 |
| 命名的核心結構 | 訂單區塊、公允價值缺口、流動性掃蕩(價格突破近期高點或低點後反轉)、市場結構轉變 | 結構突破(收盤順著趨勢突破最近的擺動點)、性質轉變(首次逆著趨勢收盤突破擺動點)、訂單區塊、公允價值缺口 |
| 寫規則的人必須固定什麼 | 以交易所時間表示的交易時段,加上每項結構設定 | 擺動點定義(幾根 K 棒構成擺動高點或低點),加上區塊與缺口設定 |
所以「SMC」的結果並不存在。存在的是這樣的結果:「看漲公允價值缺口,最小 0.5 ATR,中點進場,5 根 K 棒後出場,NQ 15 分鐘 K 棒,僅限一般交易時段」。把完整的句子寫出來,回測才能評價它;漏掉任何一部分,下一個測「同一件事」的人就會得到不同的交易明細。
NQ 上替代規則的期貨回測呈現什麼?如何解讀?
由於沒有公認的單一公允價值缺口定義,本文背後的這次執行由 AlphaPrime(Valynox)完成,測試的是替代規則,而不是公允價值缺口本身:以 ATR 規則作為唯一的進場與出場,不設停損、停利或濾網。測試使用 NQ(E-mini Nasdaq-100)日 K 棒,期間 2019-01-02 至 2025-06-30,多空皆做,一口,每筆交易收取 $20 手續費與 $10 滑價,並於下一根 K 棒執行。引擎試了 1,024 個候選策略,依報酬相對回撤的表現留下一個。以下數字就是這個留下的候選策略的結果。
來源:AlphaPrime 產品引擎(CPU),2026-10-31 執行。NQ 日線,2019-01-02 至 2025-06-30,多空都做,1 口,每筆手續費 $20、滑價 $10。
| 數字 | 結果 |
|---|---|
| 淨損益(已平倉交易) | $233,415 |
| 最大回撤 | $96,430 |
| 交易筆數 | 172 |
| 勝率 | 59.3% |
| 獲利因子 | 1.52 |
| 平均每筆損益 | $1,357.06 |
| 在市場中的時間 | 81.97% |

依下列順序讀報表。第一,平均每筆損益 $1,357.06,對照每筆交易 $30 的手續費與滑價成本:成本只占平均每筆損益的一小部分,所以滑價加倍也不會改變正負號。這正是檢驗散戶程式交易能否獲利的標準,而同一條規則的高頻版本會過不了這一關。第二,在市場中的時間占 81.97%:規則在多數交易日都持有部位,所以它的權益曲線有一部分是順著那幾年 Nasdaq-100 的方向,任何嚴謹的判斷都需要與單純持有指數作比較。第三,最大回撤 $96,430 對淨損益 $233,415:比率略低於 2.4 比 1,而這正是搜尋用來排序候選策略的數字。
接下來是容易忽略的部分。這個候選策略是事後挑出來的,在 1,024 個候選策略中,依報酬相對回撤選出最好的。從大量候選中挑出贏家,會使它看起來比實際好,因為它的結果有一部分,是恰好與這段歷史對上的雜訊。Bailey、Borwein、López de Prado 與 Zhu(2014)指出,預期的高估幅度會隨在同一份資料上比較的候選數量而增加。框內只呈現報表長什麼樣、怎麼讀。它並不顯示 ATR 規則或公允價值缺口賺到了這筆錢,也不是讀者可以預期的數字。
把美元數字換成點數:NQ 每指數點 $20,最小跳動點為 0.25 點,因此 $1,357.06 的平均每筆損益約為 68 個指數點。交易所可能調整合約價值,請到交易所的合約頁面核對最新數字,或交給免費的期貨合約與損益計算機(可查跳動點與點值)代為換算。
SMC 究竟有效嗎?
沒有任何公開研究能給出定論,所以對 SMC 規則和任何價格規則一視同仁,讓它透過同樣的檢驗來贏得信任。對技術交易規則的整體回顧發現,結果好壞參半,且高度取決於期間、市場,以及在找到被報告的那條規則之前搜尋了多少條規則(Park 與 Irwin,2007)。在公認的定義下,訂單區塊與公允價值缺口並未被納入該文獻的檢驗,部分原因正如前面各節所示,並不存在公認的定義。沒有證據不等於證據反對這些型態,而是你該自己動手測試的理由:用你自己的 K 棒,把規則完整寫出來。
以下檢查的順序,與任何突破或 K 棒形態規則都必須通過的順序相同。第一次失敗就停下,捨棄該變體;不要調整某項設定後在同一份資料上重試。
- 完整寫出規則。前面各節的每項設定,加上出場、交易時段與 K 棒週期。
- 含成本、下一根 K 棒成交的回測。每筆交易都計入手續費與滑價,委託在訊號之後的那根 K 棒成交。
- 與單純基準比較。基準是持倉頻率與你的規則相同的最簡單規則:對大多數時間做多的規則,基準是持有該合約;對交易回到區塊的規則,基準是自近期高點固定回檔幅度時的單純買進。基準若表現相當,代表這個型態沒有增加任何價值。
- 用樣本外資料評價。在歷史較早的部分固定設定,再原封不動套用到較晚的部分。要多少才夠,以交易筆數衡量,詳見說明樣本內與樣本外資料切分的指南。
- 執行推進分析與滑價加倍。推進分析是在一個區間最佳化設定、原封不動套用到下一個區間,並沿著歷史重複的檢驗。滑價加倍可看出結果是否依賴低成本的成交。
- 在從未碰過的最後一段資料上只測一次。最近幾個月,從未載入任何先前的執行,且只用一次。
第四到第六步,是多數手繪型態栽跟頭的地方,因為看圖的交易人只看見有效的區塊,忘了無效的;電腦兩種都計算。像AlphaPrime 的策略檢驗以門檻所要求的那樣,在搜尋開始前就訂好推進分析與樣本外的通過標準,就能免去曲線上螢幕之後才移動球門的誘惑;而前面一步失敗就停止後續檢查,也讓抵達最後一段資料的變體數量維持在少數。
至於聰明錢策略最適合哪些技術指標:老實的答案是 SMC 一個也不用。寫規則的人通常只加入 ATR,而且只用來調整大小門檻。其他任何東西都是濾網,每個濾網都是多一項要寫下的設定,也是多一個配合過去的途徑。
下一步小而具體。拿看漲公允價值缺口規則,連同最小缺口大小與填補規則,把全部設定與出場寫成一行;用你真實的手續費與一個跳動點的滑價,在你實際盯的 K 棒週期上執行;先讀兩個數字:扣除成本後的平均每筆損益,對比一買一賣(來回)成本,以及結果對比持倉頻率相同的單純基準。若想要這類工作第一個月的完整路線,第一支程式交易策略的 30 天路線列出了步驟順序。
常見問題
什麼是交易中的訂單區塊?
訂單區塊是強勢走勢之前、最後那根相反顏色 K 棒所在的區間:急漲前最後那根下跌 K 棒,或急跌前最後那根上漲 K 棒。使用它的交易人預期價格回到該區間時會有反應。要測試它,必須先寫下哪根 K 棒符合資格、之後的走勢要多大、哪些價位構成區間、什麼算觸及,以及區間何時失效。
什麼是公允價值缺口(FVG)?
公允價值缺口是快速走勢在三根 K 棒間留下的未成交價格空間。第一根 K 棒的高點低於第三根的低點,就是看漲缺口;第一根的低點高於第三根的高點,就是看跌缺口。缺口大小是這兩個價格的差。再加上以 ATR 為單位的最小大小與填補規則,型態就完全機械化,任何 K 棒資料都能回測。
ICT 與 SMC 是同一回事嗎?
不是。ICT 是一位交易人所累積、較早也較龐大的課程,特別強調圍繞倫敦與紐約開盤的具名交易時段。SMC 是在線上社群流傳的簡化版,通常不要求時段濾網,並倚重結構術語,如結構突破與性質轉變。兩者都用訂單區塊與公允價值缺口,但為其中一方寫的規則,不一定就是另一流派的意思。
SMC 究竟有效嗎?
沒有公開研究能給出定論,這些型態也沒有公認的定義,所以不可能有單一答案。有用的做法是:寫出一個精確的變體,含成本與下一根 K 棒成交進行回測,與持倉頻率相同的單純基準比較,用樣本外與推進分析評價,再在從未碰過的近期資料上測一次。全部通過的變體,值得以小部位交易;任何一步失敗的,捨棄而非調整。
參考文獻
- Bailey, D. H., Borwein, J., López de Prado, M., & Zhu, Q. J. (2014). Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society, 61(5), 458–471.
- Park, C.-H., & Irwin, S. H. (2007). What Do We Know About the Profitability of Technical Analysis? Journal of Economic Surveys, 21(4), 786–826.
- Wilder, J. W. (1978). New Concepts in Technical Trading Systems. Trend Research.
- CME Group. E-mini Nasdaq-100 Futures Contract Specs. https://www.cmegroup.com/markets/equities/nasdaq/e-mini-nasdaq-100.contractSpecs.html

