Эта стратегия сочетает в себе простую скользящую среднюю величину (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)