
Эта стратегия, которая сочетает в себе динамическую поддержку/сопротивление и относительно сильный индикатор RSI, устанавливает, что RSI превышает диапазон перекупа и перепродажи, и при прорыве динамической поддержки/сопротивления определяет, входит ли RSI в зону перекупа и перепродажи, что приводит к сигналам покупки и продажи.
1. Динамическая позиция поддержки/сопротивления
Используйте функцию security, чтобы получить цену закрытия в качестве динамического уровня поддержки / сопротивления, и генерируйте торговый сигнал, когда цена прорывает этот динамический уровень.
2. RSI показатель
Вычислить средний рост и средний падение за определенный период и, сравнив их, сформировать значение RSI, чтобы определить, входим ли мы в зону перекупа или перепродажи.
3. Торговые сигналы
При прорыве цены в динамическую зону, если RSI не вошел в зону перекупа и перепродажи, создает сигнал покупки/продажи. Если он вошел, то игнорирует сигнал прорыва.
4. Сигнал выхода
Прямая позиция, когда цена возвращается к динамическому уровню, или Прямая позиция, когда RSI возвращается к нормальной зоне.
Используйте динамические позиции поддержки/сопротивления, чтобы определить направление тренда и повысить вероятность получения прибыли.
RSI отфильтровывает ложные прорывы, чтобы избежать нарушений.
В сочетании с тенденциями и показателями, применимыми к различным ситуациям.
Правила четкие и простые в применении.
Динамическая точка может иметь несколько прорывов, вызывающих ошибочные сигналы, а также соответствующее отступление от фильтрации прорыва.
Одиночный RSI может привести к ошибочным выводам, другие индикаторы могут быть введены для комбинированной фильтрации.
В шокирующих ситуациях может возникать частое открытие позиций, высокие затраты на торговлю, а также может быть целесообразно ослабить диапазон нормальных значений RSI и уменьшить частоту торгов.
Неправильная настройка параметров может привести к пропущенным или беспорядочным спискам, параметры должны быть разумно выбраны в зависимости от разных сортов.
Автоматическая оптимизация параметров RSI с использованием технологий машинного обучения.
Добавление стратегии стоп-стоп для блокировки прибыли и уменьшения убытков.
В дополнение к этим показателям используется комбинированная фильтрация, повышающая стабильность стратегии.
Повышение показателей волатильности и снижение позиций при низкой волатильности.
Оптимизация алгоритмов позиционирования, позволяющих динамически корректировать позиции в соответствии с различными рыночными условиями.
Эта стратегия, в сочетании с определением тенденций и фильтрацией индикаторов, позволяет эффективно идентифицировать ценовые сбои вблизи ключевых уровней и получать более высокую прибыль при условии контроля риска. Стабильность и адаптивность стратегии могут быть дополнительно повышены путем дальнейшей оптимизации параметров, увеличения стоп-стопов и введения большего количества индикаторов, что позволяет получать стабильную прибыль на более широком рынке.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy(title = "Noro's Levels+RSI Strategy v1.0", shorttitle = "Levels+RSI str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 3)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
tf = input('W', title = "timeframe 1")
src = input(ohlc4, "Source")
ap = input(true, defval = true, title = "antipila")
cf = input(true, defval = true, title = "color filter")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 100, title = "RSI Period")
rsilimit = input(30, defval = 30, minval = 1, maxval = 50, title = "RSI Limit")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
//Level
level = request.security(syminfo.tickerid, tf, src[1])
plot(level, linewidth = 3, color = silver)
//RSI
uprsi = rma(max(change(close), 0), rsiperiod)
dnrsi = rma(-min(change(close), 0), rsiperiod)
rsi = dnrsi == 0 ? 100 : uprsi == 0 ? 0 : 100 - (100 / (1 + uprsi / dnrsi))
//Level Signals
ls = close > level and ap == false ? true : low > level ? true : false
up1 = strategy.position_size == 0 and ls and (close < open or cf == false)
exit1 = close < level and ap == false ? true : high < level ? true : false
//RSI Signal
up2 = rsi < rsilimit and (close < open or cf == false)
exit2 = rsi > rsilimit and ls == false
//Trading
lot = strategy.position_size != strategy.position_size[1] ? strategy.equity / close * capital / 100 : lot[1]
if up1 or up2
strategy.entry("Long", strategy.long, needlong == false ? 0 : lot)
if (exit1 and rsi > rsilimit) or exit2
strategy.close_all()