
이 전략은 여러 가지 기술 지표와 가격 행동 분석을 결합하여 시장 구조의 변화를 식별하고 트렌드를 활용하여 거래를 수행합니다. 전략의 핵심에는 20일 및 200일 지수 이동 평균 (EMA) 의 트렌드 방향을 판단하는, 상대적으로 약한 지수 (RSI) 와 상품 채널 지수 (CCI) 의 동력을 확인하는, 시장 구조 개념 (SMC) 의 주요 지원 저항 지점을 식별하는, 돌파구 (BOS) 의 트렌드 지속을 확인하는, 그리고 포식형/ 줄과 같은 강력한 형태를 추가하는 신호가 있습니다.
||
The strategy combines multiple technical indicators and price action analysis to identify market structure changes and capitalize on trends. Key components include: 20-day and 200-day Exponential Moving Averages (EMA) for trend direction, Relative Strength Index (RSI) and Commodity Channel Index (CCI) for momentum confirmation, Smart Money Concepts (SMC) for identifying key support/resistance levels, Break of Structure (BOS) for trend continuation confirmation, and engulfing/hammer candlestick patterns to enhance entry signals. Finally, it uses ATR-based trailing stops for dynamic risk management.
||
||
||
||
이 전략은 전통적인 기술 지표 ((SMC+EMA) 와 현대적인 양적 기술 ((ATR 적응 위험 제어) 을 결합하여 기관 수준의 논리를 갖춘 소매 거래 시스템을 구축합니다. 핵심 가치는: 1 엄격한 다중 조건 검증 프레임워크 2 시장 미시 구조 이론 3 동적 위험 조정 장치에 부합합니다.
||
This strategy combines traditional technical indicators (SMC+EMA) with modern quant techniques (ATR-adaptive risk control) to create an institutional-grade retail trading system. Key value propositions include: ① Rigorous multi-condition verification ② Alignment with market microstructure theory ③ Dynamic risk adjustment. Optimal application is during early trend phases (confirmed by BOS), avoiding high-uncertainty periods around major economic releases.
/*backtest
start: 2025-04-22 00:00:00
end: 2025-04-23 00:00:00
period: 2m
basePeriod: 2m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=6
strategy("SMC + EMA + Candles + RSI/CCI + BOS + Trailing", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === EMAs
ema20 = ta.ema(close, 20)
ema200 = ta.ema(close, 200)
plot(ema20, color=color.orange, linewidth=1)
plot(ema200, color=color.blue, linewidth=1)
// === RSI and CCI
rsi = ta.rsi(close, 14)
cci = ta.cci(close, 20)
rsi_ok_long = rsi > 50
rsi_ok_short = rsi < 50
cci_ok_long = cci > 0
cci_ok_short = cci < 0
// === ATR
atr = ta.atr(14)
tp_mult = 2.0
sl_mult = 1.0
trail_offset = atr * 1.0
trail_step = atr * 0.5
// === Price Action Candles
bull_engulf = close[1] < open[1] and close > open and close > open[1] and open <= close[1]
bear_engulf = close[1] > open[1] and close < open and close < open[1] and open >= close[1]
bull_pinbar = (high - math.max(open, close)) > 2 * (math.min(open, close) - low)
bear_pinbar = (math.min(open, close) - low) > 2 * (high - math.max(open, close))
doji = math.abs(close - open) <= (high - low) * 0.1
bull_marubozu = close > open and high - close < atr * 0.1 and open - low < atr * 0.1
bear_marubozu = open > close and high - open < atr * 0.1 and close - low < atr * 0.1
bull_candle = bull_engulf or bull_pinbar or bull_marubozu or doji
bear_candle = bear_engulf or bear_pinbar or bear_marubozu or doji
// === Smart Money Concept (SMC) Zones
swing_high = ta.pivothigh(high, 10, 10)
swing_low = ta.pivotlow(low, 10, 10)
var float supply_zone = na
var float demand_zone = na
if not na(swing_high)
supply_zone := swing_high
if not na(swing_low)
demand_zone := swing_low
// === Break of Structure (BOS) Confirmation
bos_long = ta.crossover(close, supply_zone)
bos_short = ta.crossunder(close, demand_zone)
// === Proximity to Structure Zones
near_demand = not na(demand_zone) and close >= demand_zone * 0.98 and close <= demand_zone * 1.01
near_supply = not na(supply_zone) and close <= supply_zone * 1.02 and close >= supply_zone * 0.99
// === Long Entry Condition
longCondition = (close > ema20 or close > ema200) and near_demand and bull_candle and bos_long and rsi_ok_long and cci_ok_long
// === Short Entry Condition
shortCondition = (close < ema20 or close < ema200) and near_supply and bear_candle and bos_short and rsi_ok_short and cci_ok_short
// === Entry and Exit (with Trailing Stop)
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", trail_points=trail_offset, trail_offset=trail_step)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", trail_points=trail_offset, trail_offset=trail_step)
// === Plotting Structure Zones
plot(supply_zone, title="Supply", color=color.red, style=plot.style_linebr, linewidth=1)
plot(demand_zone, title="Demand", color=color.green, style=plot.style_linebr, linewidth=1)
plot(rsi, title="RSI", color=color.fuchsia)
plot(cci, title="CCI", color=color.teal)