Стратегия RSI и сглаженного RSI, бычья модель


Дата создания: 2024-03-01 12:11:58 Последнее изменение: 2024-03-01 12:11:58
Копировать: 0 Количество просмотров: 739
1
Подписаться
1617
Подписчики

Стратегия RSI и сглаженного RSI, бычья модель

Обзор

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

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

  1. Рассчитайте RSI с параметром 14-дневная линия.
  2. Расчет RSI для сглаживания с помощью двойного WMA.
  3. Если RSI ниже 30, то это перепродажа.
  4. Если RSI ниже 35, то он имеет более сильную направленность.
  5. Определить, является ли минимальная точка RSI ниже 25.
  6. Рассчитывать RSI, то есть искать ситуации, когда RSI является низким, а цена не является низкой.
  7. Для вычисления ровного цикла падения RSI требуется 3 дня.
  8. Когда все вышеперечисленные условия выполняются, генерируется сигнал покупки.
  9. Установка условий остановки и остановки.

Эта стратегия основана на обратном характере RSI, в сочетании с упрощением RSI, чтобы купить, когда RSI перепродает, когда цена находится под давлением.

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

  1. Комбинация двух RSI повышает эффективность стратегии.
  2. Используя обратную характеристику RSI, есть определенное преимущество в вероятности.
  3. Гладкий RSI помогает избежать ложного обратного тренда.
  4. Полная логика сдерживания убытков ограничивает риск.

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

  1. Вероятность того, что RSI перевернется, неизбежна.
  2. Слишком низкий RSI может привести к упущению наилучшего момента для покупки.
  3. Стоп-стоп может быть слишком мягким, чтобы увеличить убытки.

Можно оптимизировать время покупки путем корректировки параметров RSI. Уменьшить стоп-диапазон и ускорить стоп-скорость. В сочетании с другими показателями оценить риск тренда и снизить вероятность ложного разворота.

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

  1. Можно проверить эффективность RSI при различных параметрах.
  2. Оптимизация методов расчета RSI для улучшения качества smoothing.
  3. Настройка стоп-стоп-стоп, чтобы найти оптимальное соотношение риска и прибыли
  4. Повышение эффективности таких показателей, как оценка потенциала, чтобы избежать недостаточного потенциала.

Повышение эффективности стратегии торговли может быть достигнуто путем корректировки параметров и комбинирования большего количества показателей.

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

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

Исходный код стратегии
/*backtest
start: 2024-01-30 00:00:00
end: 2024-02-29 00:00:00
period: 1m
basePeriod: 1m
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/
// © BigBitsIO

//@version=4
strategy(title="RSI and Smoothed RSI Bull Div Strategy [BigBitsIO]", shorttitle="RSI and Smoothed RSI Bull Div Strategy [BigBitsIO]", overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=.1, slippage=0)


TakeProfitPercent = input(3, title="Take Profit %", type=input.float, step=.25)
StopLossPercent = input(1.75, title="Stop Loss %", type=input.float, step=.25)

RSICurve = input(14, title="RSI Lookback Period", type=input.integer, step=1)
BuyBelowTargetPercent = input(0, title="Buy Below Lowest Low In RSI Divergence Lookback Target %", type=input.float, step=.05)
BuyBelowTargetSource = input(close, title="Source of Buy Below Target Price", type=input.source)
SRSICurve = input(10, title="Smoothed RSI Lookback Period", type=input.integer, step=1)
RSICurrentlyBelow = input(30, title="RSI Currently Below", type=input.integer, step=1)
RSIDivergenceLookback = input(25, title="RSI Divergence Lookback Period", type=input.integer, step=1)
RSILowestInDivergenceLookbackCurrentlyBelow  = input(25, title="RSI Lowest In Divergence Lookback Currently Below", type=input.integer, step=1)
RSISellAbove = input(65, title="RSI Sell Above", type=input.integer, step=1)
MinimumSRSIDownTrend = input(3, title="Minimum SRSI Downtrend Length", type=input.integer, step=1)
SRSICurrentlyBelow = input(35, title="Smoothed RSI Currently Below", type=input.integer, step=1)

PlotTarget = input(false, title="Plot Target")


RSI = rsi(close, RSICurve)
SRSI = wma(2*wma(RSI, SRSICurve/2)-wma(RSI, SRSICurve), round(sqrt(SRSICurve))) // Hull moving average

SRSITrendDownLength = 0
if (SRSI < SRSI[1])
    SRSITrendDownLength := SRSITrendDownLength[1] + 1

// Strategy Specific
ProfitTarget = (close * (TakeProfitPercent / 100)) / syminfo.mintick
LossTarget = (close * (StopLossPercent / 100)) / syminfo.mintick
BuyBelowTarget = BuyBelowTargetSource[(lowestbars(RSI, RSIDivergenceLookback)*-1)] - (BuyBelowTargetSource[(lowestbars(RSI, RSIDivergenceLookback)*-1)] * (BuyBelowTargetPercent / 100))

plot(PlotTarget ? BuyBelowTarget : na)



bool IsABuy = RSI < RSICurrentlyBelow and SRSI < SRSICurrentlyBelow and lowest(SRSI, RSIDivergenceLookback) < RSILowestInDivergenceLookbackCurrentlyBelow and BuyBelowTargetSource < BuyBelowTarget and SRSITrendDownLength >= MinimumSRSIDownTrend and RSI > lowest(RSI, RSIDivergenceLookback)
bool IsASell = RSI > RSISellAbove

if IsABuy
    strategy.entry("Positive Trend", true) // buy by market
    strategy.exit("Take Profit or Stop Loss", "Positive Trend", profit = ProfitTarget, loss = LossTarget)
if IsASell
    strategy.close("Positive Trend")