
Die Strategie basiert auf dem StochRSI. Sie verwendet den StochRSI, um Überkauf und Überverkauf zu ermitteln. In Kombination mit dem RSI filtert die Strategie einige falsche Signale aus.
Die Strategie verwendet hauptsächlich den StochRSI, um überkaufte und überverkaufte Bereiche zu bestimmen. Der StochRSI besteht aus einer K-Linie und einer D-Linie, wobei die K-Linie die Position des aktuellen RSI-Wertes in der RSI-Preisspanne in der jüngsten Periode widerspiegelt. Die D-Linie ist der Moving Average der K-Linie.
Konkret berechnet die Strategie zunächst den Wert des RSI-Indikators mit einer Länge von 14, und wendet dann den StochRSI-Indikator auf den RSI-Indikator an. Die Parameter des StochRSI-Indikators sind mit einer Länge von 14 eingestellt, der Gleitzyklus K-Linie ist 3, und die D-Linie ist 3. Wenn die K-Linie die vom Benutzer eingestellte Überverkaufszone ((default 1) durchquert, macht sie mehr; Wenn die K-Linie die vom Benutzer eingestellte Überverkaufszone ((default 99) durchquert, macht sie leer.
Die Strategie setzt außerdem die Stop-Loss- und Stop-Stop-Parameter. Die Stop-Loss-Parameter sind standardmäßig 10000; die Stop-Stop-Parameter sind als Kurven-Trailing-Stops, die Standard-Trailing-Punkte sind 300 und die Verlagerung 0 eingestellt.
Für diese Risiken können längere Parameterzyklen eingestellt oder in Kombination mit anderen Indikatoren zur Filterung von Signalen in Betracht gezogen werden. Die Überkauf-Überverkauf-Parameter können für verschiedene Märkte angepasst werden, und verschiedene Stop-Loss-Stop-Parameter können getestet werden.
Die Strategie basiert auf dem StochRSI, um überkaufte und überverkaufte Bereiche zu bestimmen. Der StochRSI kombiniert die Ideen von KDJ, um die Wendepunkte genauer zu bestimmen als der einzelne RSI. Der StochRSI kombiniert auch das Falschsignal des RSI und setzt die Stop-Loss-Risiken ein.
/*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")