
Diese Strategie ist ein Handelssystem, das auf der Inverted Fair Value Gap (IFVG) basiert, kombiniert mit einer Trendbestätigung und einem dynamischen Stop-Loss-Mechanismus. Die Strategie identifiziert zunächst Fair Value Gaps (FVG) im Markt, sucht dann nach Umkehrsignalen für diese Lücken und bestätigt den Gesamtmarkttrend mit einem einfachen Moving Average (SMA) und endet mit einem dynamischen Stop-Loss-System, um das Risiko zu optimieren.
Im Zentrum der Strategie steht die Identifizierung und Nutzung von Fair Value Gaps (FVG) zur Umkehrung. Die Strategieprinzipien lassen sich in die folgenden Schlüsselschritte unterteilen:
FVG-ErkennungDie Strategie erkennt zunächst die Fair Value Gaps, also die Preisgebiete, die entstehen, wenn der niedrigste Preis einer K-Linie höher ist als der höchste Preis der vorherigen K-Linie (bullish FVG) oder wenn der höchste Preis einer K-Linie niedriger ist als der niedrigste Preis der vorherigen K-Linie (bullish FVG). Diese Bereiche stellen die Preise dar, die nicht gehandelt werden, wenn sich der Markt schnell bewegt.
IFVG bestätigtWenn der Preis in die FVG-Region zurückkehrt und ein Umkehrsignal auftritt, entsteht eine umgekehrte Fair Value Gap (IFVG). Insbesondere wird der IFVG bestätigt, wenn der Preis höher ist als der Höchstwert des bärischen FVG und der Schlusskurs höher ist als der Schlusskurs, oder wenn der Preis niedriger ist als der niedrigste Punkt des bärischen FVG und der Schlusskurs niedriger ist als der Schlusskurs.
Trends bestätigtDie Strategie verwendet einen einfachen Moving Average (SMA) mit 50 und 200 Zyklen, um einen Markttrend zu bestimmen. Bestätigt einen Aufwärtstrend, wenn der kurzfristige SMA (SMA) mit 50 Zyklen höher ist als der langfristige SMA (SMA) mit 200 Zyklen.
Zulassungsvoraussetzungen:
Risikomanagement:
MehrfachbestätigungDie Strategie kombiniert die Preistruktur (IFVG), die Trendrichtung (SMA) und das dynamische Risikomanagement (ATR) zu einem mehrschichtigen Filtersystem, das die Falschsignale signifikant reduziert.
Marktstrukturen vorangetriebenDurch die Identifizierung von FVG und IFVG ist es der Strategie möglich, Veränderungen in der Marktmikrostruktur zu erfassen, die häufig auf Ungleichgewichte und mögliche Richtungschancen für kurzfristige Kauf- und Verkaufskräfte hindeuten.
Konsistenz der TrendsDie Strategie tritt nur in die Richtung des Trends ein und vermeidet das hohe Risiko eines Abwärtstrades.
Dynamische RisikomanagementDie Strategie setzt nicht nur feste Stop-and-Stop-Levels, sondern auch ATR-basierte, dynamische Tracking-Stops, mit denen die Schutzniveaus an die Marktvolatilität angepasst werden können.
GewinnschutzDer Stop-Loss bewegt sich automatisch über die Sicherungsposition, wenn der Handel die Hälfte des angestrebten Gewinns erreicht hat, um sicherzustellen, dass der Handel nicht von Gewinn zu Verlust geht.
Flexibilität des ZeitrahmensTrotz der Tatsache, dass die Rückmessungen auf 1-Minuten-Perioden durchgeführt werden, kann die Kernlogik der Strategie (FVG, Trendbestätigung und dynamische Stopps) auf mehrere Zeiträume angewendet werden.
Zuverlässigkeit der FVGDie Lösung besteht darin, zusätzliche Filterbedingungen hinzuzufügen, wie z. B. die Anforderung, dass die FVG eine minimale Breite haben oder in der Nähe eines kritischen Preisniveaus gebildet werden.
Trends definieren die GrenzenDie Lösung besteht darin, zusätzliche Trendbestätigungsindikatoren, wie den ADX, zur Messung der Trendstärke hinzuzufügen.
Das Risiko ist zu gering.Die Lösung besteht darin, die Stop-Loss-Einstellungen mit dem ATR zu verknüpfen, um sie an die Schwankungen verschiedener Sorten anzupassen.
Unzureichende RückzugshaltungDie Lösung besteht darin, die maximal akzeptable Rücknahmegrenze festzulegen, die überschritten wird, um sofort auszusteigen.
ParameterempfindlichkeitStrategie-Performance: Strategie-Performance ist hochsensibel für Parameter wie SMA-Zyklen, Stop-Loss-Ratio und ATR-Multiplikatoren. Die Lösung besteht darin, eine solide Kombination von Parametern durch Rücklaufoptimierung zu finden und regelmäßig neu zu bewerten.
Integration von mehreren ZeitrahmenDie Einbeziehung von FVG- und Trendinformationen für höhere Zeiträume in die Entscheidungsprozesse kann die Signalqualität verbessern. So kann beispielsweise verlangt werden, dass die Signale auf einem 1-Minuten-Chart mit den FVG- und Trendrichtungen auf einem 15-Minuten- oder 1-Stunden-Chart übereinstimmen.
Dynamische BremsvorrichtungenDie derzeitige Strategie verwendet ein festes Verhältnis Stop, das zu einem dynamischen Stop auf Basis des ATR oder einer automatischen Anpassung des Stop-Ziels in Verbindung mit Marktvolatilität verbessert werden kann.
Umkehrung und Marktausgleich: Hinzufügen von Logik zur Identifizierung der Marktumgebung, Verwendung der aktuellen Strategie in der klaren Trendphase und Verwendung unterschiedlicher Ein- und Ausstiegskriterien in der Konjunkturphase.
Bestätigung des Transaktionsvolumens: Integration von Volumenanalysen zur Validierung der Effektivität von FVG und IFVG. Wirklich bedeutende Preislücke sind in der Regel mit signifikanten Veränderungen des Volumens verbunden.
Maschinelle LernoptimierungAnwendbarkeit: Maschinelle Lern-Algorithmen zur Identifizierung der am besten prognostizierten Kombination von FVG-Eigenschaften, wie z. B. Lochgröße, Formungsgeschwindigkeit und Beziehung zu Unterstützung/Widerstand.
Anpassung der AnpassungsparameterEntwicklung eines Mechanismus, der es der Strategie ermöglicht, ihre Parameter automatisch an die jüngste Marktentwicklung anzupassen, z. B. die Stop-Loss-Range bei erhöhter Volatilität zu erweitern.
Erhöhung der PositionsverwaltungDie derzeitige Strategie nutzt feste Positionen (ca. 10 Einheiten) und kann zu einem dynamischen Positionsmanagementsystem auf Basis von Volatilität und Risikomessungen umgebaut werden, um Positionen bei Signalen mit hoher Sicherheit zu erhöhen und die Exposition in Märkten mit hoher Unsicherheit zu verringern.
Die Trendbestätigungs-Rückwärts-Fair-Value-Lücken-Strategie mit dynamischem Stop-Tracking ist ein mehrschichtiges Handelssystem, das die Preisstrukturanalyse (FVG und IFVG), die Trendbestätigung (SMA) und das dynamische Risikomanagement (ATR-Stop-Tracking) organisch kombiniert. Die Hauptvorteile der Strategie liegen in ihren mehrfachen Bestätigungsmechanismen und der selbständigen Risikomanagement, die die niedrigen Qualitätssignale effektiv filtern und die erzielten Gewinne schützen.
Die Strategie steht jedoch auch vor Herausforderungen in Bezug auf die Zuverlässigkeit der FVG, die Grenzen der Trenddefinition und die Sensitivität der Parameter. Die zukünftigen Optimierungsrichtungen umfassen die Integration von Multi-Time-Frame-Analysen, die Entwicklung von Dynamic Stop-Mechanismen, die Verbesserung der Anpassungsfähigkeit in verschiedenen Marktumgebungen und die Einführung von Machine-Learning-Technologien zur Optimierung der Signalqualität und der Parameterwahl.
Durch diese Verbesserungen hat die Strategie das Potenzial, sich zu einem stabileren und anpassungsfähigeren Handelssystem zu entwickeln, das in der Lage ist, unter verschiedenen Marktbedingungen einheitliche Leistungen zu erbringen. Insbesondere durch die Verbesserung seiner Reaktionsfähigkeit auf Veränderungen der Marktstruktur und der Volatilität kann die Strategie besser an die sich wandelnde Marktumgebung angepasst werden, um die langfristige Profitabilität und die Stabilität des Kapitalwachstums zu verbessern.
/*backtest
start: 2025-05-31 00:00:00
end: 2025-06-30 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
args: [["RunMode",1,358374]]
*/
//@version=6
strategy("Inverted FVG Strategy with Trend Check and Trailing Stops", default_qty_value = 10, overlay=true)
// Function to detect FVG
fvgDetected(src, high, low) =>
float prevHigh = na
float prevLow = na
float prevClose = na
float fvgHigh = na
float fvgLow = na
bool fvg = false
if (not na(src[3]))
prevHigh := high[3]
prevLow := low[3]
prevClose := src[3]
if (src[2] > prevClose and low[2] > prevHigh) or (src[2] < prevClose and high[2] < prevLow)
fvg := true
fvgHigh := low[2] > prevHigh ? high[2] : na
fvgLow := high[2] < prevLow ? low[2] : na
[fvg, fvgHigh, fvgLow]
// Detect FVG on the chart
[fvg, fvgHigh, fvgLow] = fvgDetected(close, high, low)
// Detect IFVG - Inversion of FVG
bool ifvg = false
float ifvgHigh = na
float ifvgLow = na
if (fvg)
if (high[1] > fvgHigh and close[1] > open[1]) or (high[1] < fvgLow and close[1] < open[1])
ifvg := true
ifvgHigh := close[1] > open[1] ? high[1] : na
ifvgLow := close[1] < open[1] ? low[1] : na
// Plot FVG and IFVG zones for visualization
plot(ifvgHigh, title="IFVG High", color=color.red, linewidth=2, style=plot.style_cross)
plot(ifvgLow, title="IFVG Low", color=color.red, linewidth=2, style=plot.style_cross)
// Trend Check using Simple Moving Averages
smaShort = ta.sma(close, 50) // Short term SMA
smaLong = ta.sma(close, 200) // Long term SMA
bool uptrend = false
bool downtrend = false
uptrend := smaShort > smaLong // Up trend if short SMA is above long SMA
downtrend := smaShort < smaLong // Down trend if short SMA is below long SMA
// Plot SMAs for visualization
plot(smaShort, title="SMA Short", color=color.blue, linewidth=1)
plot(smaLong, title="SMA Long", color=color.orange, linewidth=1)
// Trading logic with trend confirmation
longCondition = ifvg and close < ifvgLow and uptrend
shortCondition = ifvg and close > ifvgHigh and downtrend
// Risk Definition - 使用百分比
stopLoss = 0.005 // 0.5% 止损
takeProfit = 0.015 // 1.5% 止盈
if (longCondition and strategy.position_size == 0)
strategy.entry("Long", strategy.long)
stopPrice = close * (1 - stopLoss)
limitPrice = close * (1 + takeProfit)
strategy.exit("Initial Long Exit", "Long", stop=stopPrice, limit=limitPrice)
if (shortCondition and strategy.position_size == 0)
strategy.entry("Short", strategy.short)
stopPrice = close * (1 + stopLoss)
limitPrice = close * (1 - takeProfit)
strategy.exit("Initial Short Exit", "Short", stop=stopPrice, limit=limitPrice)
// ATR for dynamic trailing stop
atr = ta.atr(14)
// Trailing Stop for Long Position if the trade has moved > 0.5% (half of takeProfit)
if (strategy.position_size > 0)
profitThreshold = takeProfit * 0.5 // 1.5% profit threshold
if (close - strategy.position_avg_price >= strategy.position_avg_price * profitThreshold)
// 将止损移动到盈亏平衡点加上一点利润
trailingStopLong = math.max(strategy.position_avg_price * (1 + profitThreshold), close - (atr * 2))
strategy.exit("Trailing Stop Long", "Long", stop=trailingStopLong)
// Trailing Stop for Short Position if the trade has moved > 0.5% (half of takeProfit)
if (strategy.position_size < 0)
profitThreshold = takeProfit * 0.5 // 1.5% profit threshold
if (strategy.position_avg_price - close >= strategy.position_avg_price * profitThreshold)
// 将止损移动到盈亏平衡点加上一点利润
trailingStopShort = math.min(strategy.position_avg_price * (1 - profitThreshold), close + (atr * 2))
strategy.exit("Trailing Stop Short", "Short", stop=trailingStopShort)