
Reverse Fisher RSI Average Real Range Multiple Time Frame Strategy - это количественная торговая стратегия, которая пытается обнаружить возможные рыночные переломные моменты, рассчитывая скорректированный RSI Moving Average на более высоких временных рамках.
Сначала стратегия рассчитывает общий показатель RSI с параметром RSI_pm представляет собой длительность цикла RSI. Затем первоначальный RSI реверсифицируется с помощью математической функции IF, которая вычисляется по формуле IF ((input) => ((exp)) 2*input)-1)/(exp(2*input) + 1) ◦ скорректированный RSI передается в переменную IF_RSI。
Для того, чтобы отфильтровать избыточный шум, используйте IF._RSI и рассчитать его в RSI_ps - циклическая скользящая средняя, получаемая в конечном итоге в качестве индикатора, используемого для определения точек купли-продажи wma_RSI. Этот показатель отображается в диапазоне от 0 до 100.
Наконец, стратегия рисует показатель на более высокой временной рамке и устанавливает пороговую линию 0.8 и -0.8. Когда показательная линия снизу вверх превышает уровень 0.8, это создает сигнал покупки; Когда показательная линия снизу вниз превышает уровень -0.8, это создает сигнал продажи.
Эта стратегия обрабатывает движение RSI с помощью двойного сглаживания, что позволяет эффективно отфильтровывать избыточный шум и блокировать более четкий обратный сигнал. Двойное сглаживание применяется к первоначальному RSI и RSI после корректировки абсолютных значений соответственно. Этот метод может усилить среднерегулируемую характеристику индикатора и создать более надежный торговый сигнал.
Кроме того, стратегия использует методы анализа с использованием нескольких временных рамок, чтобы идентифицировать прорывы в показателях на более высоком уровне временных рамок, чтобы блокировать возможности для обратного отсчета на длинных линиях и избежать помех от чрезмерного шума на краткосрочных рынках.
Стратегия опирается на показатель равновесия, чтобы определить точку купли-продажи, существует определенная задержка. В долгосрочном бычьем рынке, после корректировки показателя может быть ограничено пространство для движения вверх, что не позволяет полностью захватить возможности тренда.
С другой стороны, корректировка показателя может также пропустить возможность отскока после корректировки короткой линии. Если параметры показателя не будут должным образом оптимизированы, то может возникнуть определенный стратегический риск.
Можно попытаться соответствующим образом скорректировать параметры индикатора, чтобы они лучше соответствовали рыночной среде. Например, можно проверить различные циклы расчета RSI, сгладить параметры циклов, найти оптимальную комбинацию параметров.
Также можно рассмотреть возможность использования в сочетании с другими вспомогательными показателями для проверки сигнала и повышения стабильности стратегии. Например, можно добавить показатели объема сделок, линию Бринна и т. Д.
Обратная рыночная стратегия RSI в среднем с реальным диапазоном в течение нескольких временных рамок, в целом более устойчивая, но все же требует оптимизации для более широких рыночных условий. Она заслуживает дальнейшего тестирования и улучшения, чтобы стать надежной стратегией количественного трейдинга.
/*backtest
start: 2022-11-14 00:00:00
end: 2023-11-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title = "Inverse Fisher RSI-MTF2", shorttitle="INRSIM2",overlay=true)
//Inputs
RSI_pm = input(5, title="RSI Main Period",minval=2)
RSI_ps = input(1, title="RSI Smooth Period",minval=0)
//Functions
IF(input)=>(exp(2*input)-1)/(exp(2*input)+1)
//RSI Calculation
raw_RSI=0.1*(rsi(close,RSI_pm)-50)
wma_RSI=wma(raw_RSI,RSI_ps)*100
IF_RSI = IF(wma_RSI)
resCustom = input(title="Timeframe", defval="1440" )
v=request.security(syminfo.tickerid, resCustom,IF_RSI)
a=v>0.8
b=v<-0.8
z=0.8
buy = crossover(v,z)
sell=crossunder(v,b)
plotshape(sell, title="sell", style=shape.triangledown,location=location.abovebar, color=red, transp=0, size=size.small)
plotshape(buy, title="buy", style=shape.triangleup,location=location.belowbar, color=green, transp=0, size=size.small)
//Strategy
golong = crossover(v,z)
goshort = crossunder(v,b)
strategy.entry("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)