Diese Strategie wird
Der Kern der Strategie besteht in der Identifizierung von
Der beizulegende Zeitwert wird definiert als der "angemessene" Preis eines Instruments, der auf Indikatoren wie gleitenden Durchschnitten basiert.
Die Liquidität ist ebenfalls ein wichtiger Faktor, da institutionelle Händler in der Regel Geschäfte in Gebieten mit hoher Liquidität tätigen.
Die Strategie ermittelt den beizulegenden Zeitwert durch Berechnung eines einfachen gleitenden Durchschnitts. Anschließend werden potenzielle Auftragsblöcke mit einer Länge von 20 Perioden ermittelt. Ist die Differenz zwischen dem Schlusskurs und dem beizulegenden Zeitwert unter 38,2% der Gesamthöhe des Auftragsblockbereichs, wird ein Auftragsblock bestimmt.
Auftriebsblöcke werden als Kaufsignale betrachtet, auftriebsblöcke als Verkaufssignale.
Die wichtigsten Vorteile der Strategie sind die Verwendung der Handelsmuster institutioneller Händler, die es ihr ermöglichen können, mechanistischere Indikator-basierte Strategien zu übertreffen.
Weitere Vorteile sind:
Die Strategie ist auch mit potenziellen Risiken konfrontiert, wie:
Um diese Risiken zu verringern, empfiehlt es sich, Folgendes zu berücksichtigen:
Hier sind einige mögliche Optimierungen für die Strategie:
Zusammenfassend bietet die Strategie einen einzigartigen Ansatz, um das Verhalten institutioneller Händler zu nutzen. Sie verbindet mehrere Elemente und hat bestimmte Vorteile. Aber wie die meisten Handelsstrategien ist sie auch mit Risiken konfrontiert, wenn sich die Marktbedingungen ändern oder unerwartetes Preisverhalten auftritt. Mit kontinuierlichem Testen, Optimieren und Risikomanagement kann die Strategie zu einem wertvollen quantitativen Handelswerkzeug werden.
/*backtest start: 2024-01-23 00:00:00 end: 2024-02-22 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("ICT Strategy", overlay=true) // Input variables length = input.int(20, minval=1, title="Order Block Length") fairValuePeriod = input.int(60, minval=1, title="Fair Value Period") // Calculate fair value fairValue = ta.sma(close, fairValuePeriod) // Determine order blocks isOrderBlock(high, low) => highestHigh = ta.highest(high, length) lowestLow = ta.lowest(low, length) absHighLowDiff = highestHigh - lowestLow absCloseFairValueDiff = (close - fairValue) (absCloseFairValueDiff <= 0.382 * absHighLowDiff) isBuyBlock = isOrderBlock(high, low) and close > fairValue isSellBlock = isOrderBlock(high, low) and close < fairValue // Plot fair value and order blocks plot(fairValue, color=color.blue, title="Fair Value") plotshape(isBuyBlock, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small) plotshape(isSellBlock, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small) // Strategy logic if (isBuyBlock) strategy.entry("Buy", strategy.long) if (isSellBlock) strategy.entry("Sell", strategy.short)