
Die Schwingungs-Hochspiel-RSI-Wechselstrategie ist eine quantitative Handelsstrategie für Kryptowährungen. Sie kombiniert den RSI mit dem ICHIMOKU-Indikator, um Hohlsignale bei Preisschwankungen zu identifizieren und einen Bottom-Bottom-Shoot zu erzielen. Sie ist für mittlere Langzeitspannen geeignet, wie 3-4 Stunden oder mehr.
Die Strategie basiert hauptsächlich auf folgenden Kennzahlen und Regeln:
ICHIMOKU-Index
RSI-Indikatoren
Eintrittsregeln
Mehrköpfiger Eintritt: Tenkan-Linie durch die Kijun-Linie (Goldkreuze) und Preisbruch der Senkou A&B-Linie, während der RSI über 50 liegt
Eintritt: Tenkan-Linie unterhalb der Kijun-Linie (Todeskreuzung) und Preis unter der Senkou A&B-Linie, während der RSI unter 50 liegt
Aus der Regel aussteigen
Im Gegensatz zum Eintrittssignal wird der Schaden sofort gestoppt und das Spielfeld verlassen
Die Strategie berücksichtigt mittlere und langfristige Trends, kurzfristige Liquidität und Überkauf-Überverkauf und nutzt die Chancen für eine Umkehrung in einem turbulenten Umfeld. Gleichzeitig gibt es Stop-Loss-Regeln, um große Verluste zu vermeiden.
1. Zusammenfassung von mehreren Indikatoren, um eine hohe Sicherheit zu gewährleisten
Die Strategie berücksichtigt gleichzeitig die Trends von Ichimoku und unterstützt die Resistenzbeurteilung, den Überkauf und Überverkauf des RSI sowie die Liquidität in Richtung der K-Linie, um die Zuverlässigkeit des Signals zu gewährleisten.
2. Für unsichere Zeiten geeignet, häufig profitabel
Die Strategie nutzt die Chancen einer Umkehrung in der turbulenten Situation und ermöglicht häufige Kauf- und Verkaufsprozesse, da die Kryptowährungsmärkte stark schwanken.
3. Vermeiden Sie Rückschläge, Risiken sind zu kontrollieren
Die Strategie berücksichtigt sowohl die mittelfristigen als auch die kurzfristigen Trends und vermeidet die Gefahr eines Sturzschlags, während die Stop-Loss-Risiken eingerichtet werden.
1. Möglicherweise fehlt ein Teil der Funktionsweise
Die Strategie basiert auf der Umkehrung, wobei die Strategie bei längeren Laufzeiten häufig Schwankungen bei den Geldschlägen verursacht.
2. Eine einzige Sorte, keine Differenzierung des Risikos
Die Strategie, nur eine Sorte zu handeln, ist nicht in der Lage, das systematische Risiko des Marktes zu verteilen.
3. Verlust bei extremen Verhaltensweisen
In extremen Situationen, wie zum Beispiel bei einem Sprung oder einer Leistungserstörung, kann die Strategie einen Stop-Loss auslösen und den Spieler zum Ausstieg zwingen.
1. Erhöhung der Stop-Loss-Strategie und Verringerung der Einmalverluste
Es ist möglich, einen mobilen Stop-Loss oder einen Rest-Prozent-Stop einzurichten, um Gewinne zu sperren und zu verhindern, dass sie auf Null fallen.
2. Verlagerung des Marktrisikos in Kombination mit der Korrelation der Aktienindizes
Es ist möglich, in den Sorten mit hoher Aktienindex-Korrektität nach Handelsmöglichkeiten zu suchen, um das systemische Risiko des Marktes zu verteilen.
3. Erhöhung der bedingten Filter und Verringerung der ungültigen Transaktionen
Filter für die Preis- und Umsatzschwankungen können eingestellt werden, um unwirksame Umkehrsignale zu vermeiden und die Gewinnwahrscheinlichkeit zu erhöhen.
Die Schwingungs-Mehrflügel-RSI-Wechselstrategie nutzt die ICHIMOKU- und die RSI-Indikatoren, um die Wendepunkte der Kryptowährung zu bestimmen. Sie ist für den Kauf und Verkauf von Kryptowährungen geeignet. Sie setzt gleichzeitig Stop-Loss-Regeln zur Risikokontrolle.
/*backtest
start: 2023-12-17 00:00:00
end: 2023-12-24 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99
//@version=4
strategy(title="Ichimoku + RSI Crypto trending strategy", overlay=true, initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, pyramiding=1 )
UseHAcandles = input(true, title="Use Heikin Ashi Candles in Algo Calculations")
//
// === /INPUTS ===
// === BASE FUNCTIONS ===
haClose = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, close) : close
haOpen = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, open) : open
haHigh = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, high) : high
haLow = UseHAcandles ? security(heikinashi(syminfo.tickerid), timeframe.period, low) : low
//Inputs
ts_bars = input(20, minval=1, title="Tenkan-Sen Bars")
ks_bars = input(50, minval=1, title="Kijun-Sen Bars")
ssb_bars = input(120, minval=1, title="Senkou-Span B Bars")
cs_offset = input(30, minval=1, title="Chikou-Span Offset")
ss_offset = input(30, minval=1, title="Senkou-Span Offset")
long_entry = input(true, title="Long Entry")
short_entry = input(true, title="Short Entry")
//Volatility
//vollength = input(defval=1, title="VolLength")
//voltarget = input(defval=0., type=input.float, step=0.1, title="Volatility Target")
//Difference = abs((haClose - haOpen)/((haClose + haOpen)/2) * 100)
//MovingAverage = sma(Difference, vollength)
//highvolatility = MovingAverage > voltarget
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
middle(len) => avg(lowest(len), highest(len))
// Ichimoku Components
tenkan = middle(ts_bars)
kijun = middle(ks_bars)
senkouA = avg(tenkan, kijun)
senkouB = middle(ssb_bars)
//RSI
change = change(haClose)
gain = change >= 0 ? change : 0.0
loss = change < 0 ? (-1) * change : 0.0
avgGain = rma(gain, 14)
avgLoss = rma(loss, 14)
rs = avgGain / avgLoss
rsi = 100 - (100 / (1 + rs))
ss_high = max(senkouA[ss_offset-1], senkouB[ss_offset-1])
ss_low = min(senkouA[ss_offset-1], senkouB[ss_offset-1])
// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
cs_cross_bull = mom(haClose, cs_offset-1) > 0
cs_cross_bear = mom(haClose, cs_offset-1) < 0
price_above_kumo = haClose > ss_high
price_below_kumo = haClose < ss_low
rsi_bullish = rsi > 50
rsi_bearish = rs < 50
bullish = tk_cross_bull and cs_cross_bull and price_above_kumo and rsi_bullish //and highvolatility
bearish = tk_cross_bear and cs_cross_bear and price_below_kumo and rsi_bearish //and highvolatility
strategy.entry("Long", strategy.long, when=bullish and long_entry and time_cond)
strategy.entry("Short", strategy.short, when=bearish and short_entry and time_cond)
strategy.close("Long", when=bearish and not short_entry and time_cond)
strategy.close("Short", when=bullish and not long_entry and time_cond)