Стратегия длинной реверсии MACD

Автор:Чао Чжан, Дата: 2023-12-15 13:55:38
Тэги:

img

Обзор

Стратегия длинного переворота MACD - это стратегия, которая использует индикатор MACD для выявления долгосрочных переворотов цен и совершения долгосрочных сделок. Эта стратегия конструирует индикатор MACD с использованием разницы между быстрой линией SMA и медленной линией SMA MACD и использует образец переворота гистограммы MACD для выявления потенциальных долгосрочных возможностей переворота цен.

Логика стратегии

Стратегия использует 6-дневную EMA в качестве быстрой линии MACD и 26-дневную EMA в качестве медленной линии MACD. Разница между быстрой и медленной линиями MACD, а 9-дневная SMA MACD составляет сигнальную линию. Когда разница между быстрой и медленной линиями, т.е. гистограмма, равна нулю, она представляет собой баланс; когда положительная, она представляет собой долгосрочный бычий взгляд; когда отрицательная, она представляет собой долгосрочный медвежий взгляд.

Логика этой стратегии заключается в следующем: когда гистограмма MACD поднимается выше предыдущей (разница расширяется), считается, что цена перешла на долгосрочный рост (возможность покупки); когда гистограмма MACD падает ниже предыдущей (разница сужается), считается, что цена перешла на долгосрочный спад (возможность продажи).

Анализ преимуществ

  • Определить долгосрочные перепады цен с использованием длительного скользящего среднего значения показателя MACD
  • Двухлинейный кроссовер фильтрует ложные прорывы и избегает погони за максимумами и продажами минимумов
  • Параметры MACD регулируются для адаптации к различным рыночным условиям
  • Стратегии стоп-лосса могут быть настроены для контроля одиночных потерь

Риски и решения

  • Пропущенные торговые возможности из-за дивергенции MACD
    • Оптимизировать для использования в сочетании с индикатором RSI
  • На колеблющихся рынках есть много ложных сигналов об обратном движении.
    • Увеличить стоп-лосс для снижения потерь; скорректировать параметры MACD для достижения плавности
  • Обратное движение не сохраняется или цена проходит через стоп-лосс
    • Использовать экспоненциальные скользящие средние для повышения надежности стоп-лосса
  • Нет стратегии стоп-лосса, невозможно контролировать потери
    • Добавить логику отслеживания стоп-потери или фиксированную логику стоп-потери для строгого контроля суммы единого убытка

Руководство по оптимизации

  • Настройка параметров MACD, чтобы следовать более плавным линиям MACD. MACD является индикатором долгосрочного отслеживания тренда, слишком чувствительный увеличит ложные сигналы.
  • Добавьте логику остановки потерь. Долгосрочные позиции неизбежно сталкиваются с риском снижения, и остановки могут смягчить этот риск.
  • Использование в сочетании с другими индикаторами, такими как RSI. Эффекты одного индикатора ограничены, объединение других индикаторов может улучшить производительность.
  • Добавьте модуль размещения позиций. Различные рыночные условия могут использовать разные стратегии держания.

Резюме

Длинная стратегия обратного движения MACD используется для определения долгосрочных возможностей обратного движения цен, определяя обратную сторону гистограммы MACD. Эта стратегия успешно контролирует конфликт между краткосрочными и долгосрочными циклами, а также избегает преследования максимумов и продажи минимумов.


/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheGrindToday

//@version=4
strategy("MACD Long Strat", overlay=false)


//fast = 12, slow = 26
fast = 6, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)
histogram = macd-signal

macdpos = histogram[0] > 0
macdneg = histogram[0] < 0

histogram_reversing_negative = histogram[1] > histogram[2]


LongEntryCondition =  histogram > histogram[1] 
ShortEntryCondition =  histogram < histogram[1]

exitConditionLong = histogram[0] < histogram[2]

if (LongEntryCondition and histogram_reversing_negative)
    strategy.entry("Long", strategy.long)


if (exitConditionLong)
    strategy.close("Long")
    
plot(histogram)


Больше