Стратегия RSI с несколькими EMA

Автор:Чао Чжан, Дата: 14 сентября 2023 года 16:28:04
Тэги:

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

Эта стратегия сочетает в себе несколько скользящих средних с индексом RSI для сделок.

Логика такова:

  1. Расчет 4 EMA различных периодов, например 9, 26, 100 и 55 периодов

  2. Короткий сигнал запускается, когда 9-периодный EMA пересекает 26-периодный EMA.

  3. Активировать короткий только в том случае, если RSI ниже порогового значения (например, 40) для избежания перепроданного отскока

  4. После короткого входа, выход, когда цена пересекает 55 или 100 EMA

  5. Для оптимизации параметров можно установить различные комбинации EMA

Стратегия использует несколько EMA для тренда и добавляет RSI для подтверждения сигнала, идя коротко на уровнях перепроданности.

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

  • Многократные EMA повышают точность

  • RSI избегает риска перепродажи

  • Быстрее EMA для входа, медленнее для остановки потерь

Риски

  • Необходимо проведение обширных испытаний для поиска оптимальных параметров

  • Тщательная оценка параметров RSI

  • КОРТКОЕ только, так долго возможности упустили

Резюме

Эта стратегия сочетает в себе мощь нескольких EMA с подтверждением и фильтрацией RSI. Оптимизация параметров и стоп-лосс имеют решающее значение.


/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 3h
basePeriod: 15m
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/
// © YukalMoon

//@version=5
strategy(title="EMA SCALPEUR", overlay=true, initial_capital = 1000)


//// input controls

EMA_L = input.int (title = "EMA_L", defval = 9, minval = 1, maxval = 100, step =1)
EMA_L2 = input.int (title = "EMA_L2", defval = 26, minval = 1, maxval = 100, step =1)
EMA_S = input.int (title = "EMA_S", defval = 100, minval = 1, maxval = 100, step =1)
EMA_S2 = input.int (title = "EMA_S2", defval = 55, minval = 1, maxval = 100, step =1)
RSI1 = input.int (title = "RSI", defval = 5, minval = 1, maxval = 20 , step = 1)

/// mise en place de ema

RSI = ta.rsi(close, RSI1)

shortest = ta.ema(close, 9)
short = ta.ema(close, 26)
longer = ta.ema(close, 100)
longest = ta.ema(close, 55)

plot(shortest, color = color.red)
plot(short, color = color.orange)
plot(longer, color = color.aqua)
plot(longest, color = color.yellow)

plot(close)

//// trading indicators

EMA1 = ta.ema (close,EMA_L)
EMA2 = ta.ema (close,EMA_L2)
EMA3 = ta.ema (close, EMA_S)
EMA4 = ta.ema (close, EMA_S2)


//buy = ta.crossover(EMA1, EMA2) and RSI > 60 and RSI <70
sell = ta.crossunder(EMA1, EMA2) and RSI > 40

//buyexit = ta.crossunder(EMA3, EMA4)
sellexit = ta.crossover(EMA3, EMA4)

/////strategy


strategy.entry ("short", strategy.short, when = sell, comment = "ENTER-SHORT")


///// market exit


strategy.close ("short",  when = sellexit, comment = "EXIT-SHORT")













Больше