Стратегия пересечения скользящих средних Multi-SMA


Дата создания: 2023-11-28 15:08:37 Последнее изменение: 2023-11-28 15:08:37
Копировать: 2 Количество просмотров: 713
1
Подписаться
1617
Подписчики

Стратегия пересечения скользящих средних Multi-SMA

Обзор

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

Стратегический принцип

  1. Вычислите среднее значение SMA на 5 различных периодов (8, 21, 50, 100, 200 дней)
  2. Среднее значение пяти средних значений дает окончательный средний показатель.
  3. Сигнал покупки возникает, когда цены на закрытие повышаются и прорываются через среднюю линию
  4. Сигнал “продажи” возникает, когда конечная цена падает и пересекает среднюю линию.

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

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

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

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

  1. Система средней линии задерживается в целом и не позволяет своевременно отслеживать изменения цен.
  2. Если прорыв недействителен, то точка остановки находится дальше, и риск потери выше.
  3. Стоп-линия часто запускается во время шокирующего тренда

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

Направление оптимизации

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

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2023-11-20 00:00:00
end: 2023-11-27 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("STRATEGY AVERAGE MULTI_SMA", overlay=true)


sma1 = sma(close,input(title="SMA 1", defval=8))

sma2 = sma(close,input(title="SMA 2", defval=21))

sma3 = sma(close,input(title="SMA 3", defval=50))

sma4 = sma(close,input(title="SMA 4", defval=100))

sma5 = sma(close,input(title="SMA 5", defval=200))


mediaSMA= (sma1+sma2+sma3+sma4+sma5)/5

//color mediaSMA

MediaUP = mediaSMA>mediaSMA[1]
colorUP = (MediaUP ? #3CFF35 : na)

MediaDOWN = mediaSMA<mediaSMA[1]
colorDOWN =(MediaDOWN ? #FF0F03 : na)

colorN =(not MediaUP and not MediaDOWN and mediaSMA==mediaSMA[1] ? white : na )

plot(mediaSMA,title="Avarege MULTI_SMA UP", color=colorUP, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA DOWN", color=colorDOWN, style=circles, linewidth=2, transp=0)
plot(mediaSMA,title="Avarege MULTI_SMA UP NEUTRAL", color=colorN, style=circles, linewidth=2, transp=0)


//plot(sma1,color=blue,linewidth=1, style=line,transp=0,title="SMA 1")
//plot(sma2,color=yellow,linewidth=1, style=line,transp=0,title="SMA 2")
//plot(sma3,color=green,linewidth=1, style=line,transp=0,title="SMA 3")
//plot(sma4,color=purple,linewidth=1, style=line,transp=0,title="SMA 4")
//plot(sma5,color=red,linewidth=1, style=line,transp=0,title="SMA 5")


// Strategy

//BUY
comprar=close>mediaSMA and mediaSMA>mediaSMA[1] 
fechar=close<mediaSMA and mediaSMA<mediaSMA[1]
 
strategy.entry("BUY",strategy.long,when=comprar)
strategy.entry("SELL",strategy.short, when=fechar)

//SELL
vender=close<mediaSMA and mediaSMA<mediaSMA[1] 
fechar2=close>mediaSMA and mediaSMA>mediaSMA[1]

strategy.entry("SELL",strategy.short, when=vender)
strategy.entry("BUY", strategy.long,when=fechar2)