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

Автор:Чао Чжан, Дата: 2023-11-13 10:55:09
Тэги:

img

Обзор

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

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

Стратегия в основном использует 6-периодные, 14-периодные, 25-периодные и 80-периодные линии EMA. Она сначала рассчитывает эти значения MA, а затем определяет направление тренда на основе перекрестки между 6-периодным EMA и тремя другими MAs.

Когда 6-периодическая EMA пересекает 14-периодическую или 25-периодическую EMA, и она находится выше 80-периодической EMA, генерируется сигнал покупки. Это указывает на то, что краткосрочная EMA нарушает средне- и долгосрочные EMA, и может начаться восходящая тенденция, поэтому мы можем рассмотреть возможность покупки.

И наоборот, когда 6-периодическая EMA пересекает ниже 14-периодической или 25-периодической EMA, и она находится ниже 80-периодической EMA, генерируется сигнал продажи. Это указывает на то, что краткосрочная EMA нарушена средне- и долгосрочными EMA, и может начаться тенденция к снижению, поэтому мы можем рассмотреть возможность продажи.

После генерации сигнала стратегия открывает длинные или короткие позиции.

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

Преимущества этой стратегии:

  1. Использование перекрестка MA для определения тенденции является зрелым и надежным техническим показателем.

  2. Сочетание нескольких временных рамок уменьшает ложные сигналы. 6-периодный MA генерирует сигналы, в то время как 14-периодный, 25-периодный MA подтверждает, а 80-периодный MA определяет общую тенденцию.

  3. Стоп-лосс контролирует риск и эффективно защищает капитал.

  4. Логика проста и ясна, легко понять и подтвердить.

  5. Периоды MA могут быть настроены так, чтобы оптимизировать изменение рыночных условий.

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

Некоторые риски этой стратегии включают:

  1. Цены могут перемещаться вокруг МА во время диапазона, генерируя чрезмерные недействительные сигналы.

  2. Фиксированный стоп-лосс может быть слишком жестким.

  3. Добавьте дополнительную логику, чтобы пропустить стоп-лосс в таких случаях.

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

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

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

Некоторые способы оптимизации стратегии:

  1. Испытать различные комбинации периодов MA, чтобы найти параметры, более чувствительные к рынку.

  2. Улучшить механизм остановки потери с использованием отстающих или динамических остановок для снижения риска остановки.

  3. Добавьте фильтрующие индикаторы, такие как KDJ, MACD, чтобы избежать чрезмерных сделок во время диапазона.

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

  5. Использовать адаптивные скользящие средние, которые автоматически корректируют периоды на основе волатильности.

  6. Добавление правил размещения позиций для корректировки размеров позиций на основе рыночных условий.

  7. Включайте выходы с прибылью.

Резюме

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


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

//@version=3
strategy(title = " bhramaji EMA Cross Strategy", shorttitle = "EMA Cross",calc_on_order_fills=true,calc_on_every_tick =true, initial_capital=21000,commission_value=.25,overlay = true,default_qty_type = strategy.percent_of_equity, default_qty_value = 100)
StartYear = input(2018, "Backtest Start Year")
StartMonth = input(1, "Backtest Start Month")
StartDay = input(1, "Backtest Start Day")
UseStopLoss = input(true,"UseStopLoss")


stopLoss = input(20, title = "Stop loss percentage(0.1%)")


maSource   = input(defval = close, title = "MA Source")
maLength6   = input(defval = 6, title = "MA Period 6", minval = 1)
maLength14  = input(defval = 14, title = "MA Period 14", minval = 1)
maLength25  = input(defval = 25, title = "MA Period 25", minval = 1)
maLength80  = input(defval = 80, title = "MA Period 80", minval = 1)

ma6 = ema(maSource, maLength6)
ma14 = ema(maSource, maLength14)
ma25 = ema(maSource, maLength25)
ma80 = ema(maSource, maLength80)

ma_6_plot = plot(ma6 , title = "MA  6", color = red, linewidth = 2, style = line, transp = 50)
ma14_plot = plot(ma14, title = "MA 14", color = green, linewidth = 2, style = line, transp = 50)
ma25_plot = plot(ma25, title = "MA 25", color = blue, linewidth = 2, style = line, transp = 50)
ma80_plot = plot(ma80, title = "MA 80", color = silver, linewidth = 2, style = line, transp = 50)


longEMA = (crossover(ma6, ma14) or crossover(ma6, ma25)) and (ma6>ma80) 
exitLong = (crossunder(ma6, ma14) or crossunder(ma6, ma25)) 

shortEMA = (crossunder(ma6, ma14) or crossunder(ma6, ma25)) and (ma6< ma80)
exitShort =(crossover(ma6, ma14) or crossover(ma6, ma25))

if (longEMA)
    strategy.entry("LongId", strategy.long)
 
if (shortEMA)
    strategy.entry("ShortId", strategy.short)

if (UseStopLoss)
    strategy.exit("StopLoss", "LongId", loss = close * stopLoss / 1000 / syminfo.mintick)
    strategy.exit("StopLoss", "ShortId", loss = close * stopLoss / 1000 / syminfo.mintick)





Больше