이 전략은 스마트 머니 콘셉트 (SMC) 이론에 기초하여 시장을 평형, 프리미엄 및 할인 (discount) 이라는 세 가지 주요 가격 구역으로 나누어 종합적인 트렌드 트레이딩 시스템을 구축합니다. 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)