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

Автор:Чао Чжан, Дата: 2024-02-21 15:11:32
Тэги:

img

Обзор

Это комбинационная стратегия торговли, основанная на простых скользящих средних (SMA). Она использует перекресток 9-дневной и 21-дневной линий SMA в качестве сигналов покупки и продажи. Когда краткосрочная SMA пересекает длинную SMA снизу, генерируется сигнал покупки. Когда краткосрочная SMA пересекает длинную SMA сверху, генерируется сигнал продажи.

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

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

Ключевые сигналы, на которые опирается эта стратегия, это золотой крест и смертный крест двух линий SMA. Золотой крест происходит, когда короткая SMA пересекает длинную SMA, сигнализируя о возможном изменении от нисходящего тренда к восходящему. Смертный крест происходит, когда короткая SMA пересекает длинную SMA, предполагая, что может начаться спад от восходящего тренда. Используя эти два сигнала, стратегия определяет отношения между краткосрочными и долгосрочными тенденциями для принятия торговых решений.

Преимущества

  1. Простой в понимании и внедрении
  2. Некоторые параметры требуют обширных испытаний/оптимизации
  3. Разумная частота торгов, избегание чрезмерно агрессивных сделок
  4. Достаточно точно определяет точки переворота тренда
  5. Предлагает определенную измеримость и стабильность

Риски

  1. Склонны к созданию ложных сигналов и ударов.
  2. Выбор точки покупки/продажи в значительной степени основывается на опыте, а не на систематическом подходе
  3. Высокая зависимость производительности от параметров. 9-дневная/21-дневная SMA может быть не оптимальной
  4. Неэффективный при фильтрации шума торговли на бурных/боковых рынках
  5. Значительные убытки в условиях высокой волатильности

Возможные улучшения:

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

Заключение

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


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

//@version=5
strategy("Bitboy Strategy", overlay=true)

// Define MAs
SlowMA = ta.sma(close, 9)
FastMA = ta.sma(close, 21)

// Plot MAs
plot1 = plot(SlowMA, color=color.new(color.red, 0), title="Slow MA")
plot2 = plot(FastMA, color=color.new(color.green, 0), title="Fast MA")

// Plot MA Ribbon
fill(plot1, plot2, color=FastMA > SlowMA ? color.rgb(233, 21, 21, 50) : color.new(#1de223, 45))

// Define buy/sell conditions
longCondition = ta.crossover(SlowMA, FastMA)
shortCondition = ta.crossunder(SlowMA, FastMA)

// Strategy commands for buy/sell
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Plot buy/sell signals (for visualization)
plotshape(longCondition, location=location.belowbar, color=color.rgb(18, 230, 25, 37), style=shape.labelup, text="Buy", textcolor=color.white)
plotshape(shortCondition, location=location.abovebar, color=color.rgb(239, 23, 23, 40), style=shape.labeldown, text="Sell", textcolor=color.white)

Больше