StratCraft
Руководство по индикаторам Backtrader

Backtrader MACD Momentum Trading Strategy

Трендовый индикатор импульса, показывающий взаимосвязь между двумя экспоненциальными скользящими средними (обычно с периодами 12 и 26). Сигнальная линия (9-периодная EMA от MACD) генерирует сигналы пересечения.

bt.indicators.MACDMomentum Trading Strategies

Трендовый индикатор импульса, показывающий взаимосвязь между двумя экспоненциальными скользящими средними (обычно с периодами 12 и 26). Сигнальная линия (9-периодная EMA от MACD) генерирует сигналы пересечения.

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 сигнальной линии