Эта стратегия, основанная на теории Smart Money Concepts (SMC), строит всеобъемлющую тенденцию после торговой системы, разделяя рынок на три ключевых ценовых зоны: равновесие, премиум и дисконт.
Основная логика включает в себя несколько ключевых элементов:
Эта стратегия создает прочную тенденцию после системы через интеллектуальное разделение зон и множественные механизмы подтверждения сигналов. Ее основные силы заключаются в явном анализе структуры рынка и всеобъемлющем управлении рисками. Благодаря постоянной оптимизации и улучшению стратегия обещает стабильную производительность в различных рыночных условиях. Трейдерам рекомендуется корректировать параметры на основе специфических характеристик рынка и поддерживать строгий контроль рисков при реализации стратегии в режиме реального времени.
/*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)