Cette stratégie, basée sur la théorie des concepts d'argent intelligent (SMC), construit une tendance globale suivant le système de négociation en divisant le marché en trois zones de prix clés: équilibre, prime et discount.
La logique de base comprend plusieurs éléments clés:
Cette stratégie construit un système de suivi de tendance robuste grâce à une division intelligente des zones et à de multiples mécanismes de confirmation de signal. Ses principales forces résident dans une analyse claire de la structure du marché et une gestion complète des risques. Grâce à une optimisation et une amélioration continues, la stratégie promet des performances stables dans différentes conditions de marché.
/*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)