Стратегия конверсии MACD Moving Average Bull Bear

Автор:Чао Чжан, Дата: 2023-12-08 15:29:41
Тэги:

img

Обзор

Стратегия преобразования MACD Moving Average Bull Bear рассчитывает линии DIFF и DEA индикатора MACD, чтобы определить, изменилась ли тенденция рынка, тем самым генерируя торговые сигналы.

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

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

Когда DIFF превышает DEA, это означает, что краткосрочная скользящая средняя начинает укрепляться, и рынок становится бычьим. Когда DIFF превышает DEA, это означает, что краткосрочная скользящая средняя становится слабой, и рынок становится медвежьим. Поэтому эта стратегия длится, когда DIFF пересекает DEA, и становится короткой, когда пересекает ниже.

Кроме того, стратегия включает в себя фильтры ценовой EMA для предотвращения ложных прорывов. Она длится только тогда, когда DIFF превышает DEA, а цена ниже предыдущей длинной цены, и становится короткой только тогда, когда DIFF превышает DEA, а цена выше предыдущей короткой цены.

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

Стратегия конверсии MACD Moving Average Bull Bear сочетает в себе индикатор MACD и фильтры цены EMA для предотвращения ложных сигналов, генерируемых только MACD, тем самым улучшая результативность торговли.

К основным преимуществам относятся:

  1. Использование MACD для выявления точек переворота тренда и фиксации поворотных точек
  2. Включение фильтров ценового EMA для уменьшения ложных возможностей прорыва
  3. Быстрая генерация сигнала, подходящая для краткосрочной торговли
  4. Тенденция реализации, следующая за получением среднесрочной тенденционной прибыли
  5. Совпадает с мнением большинства трейдеров о торговле в точках конвертации

Анализ рисков

Стратегия конверсии MACD Moving Average Bull Bear также сопряжена с некоторыми рисками:

  1. MACD склонен генерировать ложные сигналы, требуя фильтров цены EMA, но также пропустит некоторые движения
  2. Необходимо внимательно следить за линиями DIFF и DEA, неправильная настройка параметров увеличивает ложные сигналы
  3. Сигналы прорыва рассматривают только 1 бар, с риском быть сбиты.
  4. Стратегия в основном опирается на перекрестное использование DIFF/DEA для сигналов, может увеличить частоту торговли, если сигналы слишком часты

Основными способами оптимизации рисков являются:

  1. Корректировка параметров MACD для уменьшения ложных сигналов
  2. Увеличить прочность фильтра для снижения возникновения випса
  3. Добавить фильтры для хранения позиций для ограничения частоты торговли

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

Стратегия конверсии MACD Moving Average Bull Bear может быть дополнительно оптимизирована в следующих аспектах:

  1. Оптимизировать параметры MACD периодов DIFF/DEA
  2. Добавить фильтры для более низкой частоты торговли
  3. Включить стратегии стоп-лосса/прибыли для контроля целевых показателей прибыли
  4. Добавьте другие индикаторные фильтры, такие как диапазоны BOLL и KD
  5. Включить тенденционный уклон, чтобы избежать контратендирования
  6. Разработка стратегий выхода или шаблонов получения прибыли на основе этой стратегии

Заключение

Стратегия конверсии MACD Moving Average Bull Bear идентифицирует бычье/медвежье вхождение на рынок с помощью перекрестных сигналов DIFF и DEA и использует фильтры EMA цены для удаления ложных сигналов, эффективно определяя точки обратного движения рынка. С простой и ясной логикой она быстро идентифицирует точки конверсии, подходящие для краткосрочной и среднесрочной торговли. Следующие шаги для оптимизации включают корректировку параметров, улучшение фильтров и контроль частоты торговли, чтобы сделать стратегию более надежной.


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

//@version=3
strategy("macd_strategy", 
          shorttitle="macd", 
          overlay=true, 
          pyramiding=1, 
          max_bars_back=5000, 
          calc_on_order_fills = false, 
          calc_on_every_tick=true, 
          default_qty_type=strategy.percent_of_equity, 
          default_qty_value=100, 
          commission_type =strategy.commission.percent, 
          commission_value=0.00075)
[diff, dea, _] = macd(close, 12, 26, 7)
dea_close = ema(diff, 3)
price = ema(close, 9)
plot(price)
cross_over_price = na
cross_over_signal = na
cross_over_price := cross_over_price[1]
cross_over_signal := cross_over_signal[1]

cross_under_price = na
cross_under_signal = na
cross_under_price := cross_under_price[1]
cross_under_signal := cross_under_signal[1]
if (crossover(diff,dea))
    cross_over_price := price[1]
    cross_over_signal := diff
if (crossunder(diff,dea))
    cross_under_price := price[1]
    cross_under_signal := diff
if dea > 0
    cross_over_price = na
    cross_over_signal = na
else
    cross_under_price = na
    cross_under_signal = na
if diff > 0
    if cross_under_price > cross_under_price[1]*1 and cross_under_signal < cross_under_signal[1]*0.95
        strategy.entry("S", strategy.short,  comment="S")
else
    if cross_over_price < cross_over_price[1]*1 and cross_over_signal > cross_over_signal[1]*0.95
        strategy.entry("B", strategy.long,  comment="B")
// strategy.exit("exit_s", "S", stop = strategy.position_avg_price*1.05, when=strategy.position_size < 0)
// strategy.exit("exit_b", "B", stop = strategy.position_avg_price*0.95, when=strategy.position_size > 0)
strategy.close_all(when=(strategy.position_size < 0 and (dea < 0 or diff > cross_under_signal*1 or crossover(diff, dea)) or (strategy.position_size > 0 and (dea > 0 or diff < cross_over_signal*1 or crossunder(diff, dea)))))

Больше