Quantitative Handelsstrategie auf Basis von RSI und MFI

Schriftsteller:ChaoZhang, Datum: 2024-01-29 10:11:14
Tags:

img

Übersicht

Diese Strategie kombiniert den Stochastic RSI und die MFI-Indikatoren, um überkaufte und überverkaufte Bedingungen zu identifizieren und Kauf- und Verkaufsentscheidungen zu treffen.

Strategieprinzip

Der Stochastic RSI-Indikator kombiniert die Vorteile des Stochastic Oscillators (KDJ) und des Relative Strength Index (RSI). Er berechnet zunächst die RSI-Werte über einen bestimmten Zeitraum über den RSI und wendet dann die Stochastic-Methode an, um die Stochastic K- und D-Werte dieses RSI-Arrays zu berechnen, um festzustellen, ob der RSI überkauft oder überverkauft ist.

Der Geldflussindex (MFI) beurteilt das Angebot nach Nachfrage und die Überkauf-/Überverkaufsbedingungen des Marktes anhand von Volumen- und Preisänderungen. Der Indikator glaubt, dass steigende Preise die bullischen Kräfte widerspiegeln, die stärker sind als die bärischen Kräfte.

Diese Strategie legt für den Stochastic RSI und den MFI Überkauf- und Überverkaufswerte fest. Wenn die K-Linie des Stochastic RSI-Indikators die Überkauflinie nach oben überschreitet oder der MFI-Indikator die Überkauflinie nach oben überschreitet, wird ein Kaufsignal generiert. Wenn die K-Linie des Stochastic RSI-Indikators die Überkauflinie nach unten überschreitet oder der MFI-Indikator die Überkauflinie nach unten überschreitet, wird ein Verkaufssignal generiert.

Vorteile der Strategie

Diese Strategie der Kombination von stochastischen RSI- und MFI-Indikatoren kann zuverlässiger zu überkauften/überverkauften Bedingungen auf dem Markt führen und fehlerhafte Signale verhindern.

Zunächst hat der Stochastic RSI-Indikator selbst eine höhere Zuverlässigkeit und Empfindlichkeit und kann überkaufte/überverkaufte Konditionen genauer beurteilen als der gewöhnliche Stochastic Oscillator.

Zweitens beurteilt der MFI-Indikator überkaufte/überverkaufte Verhältnisse aus der Perspektive von Volumen- und Preisänderungen und liefert eine Referenz aus einer anderen Dimension, um Fehler zu vermeiden, die durch eine einzige Perspektive verursacht werden.

Schließlich sind Stochastic RSI und MFI-Indikatoren komplementär. Stochastic RSI konzentriert sich mehr auf Preisänderungen selbst, um Marktbedingungen zu bestimmen, während MFI sich mehr auf Veränderungen im Volumen und Umsatz konzentriert. Die Kombination der beiden ermöglicht es, Marktbedingungen aus einer umfassenderen Perspektive zu beurteilen und genauere und zuverlässigere Handelsentscheidungen zu treffen.

Risiken der Strategie

Zu den wichtigsten Risiken dieser Strategie gehören:

  1. Das Risiko, dass Indikatoren falsche Signale erzeugen.Obwohl Stochastic RSI und MFI-Indikatoren beide eine hohe Zuverlässigkeit aufweisen, können sie in bestimmten Marktumgebungen immer noch falsche Kauf-/Verkaufssignale erzeugen, was zu Handelsverlusten führt.

  2. Das Risiko einer unsachgemäßen Einstellung der Parameter für überkaufte/überverkaufte Indikatoren. Die Parameterinstellungen der stochastischen RSI- und MFI-Indikatoren haben einen großen Einfluss auf die Handelssignale. Eine unsachgemäße Einstellung der Parameter schwächt den Nutzen der Indikatoren.

  3. Die Stochastische RSI und die MFI-Indikatoren weisen mehr oder weniger eine gewisse Verzögerung auf, die den besten Kauf-/Verkaufszeitpunkt verpassen kann.

  4. Das Risiko einer Konsolidierung während der Leerlaufzeiten: Wenn der Markt während der Leerlaufzeiten, in denen die Indikatoren keine Signale gesendet haben, seitlich konsolidiert, führt dies zu gewissen Opportunitätskosten.

