StratCraft
Backtrader インジケーターガイド

Backtrader MACD Momentum Trading Strategy

2 つの指数移動平均(通常は 12 期間と 26 期間)の関係を示すトレンドフォローのモメンタム指標。シグナル線(MACD の 9 期間 EMA)がクロスオーバーシグナルを生成します。

bt.indicators.MACDMomentum Trading Strategies

2 つの指数移動平均(通常は 12 期間と 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 期間