
Strategi ini adalah strategi perdagangan frekuensi tinggi yang didasarkan pada zona ketidakseimbangan harga (Fair Value Gap, FVG). Strategi ini mengkonfirmasi arah tren dengan mengkombinasikan 50 siklus dan 200 siklus indeks moving average (EMA), sambil memanfaatkan indikator pemfilteran ganda seperti volume transaksi dan fluktuasi harga untuk meningkatkan keandalan sinyal perdagangan. Strategi ini menggunakan mekanisme stop loss dinamis berdasarkan amplitudo fluktuasi nyata (ATR) untuk mengontrol risiko dengan ketat sambil menjamin keuntungan.
Inti dari strategi ini adalah untuk menangkap peluang perdagangan potensial dengan mengidentifikasi area ketidakseimbangan dalam pergerakan harga (FVG). Ketika harga mengalami kenaikan harga yang signifikan dalam jangka pendek, dan arah kenaikan harga sejalan dengan tren utama, strategi ini menganggap ketidakseimbangan harga ini sebagai indikasi bahwa tren akan terus berlanjut ke arah itu. Secara khusus:
Strategi ini membangun sistem perdagangan yang lebih lengkap dengan menggunakan analisis teknis dan analisis struktur mikro pasar secara komprehensif. Keunggulan inti dari strategi ini adalah mekanisme konfirmasi sinyal ganda dan kontrol risiko dinamis, tetapi dalam aplikasi praktis masih perlu mengoptimalkan parameter sesuai dengan situasi pasar tertentu. Dengan perbaikan dan pengoptimalan terus menerus, strategi ini diharapkan dapat mempertahankan kinerja yang stabil di berbagai lingkungan pasar.
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-01 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Effective FVG Strategy - Forex", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// === Exponential Moving Averages for Faster Trend Detection ===
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
bullishTrend = ema50 > ema200
bearishTrend = ema50 < ema200
// === Volume & Imbalance Filters ===
highVolume = volume > ta.sma(volume, 20) * 1.5 // 1.5x higher than average volume
strongImbalance = math.abs(close - open) > ta.sma(math.abs(close - open), 20) // Large price movement
// === Fair Value Gap (FVG) Detection ===
fvgUp = low[2] > high[0] // Bullish FVG
fvgDown = high[2] < low[0] // Bearish FVG
// Effective FVGs with trend confirmation
validBullFVG = fvgUp and highVolume and strongImbalance and bullishTrend
validBearFVG = fvgDown and highVolume and strongImbalance and bearishTrend
// === ATR-based Take Profit & Stop Loss (Optimized for Forex) ===
atr = ta.atr(14)
longTP = close + (2 * atr) // TP = 2x ATR
longSL = close - (1.2 * atr) // SL = 1.2x ATR
shortTP = close - (2 * atr)
shortSL = close + (1.2 * atr)
// === Execute Trades ===
if validBullFVG
strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", from_entry="Long", limit=longTP, stop=longSL)
if validBearFVG
strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", from_entry="Short", limit=shortTP, stop=shortSL)
// === Plot Buy/Sell Signals ===
plotshape(series=validBullFVG, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", title="BUY Signal")
plotshape(series=validBearFVG, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", title="SELL Signal")
// Highlight Significant FVGs
bgcolor(validBullFVG ? color.new(color.green, 85) : na)
bgcolor(validBearFVG ? color.new(color.red, 85) : na)