
Эта стратегия разработана на основе показателя StochRSI. Эта стратегия использует главным образом показатель StochRSI для определения перекупа и перепродажи, в сочетании с показателем RSI, чтобы отфильтровать некоторые ложные сигналы, сделать пустое, когда показатель StochRSI показывает зону перепродажи, сделать больше, когда показывает зону перепродажи, чтобы получить прибыль.
Эта стратегия основана на использовании показателя StochRSI для определения перепродажи на рынке. Показатель StochRSI состоит из K-линий и D-линий, где K-линия отражает значение текущего RSI в пределах ценового диапазона RSI за последний период, а D-линия представляет собой движущуюся среднюю K-линии.
В частности, стратегия сначала вычисляет значение RSI с длиной 14, затем на RSI применяется показатель StochRSI. Параметры показателя StochRSI установлены с длиной 14, упрощенный цикл K-линии 3, а также D-линия 3. Когда K-линия проходит через установленную пользователем зону перепродажи ((по умолчанию 1), делайте больше; когда K-линия проходит через установленную пользователем зону перепродажи ((по умолчанию 99), делайте пустое.
Кроме того, в стратегии также установлены параметры остановки и остановки. Параметр остановки по умолчанию 10000; остановка по умолчанию установлена как кривая trailing stop, с по умолчанию 300 послепроходными точками и 0 смещением.
Для этих рисков можно установить более длительный цикл параметров или рассмотреть возможность использования их в комбинации с другими индикаторами для фильтрации сигналов, адаптации параметров перекупа и перепродажи к различным рынкам, а также тестирования различных параметров остановки убытков.
Эта стратегия основана на показателях StochRSI для определения зоны перекупа и перепродажи. По сравнению с одним показателем RSI, StochRSI в сочетании с идеями KDJ позволяет более точно определять переломные моменты. При этом в сочетании с RSI фильтруют ложные сигналы и устанавливают риск контроля стоп-стоп.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version= 2
strategy("STOCHRSI JURE", overlay=false)
lengthrsi = input(10)
overSold = input( 1 )
overBought = input(99)
call_trail_stop = input(300)
call_trail_offset = input(0)
call_sl = input(10000)
price = ohlc4
vrsi = rsi(price, lengthrsi)
smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")
rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
plot( k, color=blue, linewidth=1, title="K")
plot( d, color=red, linewidth=1, title="D")
if (crossover(k, overSold) )
strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY")
strategy.exit("BUY EXIT", "BUY", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl)
if (crossunder(k, overBought) )
strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL")
strategy.exit("SELL EXIT", "SELL", trail_points=call_trail_stop, trail_offset=call_trail_offset, loss = call_sl)
//if ( ( crossover(k,d)) and ( (vrsi<overSold) or crossover(vrsi,overSold) ) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil)
// strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="BUY")
//else
// strategy.cancel(id="BUY")
//if ( ( crossunder(k,d) ) and ( (vrsi >overBought) or crossunder(vrsi,overBought) ) and year >= yearfrom and year <= yearuntil and month>=monthfrom and month <=monthuntil and dayofmonth>=dayfrom and dayofmonth < dayuntil )
// strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", oca_type=strategy.oca.cancel, comment="SELL")
//else
// strategy.cancel(id="SELL")