Стратегия движущейся средней перекрестной тенденции

Автор:Чао Чжан, Дата: 2024-02-28 17:55:28
Тэги:

img

Обзор

Стратегия движущегося среднего перекрестного тренда - это следующая за трендом стратегия, основанная на движущихся средних перекрестных сигналах.

Принципы

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

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

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

Наибольшее преимущество этой стратегии заключается в ее способности своевременно улавливать начало тренда и выходить из него при сигналах обворота, достигая хорошего соотношения риск-вознаграждение.

  1. Использование MACD для определения тренда является надежным с высоким показателем выигрыша
  2. Сочетание 15-минутных и 4-часовых временных рамок сбалансирует частоту и контроль рисков
  3. Своевременная остановка потерь эффективно ограничивает максимальное привлечение

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

Существуют также некоторые риски, главным образом в следующих аспектах:

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

Для смягчения рисков можно оптимизировать:

  1. Добавление фильтра с другими индикаторами для предотвращения ложных сигналов
  2. Адаптивные корректировки точек остановки потерь
  3. Настройка параметров

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

К основным аспектам дальнейшей оптимизации стратегии относятся:

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

Заключение

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


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Moving Average Convergence Divergence", shorttitle="MACD", overlay=true)

// Getting inputs
fast_length = input(title="Fast Length", defval=12)
slow_length = input(title="Slow Length", defval=26)
src = input(title="Source", defval=close)
signal_length = input.int(title="Signal Smoothing", minval=1, maxval=50, defval=9)
sma_source = input.string(title="Oscillator MA Type", defval="EMA", options=["SMA", "EMA"])
sma_signal = input.string(title="Signal Line MA Type", defval="EMA", options=["SMA", "EMA"])

// Calculating MACD
fast_ma = sma_source == "SMA" ? ta.sma(src, fast_length) : ta.ema(src, fast_length)
slow_ma = sma_source == "SMA" ? ta.sma(src, slow_length) : ta.ema(src, slow_length)
macd = fast_ma - slow_ma
signal_line = sma_signal == "SMA" ? ta.sma(macd, signal_length) : ta.ema(macd, signal_length)

// Entry conditions
longCondition = macd < 0 and ta.crossover(macd, signal_line) 
shortCondition = ta.crossover(signal_line, macd) 

// Plot signals
plotshape(series=longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")
plotshape(series=shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Sell Signal")

// Strategy
if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)


Больше