
Strategi ini menggabungkan berbagai indikator teknis dan analisis perilaku harga untuk mengidentifikasi perubahan struktur pasar dan memanfaatkan tren untuk melakukan perdagangan. Inti strategi ini meliputi: 20 dan 200 hari indeks moving average (EMA) untuk menilai arah tren, relatif kuat indeks (RSI) dan komoditas channel index (CCI) untuk mengkonfirmasi momentum, konsep struktur pasar (SMC) untuk mengidentifikasi resistansi pendukung utama, struktur terobosan (BOS) untuk mengkonfirmasi kelanjutan tren, dan penguatan sinyal masuk ke dalam tren seperti tren tren tren.
||
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.
||
||
||
||
Strategi ini membangun sistem perdagangan ritel dengan logika tingkat institusional dengan menggabungkan indikator teknis tradisional (SMC + EMA) dengan teknologi kuantitatif modern (ATR Adaptive Risk Control). Nilai utamanya adalah: 1) Kerangka kerja validasi multi-syarat yang ketat; 2) Kerangka kerja penyesuaian risiko dinamis sesuai dengan teori struktur mikro pasar; 3) Skenario aplikasi terbaik adalah tahap awal tren; 4) Pengesahan melalui BOS; 5) Menghindari periode ketidakpastian tinggi sebelum dan sesudah rilis data ekonomi penting.
||
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)