StratCraft
Backtrader 指標指南

Backtrader MACD Momentum Trading Strategy

趨勢跟蹤動量指標,顯示兩個指數移動平均線(通常為 12 and 26 週期)之間的關係。信號線(MACD 的 9 週期 EMA)產生交叉信號。

bt.indicators.MACDMomentum Trading Strategies

趨勢跟蹤動量指標,顯示兩個指數移動平均線(通常為 12 and 26 週期)之間的關係。信號線(MACD 的 9 週期 EMA)產生交叉信號。

MACD 是決定性的動量指標。當 MACD 線向上穿過信號線時,動量轉為看漲。在動量策略中,交易者順應趨勢,直到 MACD 顯示背離(價格創出新高但 MACD 未創出新高),信號趨勢耗盡。

了解更多關於 Momentum Trading Strategies →
Pythonbacktrader
import backtrader as bt

class MACDMomentum(bt.Strategy):
    params = (('fast', 12), ('slow', 26), ('signal', 9))

    def __init__(self):
        self.macd = bt.indicators.MACD(self.data.close,
                                        period_me1=self.p.fast,
                                        period_me2=self.p.slow,
                                        period_signal=self.p.signal)

    def next(self):
        # MACD line crosses above signal line = bullish momentum
        if self.macd.macd[0] > self.macd.signal[0] and self.macd.macd[-1] <= self.macd.signal[-1]:
            self.buy()
        # MACD line crosses below signal line = bearish momentum
        elif self.macd.macd[0] < self.macd.signal[0] and self.macd.macd[-1] >= self.macd.signal[-1]:
            self.sell()
參數默認值描述
period_me112快速 EMA 週期
period_me226慢速 EMA 週期
period_signal9信號線 EMA 週期