CMF+EMA 策略拆解:Quant Tactics 的 13 個月樣本外回測 325% 有幾可信?
目錄
YouTube 頻道 Quant Tactics 在 2026 年 3 月上載了一條策略測試影片,把 蔡金資金流量 CMF 與 指數移動平均線 EMA 200 組成一套多空雙向的趨勢跟蹤 Trend Following 策略:CMF 越過正門檻且價格企在 200 期 EMA 之上才造好倉,反向則造淡倉,止蝕用 平均真實波幅 ATR 動態計算,止賺固定 2:1 風險回報比。講者以 Freqtrade 做 前推分析 Walk-Forward Analysis,聲稱在 STX 永續合約 13 個月樣本外數據上取得 325% 累計回報、最大回撤 26%。這是該頻道「Full Strategy Breakdown」系列的其中一條,格式與我們之前拆解過的 ADX+OBV 策略相同:單一標的、永續合約、13 個月樣本外驗證。
策略速覽
重現規格
| 項目 | 規格 |
|---|---|
| 投資標的 | STX/USDT 永續合約(TradingView 畫面:Stacks / TetherUS PERPETUAL CONTRACT) |
| 交易所/市場 | Binance 永續合約(多空雙向) |
| Timeframe | 1 小時圖(畫面顯示;口述未講明) |
| 回測期間 | 13 個月樣本外數據(walk-forward 產出;具體起止日期原片未交代) |
| 起始資金 | 原片未交代 |
| CMF 期數 | 講解基準值 40(預設 20 太敏感故加長);實際經優化,測試範圍 20/30/40/50 |
| CMF 進場門檻 | 好倉:上穿 0.05 或 0.07;淡倉:跌穿 −0.05;優化範圍 ±0.03/0.05/0.07/0.09 |
| 趨勢濾網 | 收市價在 200 期 EMA 之上才造好倉,之下才造淡倉 |
| 進場時機 | 三項條件齊備後,於下一根 K 線進場 |
| 止蝕 | 訊號 K 線收市價 − 2 × ATR(好倉);淡倉反向。ATR 期數原片未交代,乘數實際經優化 |
| 止賺 | 固定 2:1 風險回報比,目標價=2 倍止蝕距離;K 線收市價觸及目標即離場 |
| 優化參數 | cmf_length、cmf_long_threshold、cmf_short_threshold、ATR 乘數、風險回報比(hyperopt+walk-forward) |
| 槓桿 | 原片未交代(永續合約) |
| 手續費/滑價假設 | 原片未交代 |
| 每倉注碼 | 原片未交代 |
| 講者聲稱結果 | 13 個月樣本外累計回報 325%、最大回撤 26%、單月回報介乎 −16% 至 +52%、13 個月中 10 個月獲利、月均 8.4 次交易、最長連敗一個月 |
詳細拆解
CMF:把收市位置與成交量合併的資金流向計
蔡金資金流量 CMF 由 Marc Chaikin 提出,思路是先問一個問題:今日收市價處於全日高低位區間的哪個位置?收在最高位附近,代表買方收市時仍掌控局面;收在最低位附近,代表沽壓主導。把這個位置量化為 資金流量乘數 Money Flow Multiplier:
$$\text{MFM} = \frac{(C - L) - (H - C)}{H - L}$$再乘以當期成交量得到資金流量,最後把 n 期的資金流量總和除以 n 期成交量總和:
$$\text{CMF}_n = \frac{\sum_{i=1}^{n} \text{MFM}_i \times V_i}{\sum_{i=1}^{n} V_i}$$CMF 的讀數介乎 −1 與 +1 之間:零軸之上代表累積期內買壓佔優,零軸之下代表沽壓佔優。它與 平衡交易量 OBV 同源——都以成交量推斷資金方向——但 OBV 只看收市價升跌方向作全有或全無的加減,CMF 則按收市價在高低區間內的精確位置加權,訊息更細緻。一般預設期數為 20。
進場三條件:期數加長、門檻提高、順勢過濾
好倉進場需要三項條件同時成立,講者逐項解釋了修改預設值的理由:
- CMF 期數由 20 加長到 40。預設 20 期太敏感,橫行市會產生大量噪音訊號;加長窗口令曲線平滑,只捕捉較具規模的累積階段。代價是訊號更遲到。
- CMF 上穿 0.05 甚至 0.07 才進場,而不是剛好升穿零軸。講者的理由是:CMF 剛好大過零只代表微弱的買壓,在橫行或低成交的市況容易出現假訊號;要求越過 0.05–0.07 的門檻,是確認背後有「有意義的累積」。
- 收市價企在 200 期 EMA 之上。這是方向閘:均線之上只做好倉、之下只做淡倉,避免逆勢交易。這與同頻道其他策略的 EMA200 濾網如出一轍。
三項齊備後,於下一根 K 線進場。淡倉條件完全鏡像:CMF 40 期跌穿 −0.05、收市價在 200 期 EMA 之下。這種「進出場邏輯對稱」的設計,是多空雙向策略的基本要求——若好淡倉用不同邏輯,回測時便難以判斷績效來自策略本身還是來自不對稱的規則拼湊。
截圖出自原片(Quant Tactics,2026-03-03):Strategy Optimization 畫面列出優化範圍——cmf_length 測試 20/30/40/50,好倉門檻 0.03/0.05/0.07/0.09,淡倉門檻 −0.03 至 −0.09;左側為 walk-forward 分段示意。
止蝕與止賺:ATR 動態距離+固定 2:1
止蝕不用固定百分比,而是用 ATR 按市場波動動態計算:好倉止蝕價=訊號 K 線收市價 − 2 × ATR。波動大時止蝕自動拉遠,避免被正常震盪掃走;波動小時收窄,控制單注風險。止賺則固定為止蝕距離的兩倍,即 2:1 風險回報比 Risk-Reward Ratio,K 線收市價觸及目標即離場。
這個組合的數學含義很直接:2:1 的盈虧比下,勝率只需穩定高於約 33.3%,期望值已經為正。講者的原話是「即使勝率只有 50%,長遠仍然有利可圖」——這說法保守了,50% 勝率配 2:1 的期望值相當可觀。真正的問題從來不在盈虧比本身,而在「2 倍 ATR 止蝕、2:1 止賺」這對參數是否經過優化而得:講者明言 ATR 乘數與風險回報比都在 hyperopt 優化範圍之內,換言之 2 倍與 2:1 只是講解用的基準值,最終回測用的是優化後的數值——而這些數值原片沒有公開。
截圖出自原片(Quant Tactics,2026-03-03):Enter Long 示範,紅色區域為止蝕(Singal Candle Close − 2xATR),綠色區域為 2:1 止賺目標。
截圖出自原片(Quant Tactics,2026-03-03):Enter Short 示範,CMF 由零軸上方跌穿負門檻,價格同時處於 200 EMA 之下,淡倉最終觸及止賺。
Walk-forward 優化:本片與「六年回測」系列的分水嶺
這條片屬於頻道中較嚴謹的一類:不是「調一次參數、跑六年數據、報一個總數」,而是用 walk-forward 分析把數據切成多個滾動窗口——每段先用前幾個月的數據優化參數,再在緊接的未見過數據上測試,然後整個窗口向前推一格重複。最終報告的 325% 是各段樣本外結果的拼接,理論上不存在「用上載前數據調參」的問題。
優化面向五個參數:CMF 期數(20–50)、好倉門檻(0.03–0.09)、淡倉門檻(−0.03 至 −0.09)、ATR 乘數、風險回報比。每個窗口用 Freqtrade 的 hyperopt 搜尋最佳組合。月均 8.4 次交易、13 個月合計約百餘次交易,訊號確實稱得上「selective」——三個條件同時成立的頻率本來就不會高。
截圖出自原片(Quant Tactics,2026-03-03):Walk-Forward Analysis Implementation 示意圖,綠色 WF 格為各段樣本外測試,最底一行為拼接後的整體樣本外結果。
325% 如何讀
數字本身:13 個月 325% 累計回報,單月介乎 −16% 至 +52%,10/13 個月獲利,最大回撤 26%,最長連敗一個月。按月複利折算,相當於月均約 12%——仍然極高,但與標題的衝擊感已經不是同一回事。
更重要的三個背景:其一,這是單一標的 STX 的結果,不是組合測試,STX 本身如何被選中、其他幣對上是否同樣有效,原片完全沒有交代;其二,13 個月的樣本外聽起來嚴謹,但 walk-forward 的每段窗口長度、優化目標函數、段數都沒有公開,13 個月裡約百餘次交易的統計分量有限;其三,永續合約的手續費、資金費率與滑價假設全部沒有披露——月均 8.4 次交易看似不多,但 13 個月過百次來回,費率假設足以左右最終數字。
重現 Backtest 清單
照住以下清單逐項核對,才知道能否真正重現這個回測:
- ✅ 交易所與市場類型:Binance 永續合約(畫面有)
- ✅ 交易對:STX/USDT(有)
- ⚠️ Timeframe:畫面顯示 1 小時圖,但口述從未確認
- ⚠️ 回測期間:只講「13 個月樣本外」,具體起止日期原片未交代
- ❌ 起始資金:原片未交代
- ✅ 進場條件:CMF 上穿門檻+收市價在 200 EMA 同側+下一根 K 線進場(口述清楚)
- ⚠️ CMF 期數與門檻:講解基準 40/0.05–0.07,但實際為優化結果,最終數值原片未交代
- ⚠️ ATR 期數:原片未交代;乘數 2 只是講解基準,實際經優化
- ⚠️ 止賺:2:1 為講解基準,風險回報比實際經優化,最終數值原片未交代
- ❌ 槓桿:原片未交代
- ❌ 手續費、資金費率、滑價假設:原片未交代
- ❌ 每倉注碼分配:原片未交代
- ⚠️ Walk-forward 設定:窗口長度、段數、優化目標函數原片未交代
- ⚠️ 策略代碼:講者稱完整代碼隨其 Freqtrade+walk-forward 課程提供(描述區連結),屬付費課程附帶內容,非同頻道三連陽策略片的免費下載
- ✅ 樣本外驗證:有(walk-forward 設計本身即樣本外測試)
結論:規則框架清楚,但幾乎所有「會影響數字的設定」——最終參數值、期間、資金、費率、槓桿——都缺失,單靠影片內容無法完整重現回測,連近似重現都有困難。
🙏 覺得內容有用?本站所有內容免費提供,使用推薦碼開戶就是支持我們繼續營運的最大鼓勵:
ZA Bank 邀請碼 P20923
—— 你享 HKD 2,000 迎新獎賞,本站獲得營運支持。
立即開戶 →
(聯盟連結|投資涉及風險,受條款及細則約束,此資料僅可於香港境內分發)
MT5 可行性速評
| 項目 | 評估 |
|---|---|
| 可移植性 | 中。EMA 與 ATR 是 MT5 內建指標(iMA()、iATR()),但 CMF 不是 MT5 標準指標,需自行由 OHLC 與成交量計算,或改用內建 iAD()(累積/派發線)推導近似值 |
| 平台限制 | MT5 外匯 CFD 的 tick volume 與加密貨幣原生交易所的真實成交量口徑不同,CMF 這類成交量指標在 MT5 上的讀數與 Binance 數據可能有明顯差距;STX 這類中型幣種在 MT5 券商亦未必有得交易 |
| 評級 | ⚠️ 價格邏輯(EMA 濾網、ATR 止蝕、2:1 止賺)可完整移植,但成交量部分要自行實現,且成交量口徑差異會令訊號失真 |
| MQL5 寫法提示 | 自行計 CMF:每根 K 線計 MFM = ((Close-Low)-(High-Close))/(High-Low),乘以 tick_volume 累積 n 期再除以 n 期成交量總和;注意分母為零(High==Low)的例外處理。好倉:Close > iMA(200) 且 CMF 上穿門檻;止蝕價=訊號柱收市價 − 2 × iATR();止賺=進場價 + 2 × 止蝕距離 |
即使成功移植,MT5 回測同樣會過度擬合。
防坑檢查
- 過度擬合:本片用 walk-forward 優化,已經是 YouTube 策略片中少見的嚴謹做法,直接命中我們在過度擬合詞條強調的標準解法。但五個參數同時優化、每段窗口只產生十來次交易,單段內的 hyperopt 仍可能把噪音當訊號;窗口長度與段數未公開,無法評估每段樣本外的統計分量。
- 樣本外驗證:有,這是本片相對同頻道「六年回測」系列的最大分別。13 個月全部為樣本外拼接結果,而非調參後的樣本內數字。
- 選標偏差:325% 只來自 STX 一個標的。為何是 STX 不是其他幣?若講者試過多隻幣而只報最好的一隻,這本身就是一種隱性篩選。原片沒有交代選幣過程。
- 滑價與手續費:完全未交代。永續合約 taker 費率約 0.04–0.05% 單邊,加上資金費率,百餘次來回交易的累計成本對 325% 的影響不能假設為零。
- 槓桿未明:永續合約回測不講槓桿,325% 與 26% 回撤的意義便不完整——同一策略在 1 倍與 5 倍槓桿下是兩個不同的風險剖面。
- 參數黑盒:講解用 40 期/0.05–0.07/2 倍 ATR/2:1,但全部實際數值都是優化結果且未公開。讀者按講解值自行回測,幾乎肯定得不到 325%。
- 固定問題——原片提供的資訊能否完整重現回測? 不能。進出場框架、優化範圍、回測方法有交代,但最終參數值、回測期間、起始資金、槓桿、費率、滑價、注碼、walk-forward 窗口設定八項缺失;代碼又綁付費課程,免費渠道無從核對。
欣利克的看法
- 方法學上,這是同頻道較值得學的一條片。Walk-forward 把「調參」與「驗證」在時間上強行分開,325% 是 13 個月未見過數據的拼接結果,而非六年樣本內的優化產物。單憑這一點,它比動輒聲稱數千個百分點的「六年回測」系列更接近可驗證的做法——概念上這正是樣本外測試存在的意義。
- 但「做了 walk-forward」不等於「結果可信」。截至 2026 年 3 月影片上載時,窗口長度、段數、優化目標函數全部未公開,月均 8.4 次交易意味每段樣本外只有約十次交易,統計噪音極大。方法對了,執行細節卻是黑盒,嚴謹度只能給一半分數。
- 325% 與 26% 回撤要配槓桿一齊讀,而槓桿恰恰未交代。永續合約策略不披露槓桿,回報與回撤數字便失去比較基準。常見誤區是把累計回報直接當成策略能力的量度,實際上它同時是槓桿與注碼規則的函數。
- 單一標的結果不宜外推。STX 是波動偏大的中型幣,CMF 這類成交量指標在流動性集中的幣對上訊號較乾淨;同一套規則搬到其他幣對或傳統市場,沒有任何證據顯示同樣有效。把單幣 13 個月的結果理解為「策略驗證成功」屬過度推論。
- 利益關係要知。講者的完整代碼與 walk-forward 教學綁在其 Freqtrade 付費課程內,影片屬課程引流內容;片中「代碼已提供」的說法,實際指向付費牆之後。數字宜當教學示範看待。
名詞解釋
- 蔡金資金流量 CMF:按收市價在高低區間的位置加權成交量的資金流向指標,本策略以 40 期版本越過 ±0.05 門檻作進場觸發。
- 指數移動平均線 EMA:對近期數據加權較高的均線,本策略用 200 期作多空方向濾網。
- 平均真實波幅 ATR:量度價格波動幅度的指標,本策略以其倍數動態設定止蝕距離。
- 風險回報比 Risk-Reward Ratio:潛在盈利與潛在虧損的比例,本策略講解基準為 2:1,實際數值經優化。
- 前推分析 Walk-Forward Analysis:滾動式「優化—樣本外測試」循環,本片用此法產生 13 個月樣本外結果。
- 平衡交易量 OBV:按收市價升跌方向累加成交量的指標,與 CMF 同源但計法較粗略。
- Freqtrade:開源加密貨幣自動交易與回測框架,本片回測與 hyperopt 優化平台。
- 永續合約 Perpetual Futures:無到期日的加密貨幣期貨合約,本片測試標的所屬市場,持倉涉及資金費率。
- 最大回撤 Max Drawdown:資金曲線由高位回落的最大幅度,本策略聲稱 26%。
- 過度擬合 Overfitting:參數過度遷就歷史數據的風險;本片以 walk-forward 應對,但執行細節未公開。
- 樣本外測試 Out-of-Sample Testing:用未參與調參的數據驗證策略,本片 13 個月結果全部屬此類。
- 滑價 Slippage:預期與實際成交價的差異,原片未交代有否計入。
常見問題 FAQ
CMF 與 OBV 有什麼分別?
兩者都以成交量推斷資金流向,但 OBV 只看收市價升跌方向,全日成交量非加即減,屬全有或全無;CMF 則按收市價在當期高低區間內的精確位置,為成交量加 −1 至 +1 之間的權重,再取 n 期平均值。CMF 訊息較細緻、曲線有界(−1 至 +1),OBV 是無界累積線、只有方向與斜率有意義。本策略選 CMF,正因為需要「越過指定門檻」這種有界讀數才能做到的觸發條件。
為何 CMF 期數要由 20 加長到 40、門檻由零提高到 0.05?
講者的邏輯是降噪:預設 20 期對短期波動太敏感,橫行市會產生大量無意義的零軸穿越;加長到 40 期令曲線平滑,只捕捉較具規模的累積。同理,剛好大過零只代表微弱買壓,要求越過 0.05–0.07 才是「有意義的累積」。代價是訊號更遲、次數更少——截至影片數據,月均僅 8.4 次交易。
Walk-forward 測試過的策略,回測數字還需要打折嗎?
需要。Walk-forward 解決的是「用上載前數據調參」的問題,但本片窗口長度、段數、優化目標函數全部未公開,月均 8.4 次交易令每段樣本外的統計分量有限;加上標的篩選過程、槓桿、手續費與滑價均未交代,13 個月 325% 只能視為講者截至 2026 年 3 月的單一標的聲稱結果,不能外推到其他幣對或未來市況。
這套策略可以在 MT5 重現嗎?
價格邏輯部分可以:EMA 200 濾網、ATR 止蝕、2:1 止賺都是 MT5 內建功能。但 CMF 不是 MT5 標準指標,需自行按公式計算;更關鍵的是 MT5 外匯 CFD 的 tick volume 與加密貨幣原生交易所的真實成交量口徑不同,CMF 讀數會有系統性差異,成交量部分的訊號難以與原片對照。
原影片
本文整理自以下影片,版權屬原創作者所有,建議配合原片觀看: