Эта стратегия называется
Основным показателем этой стратегии является индекс относительной силы (RSI). Индикатор RSI сравнивает среднее увеличение и уменьшение за определенный период времени, чтобы определить, является ли текущая цена ценных бумаг переоцененной или недооцененной. Его формула расчета:
RSI = 100 - 100 / (1 + Вверх / Вниз)
где UP - средняя амплитуда роста цены закрытия за последние n дней; DOWN - средняя амплитуда падения цены закрытия за последние n дней. Индекс колеблется между интервалами 0-100. Выше 70 - это зона перекупленности, а ниже 30 - зона перепроданности.
Эта стратегия устанавливает параметр RSI Length=14 для расчета RSI на основе 14-дневных цен закрытия. И устанавливает линию перепроданности Rsvalue=40, то есть RSI ниже 40 определяется как перепроданный. Когда RSI дня ниже 40, открывается окно покупки, и позиции постепенно формируются в зоне перепроданности, и окончательное время закрытия устанавливается для распродажи после превышения времени закрытия.
Наибольшее преимущество этой стратегии заключается в том, что с помощью индикатора RSI для определения сроков развития рынка осуществляется захват низких цен. Когда RSI ниже 40, это перепроданное состояние, что означает, что предыдущее падение было слишком большим и есть шанс на отскок. В это время постепенно создавайте позицию, чтобы получить лучшую стоимость. Когда RSI выше 70, это в перекупленном состоянии, что означает, что рынок может достичь пика и позиции могут быть уменьшены.
Кроме того, стратегия использует постепенный подход к формированию позиций для снижения риска единого входа.
Эта стратегия в основном опирается на технический индикатор RSI, который имеет некоторое отставание. Особенно когда рынок внезапно меняется, RSI может не быть в состоянии вовремя реагировать. В это время слепое следование индикатору RSI для построения позиции может привести к ограниченной прибыли или увеличению потерь.
Кроме того, стратегия обеспечивает вероятностные торговые сигналы. Даже если RSI ниже 40, это не означает, что есть 100% шанс на отскок. Существует также вероятность того, что цена достигнет нового минимума после построения позиции.
Стратегия может быть оптимизирована в следующих областях:
Объединяйте несколько акций для торговли портфелем.
Добавьте стратегию стоп-лосса для дальнейшего контроля рисков. Например, добавьте стоп-лосс для остановки выхода, когда цены продолжают падать.
Оптимизировать стратегию формирования позиций, например, использовать средневзвешенную по времени цену для постепенного формирования позиций в интервале, а не полного формирования позиций.
Комбинировать с другими индикаторами для фильтрации сигналов, таких как индикаторы импульса, скользящие средние и т. д., чтобы избежать слепого следования за RSI.
Эта стратегия определяет перекупленные и перепроданные области путем построения индикатора RSI, постепенно устанавливает длинные позиции в перепроданной области и устанавливает окончательное время закрытия для достижения долгосрочного держания. По сравнению с краткосрочной торговлей, эта стратегия более подходит в качестве долгосрочного количественного инвестиционного инструмента. Ее преимущества заключаются в захвате низких цен и контроле затрат, в то время как риски заключаются в задержке индикатора и ошибочном направлении сигнала.
/*backtest start: 2024-01-28 00:00:00 end: 2024-02-04 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Relative Strength Index", shorttitle="RSI") len = input(14, minval=1, title="Length") src = input(close, "Source", type = input.source) up = rma(max(change(src), 0), len) down = rma(-min(change(src), 0), len) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) plot(rsi, "RSI", color=#8E1599) band1 = hline(70, "Upper Band", color=#C0C0C0) band0 = hline(30, "Lower Band", color=#C0C0C0) fill(band1, band0, color=#9915FF, title="Background") Rsvalue = input(defval = 40, title = "RSvalue", minval = 20, maxval = 75) FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2015, title = "From Year", minval = 999) ToMonth = input(defval = 3, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 2022, title = "To Year", minval = 999) start = timestamp(FromYear, FromMonth, FromDay, 00, 00) finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) booking = timestamp(ToYear, ToMonth, ToDay, 23, 59) window() => time >= start and time <= finish ? true : false endtrade() => time >= booking ? true : false longCondition = rsi< Rsvalue if (longCondition) strategy.entry("BUY", strategy.long) strategy.close("BUY")