Стратегия MACD, RSI и EMA


Дата создания: 2024-03-01 12:23:38 Последнее изменение: 2024-03-01 12:23:38
Копировать: 1 Количество просмотров: 691
1
Подписаться
1617
Подписчики

Стратегия MACD, RSI и EMA

Обзор

Эта стратегия сочетает в себе движущиеся средние ((SMA), средние реальные диапазоны (ATR), прогрессивные индикаторы (CCI) и бринговые полосы, чтобы обнаружить краткосрочные и среднесрочные ценовые тенденции и поддержать торговые решения.

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

Эта стратегия использует четыре различных цикла SMA для определения направления ценовых тенденций, включая 5, 10, 50 и 200-дневную линию. ATR используется для измерения рыночной волатильности и установления стоп-стопов. CCI используется для определения перекупа и перепродажи.

При коротких СМА ((5- и 10-дневная линия) и длинных СМА ((50- и 200-дневная линия) делают больше. При коротких СМА (длинные СМА) и длинных СМА делают больше.

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

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

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

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

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

Можно попытаться оптимизировать параметры SMA, чтобы они были более близки к текущему состоянию рынка. Также можно скорректировать стандартную разницу в буринской полосе, чтобы она была более подходящей для поддержки и сопротивления. Кроме того, можно рассмотреть возможность включения других показателей, таких как KDJ, MACD и т. Д. Это может повысить вероятность победы в стратегии.

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

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

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © maizirul959

//@version=4
strategy("MACD,RSI & EMA strategy with MA+PSAR by MAM", overlay=true)

//Input Data
_ema_len1 = input(5, title="EMA1 length")
_ema_len2 = input(20, title="EMA2 length")

_macd_fast = input(12, title="MACD Fast")
_macd_slow = input(26, title="MACD Slow")
_macd_signal_len = input(20, title="MACD Signal length")

//MAM add SMA
_sma_len1 = input(5, title="SMA1 Length")
_sma_len2 = input(10, title="SMA2 Length")
_sma_len3 = input(50, title="SMA3 Length")
_sma_len4 = input(200, title="SMA4 Length")

lineWidth = input(1, minval=1, title="Line width")

src = input(close, title="Source")

SMA1 = if _sma_len1 != 0
    sma(src, _sma_len1)
SMA2 = if _sma_len2 != 0
    sma(src, _sma_len2)
SMA3 = if _sma_len3 != 0
    sma(src, _sma_len3)
SMA4 = if _sma_len4 != 0
    sma(src, _sma_len4)


//__________________________________________________________________________

_rsi_len = input(14, title="RSI length")
_rsi_signal_len = input(20, title="RSI signal length")

//_________________________________________________________________________
//MAM Add PSAR
PSAR_start = input(0.02)
PSAR_increment = input(0.02)
PSAR_maximum = input(0.2)

psar = sar(PSAR_start, PSAR_increment, PSAR_maximum)
//_________________________________________________________________________

_ema1 = ema(close, _ema_len1)
_ema2 = ema(close, _ema_len2)

//_________________________________________________________________________
//MAM add SMA
//_sma1 = ema(close, _sma_len1)
//_sma2 = ema(close, _sma_len2)
//_________________________________________________________________________

_macd = ema(close, _macd_fast) - ema(close, _macd_slow)
_macd_signal = ema(_macd, _macd_signal_len)

_rsi = rsi(close, _rsi_len)
_rsi_signal = ema(_rsi, _rsi_signal_len)


//PLOT SMA
plot(SMA1, color=#B71C1C, title="SMA1", linewidth=lineWidth)
plot(SMA2, color=#FFFF00, title="SMA2", linewidth=lineWidth)
plot(SMA3, color=#5b34ff, title="SMA3", linewidth=lineWidth)
plot(SMA4, color=#d7d7d7, title="SMA4", linewidth=lineWidth)


//PLOT PSAR
plot(psar, "ParabolicSAR", style=plot.style_cross, color=#3A6CA8)

//plot(_rsi, color=color.yellow)
//plot(_rsi_signal, color=color.green)
//plot(_macd, color=color.blue)
//plot(_macd_signal, color=color.red)


longCondition = close > _ema1 and close > _ema2 and _macd > _macd_signal and _rsi > _rsi_signal 
if (longCondition)
    strategy.entry("Buy",strategy.long)
    
shortCondition = close < _ema1 and close <_ema2 and _macd < _macd_signal and _rsi < _rsi_signal
if (shortCondition)
    strategy.entry("Sell",strategy.short)