Die Lösungen für die entsprechenden Risiken umfassen: Anpassung der Indikatorparameter, Einstellung von Stop Loss, Verringerung der Positionsgröße, Einbeziehung anderer Indikatoren usw.

Optimierungsrichtung der Strategie

Die Strategie kann in folgenden Aspekten optimiert werden:

  1. Einbeziehung von Dynamikindikatoren. Hinzufügen von Beurteilungsbedingungen auf der Grundlage von Dynamikindikatorsignalen zusätzlich zu den Stochastic RSI- und MFI-Indikatorsignalen, um den Handel während Konsolidierungsperioden zu vermeiden. Zum Beispiel Hinzufügen von Ausbruchskriterien für den Preis/Volumen-Schluss.

  2. Fügen Sie einen Stop-Loss-Mechanismus hinzu. Für langfristige Bestände fügen Sie einen beweglichen Stop-Loss hinzu. Für den kurzfristigen Handel setzen Sie Stop-Loss-Punkte, um einzelne Verluste zu kontrollieren.

  3. Optimierung der Parameter-Einstellungen Anpassung der Parameter des stochastischen RSI und der MFI wie Länge, Position der überkauften/überverkauften Linien usw., damit die Parameter-Einstellungen besser an die Marktbedingungen angepasst werden.

  4. Dynamische Anpassung der Strategien an die Marktbedingungen: Identifizierung von Trends und Konsolidierung von Märkten, Ausführung von Trend-folgende Strategien während Trends und Deaktivierung von Strategien während der Konsolidierung von Märkten, um unnötigen Handel zu vermeiden.

  5. Einbeziehung von Algorithmen des maschinellen Lernens zur automatischen Optimierung, Anwendung von Algorithmen des Verstärkungslernens zur dynamischen Anpassung von Parametern und Regeln auf der Grundlage von Backtest-Ergebnissen zur automatischen Optimierung von Strategien.


/*backtest
start: 2023-01-22 00:00:00
end: 2024-01-28 00:00:00
period: 1d
basePeriod: 1h
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/
// © carterac

//@version=5
strategy("MFI and Stoch RSI Bot", overlay=true)

// Stochastic RSI settings
length = input(14, title="Stochastic RSI Length")
smoothK = input(3, title="Stochastic RSI K")
smoothD = input(3, title="Stochastic RSI D")

// Stochastic RSI overbought and oversold levels
stochRSIOverbought = input(70, title="Stochastic RSI Overbought Level")
stochRSIOversold = input(20, title="Stochastic RSI Oversold Level")

// Money Flow Index (MFI) settings
mfiLength = input(14, title="MFI Length")
mfiOverbought = input(70, title="MFI Overbought Level")
mfiOversold = input(20, title="MFI Oversold Level")

// Calculate RSI
rsiValue = ta.rsi(close, 11)

// Calculate Stochastic RSI
rsiHigh = ta.highest(rsiValue, 11)
rsiLow = ta.lowest(rsiValue, 7)
k = ta.sma(100 * (rsiValue - rsiLow) / (rsiHigh - rsiLow), 3)
d = ta.sma(k, 3)

// Calculate MFI
mfiValue = ta.mfi(volume, mfiLength)

// Determine buy and sell signals
buyCondition = ta.crossover(k, stochRSIOversold) or ta.crossover(mfiValue, mfiOversold)
sellCondition = ta.crossunder(k, stochRSIOverbought) or ta.crossunder(mfiValue, mfiOverbought)

// Plotting signals
plotshape(buyCondition, location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(sellCondition, location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")

strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.entry("Sell", strategy.short, when = sellCondition)


Mehr