Diese Strategie ist ein automatisiertes Handelssystem, das auf dem Money Flow Index (MFI) basiert und hauptsächlich darauf ausgelegt ist, potenzielle Umkehrchancen zu erfassen, indem das Verhalten von Vermögenswerten in Überverkaufszonen identifiziert wird.
Die Strategie beruht auf folgenden Schlüsselschritten: 1. Überwacht kontinuierlich die Wertänderungen der MFI und markiert den Eintritt in die Überverkaufszone, wenn die MFI unter den vorgegebenen Schwellenwert fällt (Standard 20). 2. Wenn die MFI über die Schwelle aus der Überverkaufszone zurückschlägt, platziert das System eine Kauflimit-Order unter dem aktuellen Preis, wobei der spezifische Preis durch einen vom Benutzer definierten Prozentsatz bestimmt wird. 3. Das System überwacht die Gültigkeitsdauer der Limitorder und annulliert sie automatisch, wenn sie nicht innerhalb der vorgegebenen Beobachtungsdauer ausgefüllt wird (Standard 5 Kerzen). 4. Sobald die Bestellung ausgefüllt ist, setzt das System sofort Stop-Loss- und Gewinnziele, berechnet auf der Grundlage von Einstiegspreisprozentsätzen. 5. Trades werden automatisch geschlossen, wenn entweder das Stop-Loss- oder das Gewinnziel erreicht wird.
Dies ist eine gut konzipierte, logisch klare automatisierte Handelsstrategie. Durch den flexiblen Einsatz des MFI-Indikators, kombiniert mit umfassenden Ordermanagementmechanismen, erfasst sie effektiv Marktwiederholungen nach Überverkaufszuständen. Die hohe Konfigurationsfähigkeit der Strategie erleichtert die Optimierung für verschiedene Marktumgebungen. Während bestimmte Risiken bestehen, können sie durch die vorgeschlagenen Optimierungsrichtungen angegangen werden, um die Strategie-Stabilität und Rentabilität weiter zu verbessern. Geeignet für mittelfristige bis langfristige Investitionen, insbesondere für Anleger, die Überverkaufsmöglichkeiten in schwankenden Märkten suchen.
/*backtest start: 2024-11-04 00:00:00 end: 2024-12-04 00:00:00 period: 3h basePeriod: 3h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © traderhub //@version=5 strategy("MFI Strategy with Oversold Zone Exit and Averaging", overlay=true) // Strategy parameters mfiPeriod = input.int(title="MFI Period", defval=14) // Period for calculating MFI mfiOS = input.float(title="MFI Oversold Level", defval=20.0) // Oversold level for MFI longEntryPercentage = input.float(title="Long Entry Percentage (%)", minval=0.0, step=0.1, defval=0.1) // Percentage for the buy limit order stopLossPercentage = input.float(title="Stop Loss Percentage (%)", minval=0.0, step=0.1, defval=1.0) // Percentage for the stop-loss exitGainPercentage = input.float(title="Exit Gain Percentage (%)", minval=0.0, step=0.1, defval=1.0) // Percentage gain for the take-profit cancelAfterBars = input.int(title="Cancel Order After # Bars", minval=1, defval=5) // Cancel order after a certain number of bars // Calculate MFI mfi = ta.mfi(close, mfiPeriod) // MFI with specified period // Variables for tracking state var bool inOversoldZone = false // Flag for being in the oversold zone var float longEntryPrice = na // Price for long entry var int barsSinceEntryOrder = na // Counter for bars after placing an order // Define being in the oversold zone if (mfi < mfiOS) inOversoldZone := true // Entered oversold zone // Condition for exiting the oversold zone and placing a limit order if (inOversoldZone and mfi > mfiOS) inOversoldZone := false // Leaving the oversold zone longEntryPrice := close * (1 - longEntryPercentage / 100) // Calculate limit price for entry strategy.entry("Long Entry", strategy.long, limit=longEntryPrice) // Place a limit order barsSinceEntryOrder := 0 // Reset counter for bars after placing the order // Increase the bar counter if the order has not yet been filled if (not na(barsSinceEntryOrder)) barsSinceEntryOrder += 1 // Cancel order if it hasn’t been filled within the specified number of bars if (not na(barsSinceEntryOrder) and barsSinceEntryOrder >= cancelAfterBars and strategy.position_size == 0) strategy.cancel("Long Entry") barsSinceEntryOrder := na // Reset bar counter // Set stop-loss and take-profit for filled positions if (strategy.position_size > 0) stopLossPrice = longEntryPrice * (1 - stopLossPercentage / 100) // Calculate stop-loss level takeProfitPrice = longEntryPrice * (1 + exitGainPercentage / 100) // Calculate take-profit level strategy.exit("Exit Long", from_entry="Long Entry", limit=takeProfitPrice, stop=stopLossPrice) // Visualize oversold and overbought zones bgcolor(mfi < mfiOS ? color.new(color.green, 90) : na) // Background in oversold zone plot(mfi, title="MFI", color=color.blue) // MFI plot hline(mfiOS, "Oversold Level", color=color.red) // Oversold level line