
Die Strategie basiert auf der SMC-Theorie und erstellt eine vollständige Trend-Tracking-Trading-Systematik, indem sie die drei wichtigsten Preiszonen (Equilibrium, Premium und Discount) in Kombination mit dem 50-Zyklus-SMA und den Orderblöcken analysiert. Die Strategie erfasst die Handelschancen in den Preisschwankungen zwischen den verschiedenen Regionen, indem sie die wichtigsten Unterstützungs- und Widerstandspunkte in der Marktstruktur identifiziert.
Die Kernlogik der Strategie umfasst die folgenden Schlüsselelemente:
Die Strategie baut ein robustes Trend-Tracking-System auf, das durch eine intelligente Zonierung und eine Mehrfachsignal-Erkennung erstellt wird. Die Kernvorteile der Strategie liegen in ihrer klaren Methode zur Analyse der Marktstruktur und einem ausgefeilten Risikomanagementsystem. Durch kontinuierliche Optimierung und Verbesserung wird die Strategie eine stabile Leistung in verschiedenen Marktumgebungen erhalten.
/*backtest
start: 2024-11-21 00:00:00
end: 2024-11-28 00:00:00
period: 5m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
//@version=5
strategy("SMC Strategy with Premium, Equilibrium, and Discount Zones", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Instellingen voor Swing High en Swing Low ===
swingHighLength = input.int(8, title="Swing High Length")
swingLowLength = input.int(8, title="Swing Low Length")
// Vind de recente swing highs en lows
var float swingHigh = na
var float swingLow = na
if (ta.highestbars(high, swingHighLength) == 0)
swingHigh := high
if (ta.lowestbars(low, swingLowLength) == 0)
swingLow := low
// Bereken Equilibrium, Premium en Discount Zones
equilibrium = (swingHigh + swingLow) / 2
premiumZone = swingHigh
discountZone = swingLow
// Plot de zones op de grafiek
plot(equilibrium, title="Equilibrium", color=color.blue, linewidth=2)
plot(premiumZone, title="Premium Zone (Resistance)", color=color.red, linewidth=1)
plot(discountZone, title="Discount Zone (Support)", color=color.green, linewidth=1)
// === Simple Moving Average om trendrichting te bepalen ===
smaLength = input.int(50, title="SMA Length")
sma = ta.sma(close, smaLength)
plot(sma, title="SMA", color=color.orange)
// === Entry- en Exitregels op basis van zones en trendrichting ===
// Koop- en verkoopsignalen
buySignal = close < equilibrium and close > discountZone and close > sma // Prijs in discount zone en boven SMA
sellSignal = close > equilibrium and close < premiumZone and close < sma // Prijs in premium zone en onder SMA
// Order Blocks (Eenvoudig: hoogste en laagste kaars binnen de laatste 20 kaarsen)
orderBlockLength = input.int(20, title="Order Block Length")
orderBlockHigh = ta.highest(high, orderBlockLength)
orderBlockLow = ta.lowest(low, orderBlockLength)
// Koop- en verkoopsignalen met order block bevestiging
buySignalOB = buySignal and close >= orderBlockLow // Koop in discount zone met ondersteuning van order block
sellSignalOB = sellSignal and close <= orderBlockHigh // Verkoop in premium zone met weerstand van order block
// === Uitvoeren van Trades ===
if (buySignalOB)
strategy.entry("Buy", strategy.long)
if (sellSignalOB)
strategy.entry("Sell", strategy.short)
// === Plots voor visuele feedback ===
plotshape(buySignalOB, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignalOB, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// === Liquiditeitsjachten aangeven ===
// Simpel: markeer recente swing highs en lows als liquiditeitszones
liquidityZoneHigh = ta.valuewhen(high == swingHigh, high, 0)
liquidityZoneLow = ta.valuewhen(low == swingLow, low, 0)
// Markeer liquiditeitszones
plot(liquidityZoneHigh, title="Liquidity Zone High", color=color.red, linewidth=1, style=plot.style_cross)
plot(liquidityZoneLow, title="Liquidity Zone Low", color=color.green, linewidth=1, style=plot.style_cross)