
1. 概述
Dual Moving Average(雙均線策略) 是最經典、最基礎的趨勢跟隨策略之一。
它僅依賴兩條簡單移動平均線(短期均線 ma_fast 與長期均線 ma_slow)之間的交叉關係:
- 短均線自下往上突破長均線 → 黃金交叉(Golden Cross)→ 產生買入訊號
- 短均線自上往下跌破長均線 → 死亡交叉(Death Cross)→ 產生賣出訊號
在 PulseForce 中,dual_moving_avg 策略是一個 極簡、標準化程度極高 的趨勢策略:
- 使用 1 分鐘 K 線(
timeframe = "1m") - 僅使用 雙均線 + 成交量 > 0 作為訊號邏輯
- 退出邏輯採用 PulseForce 統一風控框架:賣出訊號 + 日級 SL/TP + 硬性 SL/TP
- 支援 超參優化(HyperOpt):可搜尋
ma_fast / ma_slow / daily_* / force_*等參數 - 所有策略參數皆可在 PulseForce App 中以可視化方式配置
若說 ma_crossover 是更加強化、具波動率調節與趨勢過濾的版本,那 dual_moving_avg 則是 最純粹的雙均線交叉策略,結構乾淨、可解釋性極強。
2. 策略起源與定位
雙均線交叉策略起源可追溯至早期技術分析時代。隨著電腦與程序化交易普及,它幾乎成為趨勢策略的「Hello World」:
- 早期 CTA / 趨勢基金
大量採用均線交叉作為核心趨勢訊號。 - 現代量化交易系統
雙均線仍是趨勢模型的基礎,被嵌入因子模型、CTA 系統與趨勢濾波器中。 - 量化研究與教學
雙均線是最常用來示範趨勢策略的案例之一。
在 PulseForce 中,dual_moving_avg 的策略定位是:
「結構極其乾淨的趨勢策略基線(baseline)」
用於比較更複雜策略(MA Crossover、Momentum、MACD Trend 等)的表現差異。
3. 策略試圖解決的問題
雙均線策略本質上在解決三件事:
如何簡單直接地識別趨勢方向變化?
→ 透過短均線相對長均線的位置與交叉狀態進行多空判斷。如何避免依賴單根 K 線或局部價型?
→ 均線平滑價格,減少雜訊干擾。如何構建「可調整速度」的趨勢策略?
→ 調整ma_fast / ma_slow即可輕鬆得到快/慢不同風格的策略。
4. 指標與訊號邏輯
4.1 指標計算
策略使用 簡單移動平均線(SMA):
1 | f = int(self._val(self.ma_fast)) |
必要數據:
close / open / high / low:全部進行 ffill 清洗volume:缺失時補 0,避免產生錯誤訊號
4.2 買入邏輯:黃金交叉
1 | cond = ( |
要點:
- 必須是 由下往上的突破 才算有效交叉
- 不加入 RSI / 突破 / 波動率等濾波 → 保持策略純粹性
volume > 0避免停牌或異常行情
4.3 賣出訊號:死亡交叉
1 | return ( |
代表由多轉空,但並不直接觸發賣出,而是交由 custom_exit 根據 SL/TP 決定最終是否退出。
5. PulseForce 退出流程:賣出訊號 + SL/TP
PulseForce 採用一致的三層風控:
- Force SL/TP(硬性止損/止盈)
- 賣出訊號層:必須出現死亡交叉
- 日級 SL/TP:僅在有賣出訊號後才啟動
程式節選:
1 | if current_profit <= -self.force_stop_loss.value: |
這確保策略 能拿住趨勢、又不放任風險失控。
6. PulseForce 可視化配置與超參優化
回測配置界面:
超參優化界面:
6.1 基礎參數(可優化)
| Key | 名稱 | 說明 | 可優化 | 建議起始搜尋範圍 |
|---|---|---|---|---|
ma_fast |
Fast MA | 短期均線 | ✅ | 8 ~ 25 |
ma_slow |
Slow MA | 長期均線 | ✅ | 40 ~ 90 |
6.2 資金管理
| Key | 說明 |
|---|---|
max_funds_allowed_using |
最大可用資金 |
allowable_funds_neutral |
中性趨勢資金配置 |
allowable_funds_uptrend |
上升趨勢資金配置 |
allowable_funds_downtrend |
下跌趨勢資金配置 |
6.3 止損參數(可優化)
| Key | 名稱 | 含義 | 可優化 |
|---|---|---|---|
force_stop_loss |
強制止損 | 無視信號直接止損 | ✅ |
daily_stop_loss |
日級止損 | 僅在死亡交叉後啟動 | ✅ |
6.4 止盈參數(可優化)
| Key | 名稱 | 含義 | 可優化 |
|---|---|---|---|
force_take_profit |
強制止盈 | 無視信號直接止盈 | ✅ |
daily_take_profit |
日級止盈 | 僅在死亡交叉後生效 | ✅ |
7. 策略適用場景
7.1 適合
- 趨勢明顯的資產(美股熱門股、ETF、指數、加密貨幣)
- 喜歡 簡單規則 + 低過度擬合風險 的使用者
- 作為研究 對照組/基線策略(baseline)
7.2 不適合
- 長期震盪、方向不明顯的標的
- 噪音極高的超短線場景
- 需要非常精確切入點的策略用途
8. 優勢與不足
優勢
- 最可解釋的趨勢策略之一
- 參數極少 → 超參優化穩定、不易過擬合
- 非常適合作為策略比較基線
- 完全符合 PulseForce 風控架構(硬 SL/TP + 日級 SL/TP)
不足
- 未考慮 RSI、成交量異動、波動率等因子 → 震盪行情中較易被洗
- 相比 Momentum、MACD Trend 等複雜策略,在部分標的表現可能略顯不足
- 未含日級趨勢濾波,噪音極高場景效果有限
9. 總結
dual_moving_avg 是 PulseForce 中 最純粹、最標準的雙均線交叉策略:
- 以 黃金交叉 / 死亡交叉 作為唯一趨勢訊號
- 使用 PulseForce 統一的 SL/TP 風控框架
- 支援對
ma_fast / ma_slow / daily_* / force_*進行 超參優化(HyperOpt) - 配合 PulseForce 的 UI 配置、回測、優化工具,可快速建立屬於你的趨勢策略
特別適合:
- 新手的第一套趨勢策略
- 作為 Momentum / MA Crossover / MACD Trend 的對照基線
- 學習 PulseForce「策略 → 參數 → 風控 → 回測 → 優化」完整流程的示例策略
想了解更多策略與最新功能,請訪問:
👉 PulseForce 官網: https://www.hiforce.ai