この戦略は,スマートマネーコンセプト (SMC) 理論に基づい,市場を3つの主要価格ゾーンに区切ることで,取引システムに続く包括的なトレンドを構築する.均衡,プレミアム,割引.それは50期間のシンプルムービング・平均値 (SMA) とオーダーブロック分析を組み合わせ,異なるゾーン間の価格動きを通じて取引機会を特定する.
基本的な論理にはいくつかの重要な要素が含まれます.
この戦略は,インテリジェント・ゾーン・ディビジョンと複数の信号確認メカニズムを通じて,強力なトレンドフォローシステムを構築している.その核心強みは,明確な市場構造分析と包括的なリスク管理にある.継続的な最適化と改善を通じて,この戦略は,さまざまな市場条件にわたって安定したパフォーマンスを約束している.トレーダーは,特定の市場特性に基づいてパラメータを調整し,ライブ・トレーディングで戦略を実施する際に厳格なリスク管理を維持することをお勧めする.
/*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)