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

Автор:Чао Чжан, Дата: 2023-11-14 16:56:21
Тэги:

img

Обзор

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

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

Стратегия сначала рассчитывает двойные экспоненциальные скользящие средние цены, включая быстрые и медленные линии. Быстрая линия имеет период 4, а медленная линия имеет период 8. Торговые сигналы генерируются, когда две линии пересекаются. Когда быстрая линия пересекается выше медленной линии, генерируется сигнал покупки. Когда быстрая линия пересекается ниже медленной линии, запускается сигнал продажи. Кроме того, стратегия также рассчитывает индикатор MACD, чтобы обеспечить дополнительные торговые сигналы. Дивергирующие красные MACD-полосы - это сигналы продажи, в то время как конвергирующие зеленые полосы - это сигналы покупки.

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

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

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

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

Направления к улучшению

Следующие аспекты стратегии могут быть улучшены:

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

  2. Добавьте другие индикаторы, такие как RSI и KD, чтобы отфильтровать сигналы и улучшить качество.

  3. Включайте стратегии стоп-лосса для выхода из сделок при изменении тренда.

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

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

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

Заключение

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


/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/11/2017
// The SMI Ergodic Indicator is the same as the True Strength Index (TSI) developed by 
// William Blau, except the SMI includes a signal line. The SMI uses double moving averages 
// of price minus previous price over 2 time frames. The signal line, which is an EMA of the 
// SMI, is plotted to help trigger trading signals. Adjustable guides are also given to fine 
// tune these signals. The user may change the input (close), method (EMA), period lengths 
// and guide values.
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// WARNING:
// - For purpose educate only
////////////////////////////////////////////////////////////
strategy(title="SMI Ergodic Oscillator")
fastPeriod = input(4, minval=1)
slowPeriod = input(8, minval=1)
SmthLen = input(3, minval=1)
TopBand = input(0.5, step=0.1)
LowBand = input(-0.5, step=0.1)
reverse = input(false, title="Trade reverse")
// hline(0, color=gray, linestyle=dashed)
// hline(TopBand, color=red, linestyle=line)
// hline(LowBand, color=green, linestyle=line)
xPrice = close
xPrice1 = xPrice - xPrice[1]
xPrice2 = abs(xPrice - xPrice[1])
xSMA_R = ema(ema(xPrice1,fastPeriod),slowPeriod)
xSMA_aR = ema(ema(xPrice2, fastPeriod),slowPeriod)
xSMI = xSMA_R / xSMA_aR
xEMA_SMI = ema(xSMI, SmthLen)
pos = iff(xEMA_SMI < xSMI, -1,
	   iff(xEMA_SMI > xSMI, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )  
plot(xSMI, color=green, title="Ergotic SMI")
plot(xEMA_SMI, color=red, title="SigLin")

Больше