「這個策略回測年化 200%!」
每次在幣圈社群看到這種話,我的第一反應是——回測怎麼做的?用了多長的歷史數據?有沒有考慮手續費?滑點呢?最大回撤是多少?
大多數宣稱驚人回報的策略,一旦你仔細看回測方法,就會發現問題。有些用的歷史數據只有三個月(正好是大牛市),有些根本沒算手續費,有些把參數調到完美貼合歷史但對未來毫無預測力。
回測不是為了找到一個「完美策略」。回測是為了在你投入真金白銀之前,先回答一個問題:這個策略的邏輯在歷史上站得住腳嗎?
如果答案是肯定的,你才值得用小額實盤去驗證。如果回測都過不了,就別浪費錢了。
回測的三個步驟
整個流程可以拆成三步:選策略 → 設定回測參數 → 解讀結果。聽起來簡單,但每一步都有坑。
步驟一:選一個策略來測試
你可以自己寫(如果你學了 Pine Script),也可以直接用 TradingView 社群的免費策略。
用社群策略的方式:在 TradingView 打開任意一張 K 線圖(建議用 BTC/USDT 日線),點上方「指標」按鈕,在搜索欄輸入你想測試的策略類型(比如「Grid」「RSI Strategy」「MACD Strategy」),選一個星星數多、使用人數多的策略,加到圖表上。
我建議新手從這幾個經典策略開始回測:均線交叉策略(搜「MA Cross Strategy」)、RSI 超買超賣策略(搜「RSI Strategy」)、布林通道策略(搜「Bollinger Band Strategy」)。這些策略邏輯簡單、你容易理解為什麼它會在某個時間點買入或賣出。先理解簡單的,再測複雜的。
步驟二:設定回測參數(重點中的重點)
加了策略之後,點圖表上策略名稱旁的齒輪圖示,進入設定。這裡有幾個關鍵設定你一定要調:
回測期間 — TradingView 免費版的歷史數據有限(大約 5,000 根 K 線),但付費版可以回溯更長。我的建議是至少回測一年以上的數據——要涵蓋牛市、熊市、和震盪市三種行情。只測牛市的數據沒有意義,因為牛市中隨便買都能賺。
手續費 — 在「屬性」標籤頁裡,有一個「佣金」欄位。一定要填。OKX 現貨的手續費是每筆 0.1%,所以你應該填 0.1。如果策略交易頻率很高(一天多次),手續費的影響會非常大。我看過太多策略,扣掉手續費之後從賺錢變成虧錢。
滑點 — 同樣在「屬性」裡,有一個「滑點」欄位。滑點是你的成交價跟理想價之間的差異——在流動性差的市場或大量交易時,滑點會吃掉你的利潤。BTC/USDT 的滑點很小,可以設 1-2 個 tick。小幣的滑點要設大一些。
初始資金和倉位大小 — 設成你實際打算投入的金額。不要用預設的 100 萬美元——那會讓你對風險沒感覺。如果你打算投 500 USDT,就設 500。
步驟三:解讀回測結果
跑完回測後,點底部的「策略測試器」面板。你會看到一大堆數字,但真正重要的只有這幾個:
淨利潤和淨利潤率 — 最直觀的指標——策略賺了多少。但請注意,10% 的淨利潤在一個月和一年內的含義完全不同。一定要換算成年化收益率來比較。
Profit Factor(盈虧因子) — 所有贏的交易的總利潤 ÷ 所有輸的交易的總虧損。Profit Factor = 1 代表不賺不賠。我的篩選標準:< 1.0 虧錢淘汰;1.0-1.5 勉強需要大幅改進;1.5-2.0 可以考慮值得進一步測試;> 2.0 不錯但要警惕是不是過度擬合。
最大回撤(Max Drawdown) — 這可能是最重要的指標。它告訴你,如果你在最糟糕的時間點開始跑這個策略,你會虧多少。假設一個策略年化 50%,但最大回撤 40%。這意味著你投入 1,000 USDT,中間會有一段時間帳戶只剩 600 USDT。你扛得住嗎?我的標準是最大回撤不超過預期年化收益的一半。
勝率 vs 盈虧比 — 勝率高不代表好。關鍵是勝率和盈虧比的組合:高勝率 + 低盈虧比(比如 80% 勝率、每次賺 1% 虧 3%)看起來很穩但一次大虧就全吐回去;低勝率 + 高盈虧比(比如 35% 勝率、每次賺 8% 虧 2%)連虧很多次但每次大賺能覆蓋——趨勢跟蹤策略常見的模式。兩種都能賺錢,但你要知道自己跑的是哪種。
交易次數 — 總交易次數太少(少於 30 次)的回測結果統計意義不大。就像你丟硬幣 5 次出了 4 次正面,不能說正面的機率是 80%。
五個回測的常見陷阱
陷阱一:過度擬合(Overfitting)
這是最致命的問題。你不斷調整參數,讓策略在歷史數據上的表現越來越好——但你做的其實是「讓策略記住了過去發生的事」,而不是「找到了真正有效的邏輯」。怎麼判斷是不是過度擬合?把歷史數據分成兩半。用前半段調參數,然後用後半段測試。如果後半段的表現跟前半段差很多,大概率是過度擬合了。
陷阱二:只看最終收益,不看過程
一個最終賺了 100% 的策略,如果中間有一段虧了 60%,你真的跑得住嗎?回測結果會給你一條漂亮的資金曲線,但你要盯著看的是那條線最大的下墜。
陷阱三:忽略手續費和滑點
高頻策略尤其容易踩這個坑。一天交易 20 次,每次手續費 0.2%(買賣各 0.1%),一天光手續費就是 4%。一個月就是 80% 以上。
陷阱四:倖存者偏差
你測了 50 個策略,找到一個回測表現很好的。但這可能只是運氣——測 50 個策略,按機率總會有一兩個碰巧表現好。要警惕「我找到聖杯了」的感覺。
陷阱五:用未來數據(Look-ahead Bias)
有些指標會用到未來的數據來計算。比如某些重繪(repaint)指標,在歷史上看起來完美,但實時運行時信號會改變。在 TradingView 上,注意看策略說明有沒有提到「non-repainting」。
一個完整的回測流程示範
讓我用一個具體的例子走一遍完整流程。策略:RSI 超賣買入策略。邏輯:RSI(14) 低於 30 時買入 BTC,RSI 高於 70 時賣出。
//@version=6
strategy("RSI 超賣買入", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
rsiLen = input.int(14, "RSI 週期")
buyLevel = input.int(30, "買入水平")
sellLevel = input.int(70, "賣出水平")
rsiVal = ta.rsi(close, rsiLen)
plot(rsiVal, "RSI", color=color.purple)
hline(buyLevel, "超賣線", color=color.green)
hline(sellLevel, "超買線", color=color.red)
if ta.crossover(rsiVal, buyLevel)
strategy.entry("買入", strategy.long)
if ta.crossunder(rsiVal, sellLevel)
strategy.close("買入")
回測設定: BTC/USDT 日線,2024/01 – 2026/03(涵蓋牛市和回調),初始資金 500 USDT,手續費 0.1%,滑點 2 tick。
我會看的數字: 淨利潤率、Profit Factor、最大回撤、交易次數。如果 Profit Factor > 1.5 且最大回撤 < 25%,我就會考慮用 100 USDT 實盤跑一個月。
從回測到實盤:過渡期怎麼做?
回測結果再好,實盤都可能不一樣。因為回測有幾個先天限制:回測假設你的訂單都能以理想價格成交但實盤有滑點、回測不考慮交易所的最小下單量限制、回測用的歷史數據是已經確定的但實盤的未來是未知的。
所以從回測到全倉實盤之間,需要一個過渡:
第一步:模擬交易。 TradingView 的 Paper Trading 功能讓你用虛擬資金跑策略。至少跑兩週,看看實時信號跟回測是否一致。
第二步:小額實盤。 用你打算投入金額的 10% 跑一個月。目的不是賺錢,而是驗證回測結果在真實環境中是否成立。
第三步:正式上線。 確認小額實盤的表現跟回測接近後,再逐步加碼到目標金額。
延伸閱讀
學 Pine Script 寫自己的策略:TradingView Pine Script 中文教學。了解更多策略類型:7 種量化交易策略全解析。不想寫程式直接開始:量化交易需要寫程式嗎?。回到系列起點:量化交易入門。
常見問題 FAQ
回測賺錢的策略上實盤一定會賺嗎?
不一定。回測用的是歷史數據,但未來的市場環境可能完全不同。另外回測有幾個先天限制:假設訂單都能以理想價格成交(實盤有滑點)、不考慮流動性不足的情況、也不模擬極端行情下的異常波動。回測結果是「最低門檻」——回測都過不了的策略更不用浪費錢去實測。
回測應該用多長的歷史數據?
至少一年以上,而且要涵蓋不同的市場環境(牛市、熊市、震盪市)。只用三個月的數據回測,如果剛好是牛市,幾乎任何策略都會顯示賺錢,但這毫無參考價值。BTC 的話,建議至少回測 2023-2026 的數據,涵蓋了一個完整的牛熊週期。
什麼是過度擬合?怎麼避免?
過度擬合(Overfitting)是指你不斷調整參數讓策略完美貼合歷史數據,但它只是「記住了過去」而不是找到了有效的規律。避免方法:把數據分成訓練集和測試集,用前半段調參數,後半段驗證;策略參數不要太多(超過 5 個參數就要警惕);如果一個策略只在非常特定的參數組合下才賺錢,大概率是過度擬合。
Profit Factor 多少算好?
Profit Factor 是所有獲利交易的總利潤除以所有虧損交易的總虧損。1.0 代表不賺不賠,低於 1.0 代表虧錢。我的篩選標準是 1.5 以上才值得進一步測試,2.0 以上算不錯。但如果超過 3.0 要特別小心——很可能是過度擬合或交易次數太少導致的統計偏差。
Mr. Slash 不是你的理財顧問。回測結果是基於歷史數據的模擬,不代表未來表現。任何策略都有虧損風險,請用你虧得起的錢來嘗試。





發表迴響