Стратегия следования за трендом на основе RSI и EMA


Дата создания: 2024-01-25 12:19:32 Последнее изменение: 2024-01-25 12:19:32
Копировать: 0 Количество просмотров: 724
1
Подписаться
1617
Подписчики

Стратегия следования за трендом на основе RSI и EMA

Обзор

Эта стратегия реализует количественную торговую стратегию, основанную на трендовом отслеживании, путем объединения двух технических показателей: относительно сильного индекса ((RSI) и индексальной движущейся средней ((EMA)). Эта стратегия применяется в основном для трендовых рынков, чтобы получить прибыль, следуя тренду, входя в рынок, когда цены могут измениться.

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

Выбор показателя

  • EMA используется для определения направления текущей тенденции. В стратегии используются три EMA: 20-дневная, 50-дневная и 200-дневная линии. Когда цена выше этих трех EMA, мы считаем, что в настоящее время находимся в бычьем тренде.
  • RSI используется для определения того, находится ли человек в состоянии перекупа или перепродажи. RSI со стандартным параметром 14 с линией перекупа 70 и линией перепродажи 30.

Правила участия

Посмотрите на знаки входа:

  • RSI ниже 30 означает перепродажу, и цена может отскочить вверх
  • Если цена выше любой из линий 20, 50 и 200, это означает, что мы находимся на этапе восходящего тренда.

Мы делаем дополнительный вход, когда оба этих условия выполнены одновременно.

Контроль риска

На каждую сделку мы ограничиваем максимальный возможный убыток в 3% от чистой стоимости аккаунта.

Размер позиции при входе рассчитывается следующим образом: максимальный убыток / ((входная цена - цена Stop Loss) = размер позиции

Это позволяет эффективно контролировать риски отдельных сделок.

Правила игры

Сигналы о равновесии, как правило, следующие:

  • RSI превысил отметку 70, что указывает на то, что цены могут упасть из-за перекупа
  • Если цена пересекает 20-дневную линию, 50-дневную или 200-дневную линию, то это означает обратный тренд.

Если мы выполним эти условия, мы уйдем.

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

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

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

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

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2023-10-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Stratégie RSI et EMA avec Gestion du Risque", overlay=true)

// Paramètres de la stratégie
rsiLength = input(14, "Longueur du RSI")
rsiOverbought = input(70, "Niveau de Surachat RSI")
rsiOversold = input(30, "Niveau de Survente RSI")

// Calcul du RSI
rsiValue = rsi(close, rsiLength)

// Paramètres des EMA
ema20 = ema(close, 20)
ema50 = ema(close, 50)
ema200 = ema(close, 200)

// Paramètre du risque par trade
riskPerTrade = input(0.03, "Risque par Trade (3%)")

// Distance du stop-loss en pips (à ajuster selon votre stratégie)
stopLossPips = input(1, "Distance du Stop-Loss en pips")

// Calcul de la taille de position et du stop-loss
calculatePositionSize(entryPrice, stopLossPips) =>
    stopLossPrice = entryPrice - stopLossPips * syminfo.mintick
    riskPerTradeValue = strategy.equity * riskPerTrade
    positionSize = riskPerTradeValue / (entryPrice - stopLossPrice)
    positionSize

// Conditions d'entrée
longCondition = (rsiValue < rsiOversold) and (close > ema20 or close > ema50 or close > ema200)
if longCondition
    strategy.entry("Long", strategy.long, qty=1)

// Conditions de sortie
exitCondition = (rsiValue > rsiOverbought) or (close < ema20 or close < ema50 or close < ema200)
if exitCondition
    strategy.close("Long")

// Affichage des EMA et RSI sur le graphique
plot(ema20, color=color.red)
plot(ema50, color=color.green)
plot(ema200, color=color.blue)
hline(rsiOverbought, "Niveau de Surachat RSI", color=color.red)
hline(rsiOversold, "Niveau de Survente RSI", color=color.blue)
plot(rsiValue, "RSI", color=color.purple)