В процессе загрузки ресурсов... загрузка...

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

Автор:Чао Чжан, Дата: 2024-03-01 12:23:38
Тэги:

img

Обзор

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

Принцип стратегии

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

Пройти длинный курс, когда краткосрочная SMA (5-дневная и 10-дневная линии) пересекается над долгосрочной SMA (50-дневная и 200-дневная линии). Пройти короткий курс, когда краткосрочная SMA пересекается ниже долгосрочной SMA. Продать, когда CCI больше 100; Купить, когда CCI меньше -100. Настроить стоп-лосс на основе значений ATR.

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

Сочетая суждение о тренде скользящих средних линий и суждение о перекупленности / перепроданности 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)


Больше