Усовершенствованная стратегия следования тренду EMA с расслабленными фильтрами RSI и ATR

Автор:Чао Чжан, Дата: 2024-02-29 14:44:10
Тэги:

img

Обзор

Это стратегия EMA, которая включает в себя фильтры RSI и ATR, с целью улавливать долгосрочные тенденции.

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

  1. Длинный, когда быстрая EMA (20) пересекает медленную EMA (50)
  2. Короткий, когда быстрая EMA пересекает низкую EMA
  3. Торговля только в направлении долгосрочной тенденции по показателю 200 EMA
  4. Требовать, чтобы RSI был относительно перепродан для длинных и перекуплен для коротких
  5. Использование ATR для обнаружения зон консолидации для предотвращения ложных вырывов

Преимущества

  1. Система перекрестного использования EMA, эффективная для следующих тенденций
  2. Дополнительный долгосрочный фильтр позволяет избежать контртенда
  3. Смягченные пороги РСИ снижают упущенные прибыльные тенденции
  4. Фильтр ATR помогает преодолевать непростой период консолидации

Риски

  1. Могут быть менее эффективными на сильно развивающихся бычьих рынках
  2. Возможные сдвиги с пересечениями EMA во время консолидации
  3. Параметры RSI и ATR требуют индивидуальной оптимизации для каждого инструмента

Усовершенствования

  1. Оптимизация длин EMA для различных инструментов
  2. Доработать параметры RSI и ATR для улучшения выявления консолидации
  3. Подумайте о добавлении прибыли с помощью остановок

Заключение

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


/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Strategy with Trend Filter", overlay=true)

// Параметры EMA
shortEmaLength = input(20, title="Short EMA")
longEmaLength = input(50, title="Long EMA")
trendEmaLength = input(200, title="Trend EMA")
shortEma = ta.ema(close, shortEmaLength)
longEma = ta.ema(close, longEmaLength)
trendEma = ta.ema(close, trendEmaLength)

// Параметры RSI
rsiLength = input(14, title="RSI Length")
rsi = ta.rsi(close, rsiLength)

// Параметры ATR
atrLength = input(14, title="ATR Length")
atr = ta.atr(atrLength)

// Логика для сигналов покупки и продажи с фильтром по тренду
buySignal = ta.crossover(shortEma, longEma) and close > trendEma
sellSignal = ta.crossunder(shortEma, longEma) and close < trendEma

// Вход в сделки
if (buySignal)
    strategy.entry("Buy", strategy.long)

if (sellSignal)
    strategy.entry("Sell", strategy.short)

// Выход из сделок на основе EMA пересечений
exitBuySignal = ta.crossunder(shortEma, longEma)
exitSellSignal = ta.crossover(shortEma, longEma)

if (exitBuySignal)
    strategy.close("Buy")

if (exitSellSignal)
    strategy.close("Sell")

// Визуализация EMA
plot(shortEma, color=color.blue, title="Short EMA")
plot(longEma, color=color.red, title="Long EMA")
plot(trendEma, color=color.green, title="Trend EMA")

// Отдельная панель для RSI и его визуализация
plot(rsi, title="RSI", color=color.purple, linewidth=2)

// Отдельная панель для ATR и его визуализация
plot(atr, title="ATR", color=color.orange, linewidth=2)


Больше