
RSI-инверсионная стратегия производит сигнал о покупке и продаже, рассчитывая RSI и скользящую среднюю для определения того, находятся ли акции в состоянии перекупа или перепродажи. Эта стратегия использует обратную характеристику RSI, чтобы получить прибыль, когда цена акций переворачивается.
Эта стратегия сначала вычисляет значение RSI на 14 циклов и проводит 0-100 формализацию. Затем вычисляет весомое движущееся среднее значение RSI на 5 циклов и затем отображает его на отметке от -1 до 1 с помощью функции обратного сечения. Когда отображенный RSI попадает на отметку от -0.8, он создает сигнал покупки, а попадая, он создает сигнал продажи.
Также в стратегии установлены диапазоны месяцев и дат, чтобы они работали только в указанные месяцы и даты.
Стратегия RSI-переворота просто и эффективно захватывает возможности для переворота цены путем построения правил обратной торговли RSI. Эта стратегия проста в реализации, но может быть оптимизирована с помощью оптимизации параметров, усиления механизмов управления риском и т. Д., что делает ее количественной стратегией торговли с стабильной прибылью.
/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="RSI Reverse", shorttitle="RSI Reverse")
RSI_main = input(14, title="RSI Main Period")
RSI_smooth = input(5, title="RSI Smooth Period")
//Functions
RVS(input) => (exp(2*input)-1) / (exp(2*input)+1)
//RSI Calculation
raw_RSI=0.1*(rsi(close,RSI_main)-50)
wma_RSI=wma(raw_RSI,RSI_smooth)
RVS_RSI = RVS(wma_RSI)
threshold1 = RVS_RSI < 0.8? 1 : 0
threshold2 = -0.8
plot(RVS_RSI,color=red)
plot(threshold1,color=blue)
plot(threshold2,color=blue)
buycon = crossover(RVS_RSI,threshold2)
sellcon = crossunder(RVS_RSI , threshold1)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
if ( buycon )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
else
strategy.cancel(id="BUY")
if ( sellcon)
strategy.close("BUY")