Die Ressourcen sind geladen. Beförderung...

Mehrstufige institutionelle Quantitative Strategie für den Auftragsfluss mit dynamischem Skalierungssystem

Schriftsteller:ChaoZhang, Datum: 2024-12-27 15:01:36
Tags:PCTVOL- Nein.OB

img

Übersicht

Die Strategie ist ein intelligentes Handelssystem, das auf institutionellem Auftragsfluss basiert und potenzielle Preisumkehrpunkte durch die Identifizierung von Orderblöcken auf dem Markt vorhersagt. Das System verwendet einen dynamischen Positionsscaling-Management-Ansatz mit dreistufigen Zielen, um das Positionsmanagement zu optimieren und die Rendite zu maximieren.

Strategieprinzipien

Die Strategie beruht auf mehreren Schlüsselelementen:

  1. Order Block Identification - Die Verwendung eines 20-Perioden-Lookback-Fensters zur Identifizierung von Kauf- und Verkaufs-Orderblöcken durch Candlestick-Musteranalyse.
  2. Handelszeitkontrolle - Der Handel ist auf die Hauptsitzung von 09:30-16:00 beschränkt und vermeidet hohe Volatilitätsperioden während der Marktöffnung und -schließung.
  3. Eintrittslogik - Long-Positionen werden eröffnet, wenn der Preis während der Handelszeiten über den Kauf-Orderblock bricht, und Short-Positionen, wenn der Preis unter den Verkaufs-Orderblock bricht.
  4. Position Scaling - Implementiert ein 50%-30%-20% dreistufiges Scaling-System, das den Zielen von 0,5%, 1,0% und 1,5% entspricht.

Strategische Vorteile

  1. Smart Order Detection - Erfasst die wichtigsten Preisniveaus, bei denen große Kapitalpositionen errichtet oder geschlossen werden, durch dynamische Analyse von Höhen und Tiefen.
  2. Risikoverteilung - Die dreistufige Skalierung von Positionen verbreitet das Risiko effektiv, sichert Gewinne und ermöglicht gleichzeitig eine vollständige Entwicklung der Trends.
  3. Zeitfilterung - Handelszeitbeschränkungen vermeiden hohe Volatilitätsperioden und verbessern die Handelsstabilität.
  4. Visuelle Unterstützung - Die Strategie bietet eine klare Visualisierung des Auftragsblocks und hilft den Händlern, die Marktstruktur zu verstehen.

Strategische Risiken

  1. Falsches Ausbruchrisiko - Es können mehrere falsche Signale in verschiedenen Märkten auftreten, was auf die Notwendigkeit einer Volatilitätsindikatorfilterung hindeutet.
  2. Schwankungswirkung - bei Schwankungen bei den Märkten mit geringer Liquidität kann es zu Schwankungen kommen, die eine angemessene Anpassung des Zielstandes erfordern.
  3. Trendabhängigkeit - Die Strategie funktioniert gut in Trendmärkten, kann aber häufige Trades unter unterschiedlichen Bedingungen erzeugen.

Optimierung der Strategie

  1. Anpassung an die Volatilität - Es wird empfohlen, den ATR-Indikator einzubeziehen, um die Zielprozentsätze dynamisch anhand der Marktvolatilität anzupassen.
  2. Analyse des Auftragsvolumens - Erwägen Sie die Kombination der Volumenanalyse, um die Zuverlässigkeit der Auftragsblockbestätigung zu erhöhen.
  3. Dynamisches Zeitfenster - Überlegen Sie, die Rückblicksperiode dynamisch an die Marktbedingungen anzupassen, um die Anpassungsfähigkeit der Strategie zu verbessern.
  4. Verstärkte Risikokontrolle - Hinzufügen von Höchstgrenzen für die Auszahlung und Tagesverlustgrenzen zur Verbesserung der Strategiesicherheit.

Zusammenfassung

Diese Strategie baut ein komplettes Handelssystem durch institutionelle Auftragsflussanalyse und dynamisches Positionsmanagement auf. Durch die Identifizierung von Auftragsblöcken und mehrstufige Gewinnspiel-Einstellungen erfasst sie Chancen aus großen Kapitaloperationen und setzt gleichzeitig eine effektive Risikokontrolle um. Händlern wird empfohlen, die Marktbedingungen sorgfältig zu berücksichtigen und die Parameter entsprechend den spezifischen Umständen im Live-Handel anzupassen.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


//@version=6
strategy("Institutional Order Flow Strategy", overlay=true)

// Input settings
inputSession = input("0930-1600", "Trading Session") // Trading session
lookbackPeriod = input.int(20, "Order Block Lookback Period", minval=1) // Lookback for Order Blocks
target1Pct = input.float(0.5, "Target 1 (% move)", step=0.1, minval=0.1) // First profit target
target2Pct = input.float(1.0, "Target 2 (% move)", step=0.1, minval=0.1) // Second profit target
target3Pct = input.float(1.5, "Target 3 (% move)", step=0.1, minval=0.1) // Third profit target

// Order Block identification
highestHigh = ta.highest(high, lookbackPeriod)
lowestLow = ta.lowest(low, lookbackPeriod)
orderBlockBuy = ta.valuewhen(close[1] < open[1] and close > open, highestHigh, 0)
orderBlockSell = ta.valuewhen(close[1] > open[1] and close < open, lowestLow, 0)

// Entry logic
inSession = true
longCondition = close > orderBlockBuy and inSession
shortCondition = close < orderBlockSell and inSession

// Strategy entries
if longCondition
    strategy.entry("Long", strategy.long)

if shortCondition
    strategy.entry("Short", strategy.short)

// Calculate targets for scaling out
longTarget1 = strategy.position_avg_price + strategy.position_avg_price * target1Pct / 100
longTarget2 = strategy.position_avg_price + strategy.position_avg_price * target2Pct / 100
longTarget3 = strategy.position_avg_price + strategy.position_avg_price * target3Pct / 100

shortTarget1 = strategy.position_avg_price - strategy.position_avg_price * target1Pct / 100
shortTarget2 = strategy.position_avg_price - strategy.position_avg_price * target2Pct / 100
shortTarget3 = strategy.position_avg_price - strategy.position_avg_price * target3Pct / 100

// Exit logic with scaling out
if strategy.position_size > 0
    strategy.exit("Target 1", from_entry="Long", limit=longTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Long", limit=longTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Long", limit=longTarget3, qty_percent=20)

if strategy.position_size < 0
    strategy.exit("Target 1", from_entry="Short", limit=shortTarget1, qty_percent=50)
    strategy.exit("Target 2", from_entry="Short", limit=shortTarget2, qty_percent=30)
    strategy.exit("Target 3", from_entry="Short", limit=shortTarget3, qty_percent=20)

// Visualize Order Blocks
plot(orderBlockBuy, "Order Block Buy", color=color.green, linewidth=2, style=plot.style_line)
plot(orderBlockSell, "Order Block Sell", color=color.red, linewidth=2, style=plot.style_line)


Verwandt

Mehr