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 周期