Стратегия перекрестного использования динамической скользящей средней

Автор:Чао Чжан, Дата: 2024-02-01 10:42:53
Тэги:

img

Обзор

Динамическая стратегия пересечения скользящих средних - это типичная стратегия, следующая за трендом. Она генерирует сигналы купли-продажи путем расчета быстрой скользящей средней (Fast MA) и медленной скользящей средней (Slow MA) и обнаружения перекрестков между ними для захвата точек переворота тренда на рынке.

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

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

Движущиеся средние могут эффективно фильтровать шум рынка и улавливать ценовые тенденции. Быстрый движущийся средний более чувствителен и может своевременно улавливать изменения в тренде; медленный движущийся средний более стабилен и может эффективно фильтровать влияние краткосрочных колебаний. Когда быстрые и медленные МА имеют золотой крест (двигающийся вверх снизу), это указывает на то, что рынок вступил в фазу роста; когда они видят крест смерти (двигающийся вниз сверху), это указывает на то, что рынок вступил в фазу падения.

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

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

  • Хорошие результаты обратного тестирования стратегии, фиксирование больших движений путем следования тенденциям
  • Ясные сигналы, генерируемые скользящими средними крестами, легко внедряемые
  • С остановкой потери и получением прибыли строго контролировать риски

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

  • Склонны к сигнальным ошибкам и серьезным потерям
  • Высокая частота торговли, короткие периоды хранения
  • Нужны разумные параметры

Улучшения могут быть сделаны путем оптимизации параметров, корректировки периодов скользящей средней, добавления условий фильтра и т.д.

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

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

Заключение

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


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

//@version=5
strategy("Simple Moving Average Crossover", shorttitle="SMAC", overlay=true)

// Define input parameters
fast_length = input.int(9, title="Fast MA Length")
slow_length = input.int(21, title="Slow MA Length")
stop_loss = input.float(1, title="Stop Loss (%)", minval=0, maxval=100)
take_profit = input.float(2, title="Take Profit (%)", minval=0, maxval=100)

// Calculate moving averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)

// Define conditions for long and short signals
long_condition = ta.crossover(fast_ma, slow_ma)
short_condition = ta.crossunder(fast_ma, slow_ma)

// Plot moving averages on the chart
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)

// Execute long and short trades
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

// Set stop loss and take profit levels
stop_loss_price = close * (1 - stop_loss / 100)
take_profit_price = close * (1 + take_profit / 100)
strategy.exit("Take Profit/Stop Loss", stop=stop_loss_price, limit=take_profit_price)

// Plot signals on the chart
plotshape(series=long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)


Больше