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


Дата создания: 2024-01-29 11:54:10 Последнее изменение: 2024-01-29 11:54:10
Копировать: 0 Количество просмотров: 608
1
Подписаться
1617
Подписчики

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

Обзор

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

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

Стратегия основана на двух технических показателях:

  1. Средняя линия: рассчитывается средняя линия трёх различных параметров: быстрая EMA, медленная SMA и медленная VWMA, которая создает торговый сигнал, когда быстрая EMA проходит над или ниже медленной SMA.

  2. Случайный индикатор: рассчитывается %K, когда он превышает установленный предел зоны перекупа или предела зоны перепродажи, считая, что ситуация может измениться, можно убрать часть среднелинейного торгового сигнала.

В частности, логика стратегического сигнала заключается в следующем:

  1. При прохождении медленного SMA над быстрым EMA и% K ниже отметки от перепродажи, делать больше; при прохождении медленного SMA над быстрым EMA и% K выше отметки от отметки от перепродажи, делать больше.

  2. Для открытых позиций, если %K вновь входит в зону перепродажи, или цена пробивает линию остановки, то они будут закрыты. Для открытых позиций, если %K вновь входит в зону перекупа, или цена пробивает линию остановки, то они будут закрыты.

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

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

Основные преимущества этой стратегии:

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

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

Однако эта стратегия также несет в себе некоторые риски:

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

Метод:

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

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

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

  1. Оптимизация среднелинейных параметров для поиска оптимальных комбинаций.
  2. Проверка параметров случайных индикаторов, таких как размер зоны перекупа и перепродажи, чтобы найти оптимальные параметры.
  3. Попробуйте добавить другие показатели, такие как VOLUME для улучшения суждения или показатель волатильности, чтобы измерить риск, обогатить логику ввода.
  4. Добавление методов сдерживания убытков, таких как отслеживание убытков, для контроля риска.
  5. Оптимизация методов управления капиталом, например, корректировка позиции в соответствии с динамикой ATR.
  6. В сочетании с паническими показателями, такими как VIX, избежать крупных рискованных событий

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

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

Исходный код стратегии
/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("TVIX MEAN REV V2 TREND", overlay=true)
length = input(16, minval=1)
OverBought = input(80)
OverSold = input(20)
TradeLong = input (true)
TradeShort = input (true)

OverBoughtClose = input(80)
OverSoldClose = input(20)

smoothK = 3
smoothD = 3
trail_points = input(50)

k = sma(stoch(close, high, low, length), smoothK)
d = sma(k, smoothD)
k2 = sma(stoch(close, high, low, length), smoothK)
d2 = sma(k, smoothD)


// === GENERAL INPUTS ===
// short Ema
maFastSource = input(defval=close, title="Fast EMA Source")
maFastLength = input(defval=1, title="Fast EMA Period", minval=1)
// long Sma
maSlowSource = input(defval=close, title="Slow SMA Source")
maSlowLength = input(defval=100, title="Slow SMA Period", minval=1)
// longer Sma
maSlowerSource = input(defval=close, title="Slower SMA Source")
maSlowerLength = input(defval=30, title="Slower SMA Period", minval=1)

//ATR Stop Loss Indicator by Keith Larson
atrDays = input(7, "ATR Days Lookback")
theAtr = atr(atrDays)
atrModifier = input(5.0, "ATR Modifier")
//plot(atr * atrModifier, title="ATR")

LstopLoss = close - (theAtr * atrModifier)
SstopLoss = close + (theAtr * atrModifier)



// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = sma(maSlowSource, maSlowLength)
maSlower = vwma(maSlowerSource, maSlowerLength)
rsi = rsi(maSlowerSource, maSlowerLength)

// === PLOTTING ===
fast = plot(maFast, title="Fast MA", color=color.red, linewidth=2, style=plot.style_line, transp=30)
slow = plot(maSlow, title="Slow MA", color=color.green, linewidth=2, style=plot.style_line, transp=30)
slower = plot(maSlower, title="Slower MA", color=color.teal, linewidth=2, style=plot.style_line, transp=30)


// === LOGIC === Basic - simply switches from long to short and vice-versa with each fast-slow MA cross
LongFilter = maFast > maSlow
ShortFilter = maSlow > maFast




BUY=crossover(k, d) and k < OverSold
SELL=crossunder(k, d) and k > OverBought

SELLCLOSE=crossover(k, d) and k < OverSoldClose
BUYCLOSE=crossunder(k, d) and k > OverBoughtClose

Open = open


if not na(k) and not na(d)
    if crossover(k, d) and k < OverSold and LongFilter and TradeLong
        strategy.entry("$", strategy.long, limit = Open, comment="Long")
    
    strategy.close("$",when = crossunder(k, d) and k > OverBoughtClose or open < LstopLoss  )
    ///strategy.close("$",when = open < LstopLoss  )
    
if not na(k) and not na(d)
    if crossunder(k, d) and k > OverBought and ShortFilter and TradeShort
        strategy.entry("$1", strategy.short, limit = Open, comment="S")
        
    strategy.close ("$1", when = crossover(k, d) and k < OverSoldClose or open > SstopLoss  )
    ///strategy.close ("$1", when = open < SstopLoss)