
Die RSI-Channel-Differenz-Tracking-Strategie erzeugt Handelssignale, indem sie die Schwankungen des RSI-Indikators innerhalb des Depreciation-Kanals mit einem Preisbruch kombiniert. Die Strategie zielt darauf ab, schnelle Kauf- und Verkaufsausbrüche in den Kryptowährungsmärkten zu erfassen.
Der Hull Moving Average wird verwendet, um den RSI zu erzeugen, der nach dem Smoothing erzeugt wird. Der RSI umfasst den Schlusskurs, den Höchstkurs, den Mindestkurs und den Mittelwert.
Setzen Sie den RSI-Kanal auf 55-45. Wenn der RSI in den 55-45-Kanal geht, bedeutet dies, dass er in den Schwingungsbereich gelangt.
Wenn der Schlusskurs-RSI-Indikator von der Kanal-Online zurückfällt und der Schlusskurs unter dem Mittelwert liegt, zeigt dies, dass der Preis unter Druck steht; während der Mittelwert-RSI-Indikator zu diesem Zeitpunkt noch über der Kanalobergrenze liegt, zeigt dies, dass der Mittelwert-RSI-Indikator immer noch eine Kaufkraft hat, die der Logik entspricht, den Mittelwert-Breach zu verfolgen, und somit ein Kaufsignal erzeugt.
Wenn der RSI-Schlusskurs von der unteren Grenze des Kanals zurückschlägt und der Schlusskurs über dem Mittelwert liegt, zeigt dies eine Unterstützung des Preises; während der Mittelwert-RSI-Indikator zu diesem Zeitpunkt unter der unteren Grenze des Kanals liegt, was darauf hindeutet, dass der Mittelwert unter Druck steht und der Logik entspricht, den Durchbruch des Mittelwertes zu verfolgen, wodurch ein Verkaufssignal erzeugt wird.
Der RSI-Hoch- und der RSI-Tiefstpreis dienen zur zeitnahen Identifizierung von Fehlschlägen und schnellen Stopps.
Die Verwendung von Durchbruch der mittleren Preise, um die starke Richtung der mittleren Preise zu verfolgen, entspricht der Idee des Trend-Trackings.
Der RSI bewegt sich innerhalb des Abwertungskanals, um einen Ausgleich einzuleiten, wobei der Mittelwert die starke Richtung des Mittelwertes verfolgt, um nicht in Zwischenbewegungen gefangen zu sein.
Der RSI-Hoch- und der RSI-Tiefpreis dienen zur schnellen Identifizierung von Fehlsignalen, zum schnellen Stoppen von Verlusten und zur effektiven Kontrolle von Verlusten.
Die falsche Einstellung des RSI kann zu überempfindlich oder langsam werden.
Die Bedeutung eines Durchbruchs des Mittelwertes ist nicht immer zuverlässig, und der Mittelwert selbst kann in Schwankungen sein.
Der Kryptowährungsmarkt ist sehr volatil, und eine zu lockere Stop-Loss-Position kann zu einem Ausbau der Verluste führen.
Die Lösung:
Indikatoren wie die Brin-Band können eingeführt werden, um zu beurteilen, ob der Mittelwert nahe an der Auf- und Abwärtsbahn ist, was die Genauigkeit der Beurteilung der Richtung des Mittelwertbruchs erhöht.
Mit Hilfe von Deep-Learning-Modellen wie LSTM wird die zukünftige Entwicklung des Mittelwertes prognostiziert, um zu bestimmen, ob der Mittelwert in eine bestimmte Richtung erfolgreich durchbrechen kann.
Die Stop-Loss-Position wird in Echtzeit angepasst, je nachdem, wie stark der Markt schwankt. Zum Beispiel kann die Stop-Loss-Position bei erhöhter Schwankung entsprechend gestärkt werden; bei geringerer Schwankung kann die Stop-Loss-Position entsprechend gelockert werden.
Die RSI-Kanal-Defizit-Tracking-Strategie, die Handelssignale erzeugt, indem sie die Schwankungen des RSI-Indikators in den Kanälen verfolgt und mit dem Preisbruch kombiniert wird, ist darauf ausgerichtet, schnelle Kauf- und Verkaufsausbrüche im Kryptowährungsmarkt zu erfassen. Die Strategie kombiniert effektiv die Methoden der Trendverfolgung und der Abstandskennung, um immer noch bessere Geschäfte zu erzielen, wenn die Preisunterschiede kleiner werden. Die schnelle Stop-Loss-Mechanismen, die gleichzeitig für die Signale eingerichtet sind, ermöglichen die Kontrolle des Risikos der Strategie.
/*backtest
start: 2023-11-17 00:00:00
end: 2023-12-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Hull MA of RSI Strategy",overlay=false)
//+++++++++++++++++++++++++++++++
//++++++++++++ Setup ++++++++++++
//+++++++++++++++++++++++++++++++
// RSI
rsi1_tt="=== RSI ==="
rsi1_len=input(13,title="Period",inline="set",group=rsi1_tt)
//Mid
mid_tt="=== Mid Channel ==="
upper=input(55.0,title="Upper",inline="set",group=mid_tt)
lower=input(45.0,title="Lower",inline="set",group=mid_tt)
//Over
over_tt="=== Over ==="
ovb=input(70.0,title="Overbought",inline="set",group=over_tt)
ovs=input(30.0,title="Oversold",inline="set",group=over_tt)
//++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Hull MA of RSI ++++++++++++
//++++++++++++++++++++++++++++++++++++++++
hma_tt="=== Hull MA ==="
hma_len=input(3,title="Period",inline="set",group=hma_tt)
rsi_c=hma(rsi(close,rsi1_len),hma_len)
rsi_h=hma(rsi(high,rsi1_len),hma_len)
rsi_l=hma(rsi(low,rsi1_len),hma_len)
rsi_hl2=hma(rsi(hl2,rsi1_len),hma_len)
//++++++++++++++++++++++++++++++++
//++++++++++++ Signal ++++++++++++
//++++++++++++++++++++++++++++++++
var order_status="None"
BuySignal=
crossunder(rsi_c,ovb)
and
close<hl2
and
rsi_hl2>ovb
and
order_status=="None"
CloseBuy=
order_status[1]=="Long"
and
(crossover(rsi_c,ovb)
or
crossunder(rsi_l,upper))
SellSignal=
crossover(rsi_c,ovs)
and
close>hl2
and
rsi_hl2<ovs
and
order_status=="None"
CloseSell=
order_status[1]=="Short"
and
(crossunder(rsi_c,ovs)
or
crossover(rsi_h,lower))
ExitSignal=
CloseBuy
or
CloseSell
if BuySignal
order_status:="Long"
if SellSignal
order_status:="Short"
if ExitSignal
order_status:="None"
//+++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Line ++++++++++++
//+++++++++++++++++++++++++++++++++++
rsi_c_col=
rsi_c>upper?color.new(color.blue,0):
rsi_c<lower?color.new(color.blue,0):
color.new(color.orange,0)
rsi_h_col=
rsi_h>upper?color.new(color.green,0):
rsi_h<lower?color.new(color.green,0):
color.new(color.orange,0)
rsi_l_col=
rsi_l>upper?color.new(color.yellow,0):
rsi_l<lower?color.new(color.yellow,0):
color.new(color.orange,0)
rsi_hl2_col=
rsi_hl2>upper?color.new(color.olive,0):
rsi_hl2<lower?color.new(color.olive,0):
color.new(color.orange,0)
plot(rsi_c,title="RSI Close",color=rsi_c_col,linewidth=2)
plot(rsi_h,title="RSI High",color=rsi_h_col,linewidth=1)
plot(rsi_l,title="RSI Low",color=rsi_l_col,linewidth=1)
plot(rsi_hl2,title="RSI HL2",color=rsi_hl2_col,linewidth=1)
upper_line=hline(upper,title="Upper",color=color.new(color.black,100))
lower_line=hline(lower,title="Lower",color=color.new(color.black,100))
fill(upper_line,lower_line,title="Mid Channel",color=color.silver)
ovb_line=hline(ovb,title="Overbought",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)
ovs_line=hline(ovs,title="Oversold",color=color.new(color.silver,0),linestyle=hline.style_solid,linewidth=2)
//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++ Plot Analyzing Signals ++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
//Color
buy_col=
BuySignal?color.new(color.blue,70):na
sell_col=
SellSignal?color.new(color.red,70):na
close_buy_col=
CloseBuy and order_status[1]=="Long"?color.new(color.yellow,70):na
close_sell_col=
CloseSell and order_status[1]=="Short"?color.new(color.yellow,70):na
//Background
bgcolor(close_buy_col, title='Close Buy', offset=0)
bgcolor(close_sell_col, title='Close Sell', offset=0)
bgcolor(sell_col, title='Sell', offset=0)
bgcolor(buy_col, title='Buy', offset=0)
//++++++++++++++++++++++++++++++++++
//++++++++++++ Backtest ++++++++++++
//++++++++++++++++++++++++++++++++++
strategy.entry("Long",strategy.long,when=BuySignal)
strategy.close("Long",when=CloseBuy)
strategy.entry("Short",strategy.short,when=SellSignal)
strategy.close("Short",when=CloseSell)
//EOF