
Die Multi-Zeitrahmen-RSI-Strategie mit Zufallsindikatoren ist eine Strategie, bei der die Kombination von RSI und Zufallsindikatoren in mehreren Zeitrahmen verwendet wird, um überkauft und überverkauft zu sein. Die Strategie kombiniert gleichzeitig die RSI und Zufallsindikatoren in 4 Zeitrahmen und nutzt deren Mittelwerte, um die Gesamtmarktentwicklung und den Überkauf zu beurteilen, um die Vorteile der einzelnen Zeitrahmenindikatoren zu nutzen.
Der RSI ist ein starker Überkauf-Überverkauf-Indikator, der auf den Anstieg und Abstieg einer Aktie über einen bestimmten Zeitraum basiert. Der RSI-Wert schwankt zwischen 0 und 100. Im Allgemeinen ist der RSI größer als 70 überkauft und kleiner als 30 überverkauft.
Diese Strategie verwendet 14 RSI-Indikatoren und erhält RSI-Werte für 1 Monat, 1 Tag, 4 Stunden und 1 Stunde in 4 Zeiträumen.
Der Zufallsindikator %K ist ein Indikator, der zeigt, ob der Markt überkauft oder überverkauft ist, wobei der Wert zwischen 0 und 100 schwankt. Im Allgemeinen bedeutet ein Zufallsindikator, der größer als 80 ist, dass er überkauft ist, und kleiner als 20 ist, dass er überverkauft ist.
In dieser Strategie wird die Länge des zufälligen Indikators %K mit 14 und der Glatte mit 3 verwendet, um die Werte der oben genannten 4 Zeitrahmen zu erhalten.
Der Schlüssel zur Strategie besteht darin, die Mittelwerte der beiden oben genannten Indikatoren für die vier Zeiträume zu berechnen, um die Vorteile der einzelnen Zeiträume auszuschöpfen und die Gesamtmarktentwicklung zu beurteilen. Die spezifische Berechnungsformel lautet wie folgt:
RSI-Mittelwert = (RSI-Monatlinie + RSI-Taglinie + RSI 4 Stunden + RSI 1 Stunde) / 4
Durchschnitt der Zufallsmarkierungen = (Zufallsmarkierungen Mondlinie + Zufallsmarkierungen Sonnenlinie + Zufallsmarkierungen 4 Stunden + Zufallsmarkierungen 1 Stunde) / 4
Wenn der RSI-Durchschnitt kleiner als 30 und der Zufallsdurchschnitt kleiner als 20 ist, machen Sie mehr; wenn der RSI-Durchschnitt größer als 70 und der Zufallsdurchschnitt größer als 80 ist, machen Sie null.
Nach dem Überschreiten ist der Random-Indicator-Mittelwert größer als 70 und der RSI-Mittelwert größer als 50 und der Random-Indicator-Mittelwert kleiner als 30 und der RSI-Mittelwert kleiner als 50 ist der Negativposition.
Der größte Vorteil dieser Strategie liegt in der Kombination von zwei Indikatoren und mehreren Zeitfenstern, die die Zuverlässigkeit der Handelssignale erheblich verbessern und Falschsignale möglichst vermeiden. Die konkreten Vorteile sind:
RSI und Zufallsindikatoren bestätigen sich gegenseitig. Ein einzelner Indikator kann leicht zu falschen Signalen führen, während diese Strategie die Genauigkeit des Signals durch die Kombination der beiden Indikatoren verbessert.
Mehrzeitframe-Analysen können die Genauigkeit der Beurteilung verbessern. Zum Beispiel zeigen die Mond- und Sonnenlinie Überkäufe, aber 4 Stunden und 1 Stunde sind nicht vollständig überkauft, was darauf hindeutet, dass der Trend weitergehen kann. Wenn alle Zeiträume übereinstimmen, ist das Signal zuverlässiger.
Strukturelle Wendepunkte werden besser beurteilt. Wenn man über mehrere Zeiträume hinweg gleichzeitig wichtige Durchbrüche von Support/Resistance beobachtet, kann man erkennen, dass ein Trendwechsel stattfindet.
Die automatische Berechnung des Mittelwerts der Kennzahlen vereinfacht den Betrieb. Es ist keine manuelle Berechnung erforderlich, der Code erledigt automatisch die Datenextraktion, die Kennzahlen berechnet und gemittelt, wodurch der Arbeitsaufwand reduziert wird.
Das Hauptrisiko dieser Strategie besteht darin, dass die Wahrscheinlichkeit, dass sie getäuscht wird und falsche Signale erzeugt, wie bei allen Technischen Analyse-Strategien nicht vollständig vermieden werden kann. Die Hauptrisiken sind:
Kurzfristige Trendwende führen zu Abschwächungen. Zum Beispiel während der Mehrfachhaltung, wenn die kurze Kurslinie nach unten die Unterstützung überschreitet und wieder zurückschlägt. In diesem Fall ist ein sofortiger Stop-Loss erforderlich, aber es kann zu kurzfristigen Verlusten kommen.
Wenn die kritische Unterstützung oder Widerstandsposition ausfällt, kann der ursprüngliche Stop-Loss-Preis direkt durchbrochen werden, was zu einem größeren Verlust führt.
Eine falsche Einstellung des Zeitrahmens führt zu Fehlern bei der Beurteilung. Ein zu langes oder zu kurzes Zeitrahmen kann zu einer Fehleinschätzung des Indikators führen.
Die Differenzierung des Indikators führt zu dem Dunkirk-Effekt. Indikatoren in höheren Zeitrahmen zeigen Überkaufe, während Indikatoren in niedrigeren Zeitrahmen überverkaufte Indizes zeigen. Der Durchschnittsindikator spiegelt nicht die tatsächliche Situation wider.
Die Risikolösungen umfassen: Optimierung der Stop-Loss-Strategie, Verfolgung der dynamischen Unterstützungs- / Widerstandswerte, Anpassung der Zeitfensterparameter und Hinzufügung von Filtermechanismen.
In Anbetracht der oben genannten Risiken kann die Strategie in den folgenden Bereichen optimiert werden:
Optimierte Stop-Loss-Mechanismen, Tracking-Stops und Batch-Stops. Dies ermöglicht die Kontrolle des Einzelschädenrisikos, während die Gewinnsicherheit gewährleistet wird.
Ein höherer Zeitrahmen, wie z.B. Quartalszeilen, werden hinzugefügt. Dies ermöglicht die Verwendung von Trendfiltern auf einer größeren Ebene, um falsche Signale zu leiten. Wenn die Indikatoren nicht übereinstimmen, werden die höheren Zeitrahmen priorisiert.
Mehrfache Überprüfung der Transaktionsmenge. Kombinierte Transaktionsveränderungen, um die Abweichung von der Unterseite und der Oberseite zu beurteilen, um die Verfehlung durch Zombie-Bewegungen zu vermeiden.
Optimierung der Eintrittszeit. Sie können einen Durchbruch in der Nähe der wichtigen historischen Unterstützung/Widerstandslage erwarten oder auf den optimalen Rückruf warten.
Erhöhung der adaptive Stop loss. Die dynamische Stop loss kann berechnet und angepasst werden, basierend auf den jüngsten Schwankungen und ATR.
Die Multi-Zeitrahmen-RSI-Strategie mit Zufallsindikatoren ist eine klare und zuverlässige Handelsstrategie, die die Überkauf-Überverkauf-Bereiche des Marktes durch die Kombination von RSI-Indikatoren und Zufallsindikatoren auf mehreren Zeitrahmen beurteilt. Ihr größter Vorteil besteht darin, dass die Kombination von Indikatoren und Zeitrahmen sich gegenseitig verifiziert und das Risiko von Gefälschungen und Falschsignalen weitgehend vermeidet. Natürlich besteht auch das Risiko, dass ähnliche Technik-Analyse-Strategien weit verbreitet sind.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
////////////////////////////////////////// MTF Stochastic & RSI Strategy 🚥 ©️ bykzis /////////////////////////////////////////
//
// *** Inspired by "Binance CHOP Dashboard" from @Cazimiro and "RSI MTF Table" from @mobester16 *** and LOT OF COPY of Indicator-Jones MTF Scanner
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//@version=5
strategy('MTF RSI & STOCH Strategy🚥 by kzi', overlay=false,initial_capital=100, currency=currency.USD, commission_value=0.01, commission_type=strategy.commission.percent)
// Pair list
var string GRP1 = '══════════ General ══════════'
overbought = input.int(80, 'Overbought Level', minval=1, group=GRP1)
oversold = input.int(20, 'Oversold Level', minval=1, group=GRP1)
/// Timeframes
var string GRP2 = '══════════ Timeframes ══════════'
timeframe1 = input.timeframe(title="Timeframe 1", defval="W", group=GRP2)
timeframe2 = input.timeframe(title="Timeframe 2", defval="D", group=GRP2)
timeframe3 = input.timeframe(title="Timeframe 3", defval="240", group=GRP2)
timeframe4 = input.timeframe(title="Timeframe 4", defval="60", group=GRP2)
// RSI settings
var string GRP3 = '══════════ RSI settings ══════════'
rsiLength = input.int(14, minval=1, title='RSI length', group=GRP3)
rsiSource = input(close, 'RSI Source', group=GRP3)
rsioverbought = input.int(70, 'RSI Overbought Level', minval=1, group=GRP3)
rsioversold = input.int(30, 'RSI Oversold Level', minval=1, group=GRP3)
/// Get RSI values of each timeframe /////////////////////////////////////////////////////
rsi = ta.rsi(rsiSource, rsiLength)
callRSI(id,timeframe) =>
rsiValue = request.security(id, str.tostring(timeframe), rsi, gaps=barmerge.gaps_off)
rsiValue
RSI_TF1 = callRSI(syminfo.tickerid, timeframe1)
RSI_TF2 = callRSI(syminfo.tickerid, timeframe2)
RSI_TF3 = callRSI(syminfo.tickerid, timeframe3)
RSI_TF4 = callRSI(syminfo.tickerid, timeframe4)
/////// Calculate Averages /////////////////////////////////////////////////////////////////
calcAVG(valueTF1, valueTF2, valueTF3, valueTF4) =>
math.round((valueTF1 + valueTF2 + valueTF3 + valueTF4) / 4, 2)
AVG=calcAVG(RSI_TF1, RSI_TF2, RSI_TF3, RSI_TF4)
// Stochastic settings
var string GRP4 = '══════════ Stochastic settings ══════════'
periodK = input.int(14, '%K length', minval=1, group=GRP4)
smoothK = input.int(3, 'Smooth K', minval=1, group=GRP4)
stochSource = input(close, 'Stochastic Source', group=GRP4)
stochoverbought = input.int(70, 'Stochastic Overbought Level', minval=1, group=GRP4)
stochoversold = input.int(30, 'Stochastic Oversold Level', minval=1, group=GRP4)
/// Get Stochastic values of each timeframe ////////////////////////////////////////////////
stoch = ta.sma(ta.stoch(stochSource, high, low, periodK), smoothK)
getStochastic(id,timeframe) =>
stochValue = request.security(id, str.tostring(timeframe), stoch, gaps=barmerge.gaps_off)
stochValue
Stoch_TF1 = getStochastic(syminfo.tickerid, timeframe1)
Stoch_TF2 = getStochastic(syminfo.tickerid, timeframe2)
Stoch_TF3 = getStochastic(syminfo.tickerid, timeframe3)
Stoch_TF4 = getStochastic(syminfo.tickerid, timeframe4)
AVG_STOCH=calcAVG(Stoch_TF1, Stoch_TF2, Stoch_TF3, Stoch_TF4)
plot(AVG, color = color.blue, title='RSI')
plot(AVG_STOCH, color = color.yellow,title='STOCH')
hline(rsioverbought,color=color.red)
hline(rsioversold, color=color.lime)
hline(50, color=color.white)
//============ signal Generator ==================================//
if AVG <= rsioversold and AVG_STOCH <=stochoversold
strategy.entry('Buy_Long', strategy.long)
strategy.close("Buy_Long",when=(AVG_STOCH >=70 and AVG >=50 and close >=strategy.position_avg_price),comment="Long_OK")
if AVG >=rsioverbought and AVG_STOCH >=stochoverbought
strategy.entry('Buy_Short', strategy.short)
strategy.close("Buy_Short",when=(AVG_STOCH <=30 and AVG <=50 and close <=strategy.position_avg_price),comment="Short_OK")
///////////////////////////////////////////////////////////////////////////////////////////