Sumber daya yang dimuat... Pemuatan...

Adaptive FVG Detection dan MA Trend Trading Strategy dengan Resistance Dinamis

Penulis:ChaoZhang, Tanggal: 2024-11-29 14:50:09
Tag:FVGMASMCTeknologi Informasi dan Komunikasi

img

Gambaran umum

Strategi ini adalah sistem perdagangan yang komprehensif yang menggabungkan deteksi kesenjangan nilai wajar (FVG), penentuan tren rata-rata bergerak, dan tingkat resistensi dinamis.

Prinsip Strategi

Logika inti mencakup komponen kunci berikut:

  1. FVG Detection: Mengidentifikasi kesenjangan nilai wajar bullish dan bearish dalam kerangka waktu yang ditentukan (default 1 jam)
  2. Penentuan Tren: Menggunakan rata-rata bergerak 20 periode untuk menilai arah tren pasar
  3. Konfirmasi pembalikan: Mengevaluasi sinyal pembalikan pasar melalui pola candlestick
  4. Resistensi Dinamis: Menggunakan puncak terbaru sebagai tingkat resistensi dan target keuntungan
  5. Manajemen Risiko: Menerapkan perlindungan stop loss berbasis persentase

Keuntungan Strategi

  1. Analisis Multidimensional: Menggabungkan pola harga, tren, dan struktur pasar
  2. Adaptabilitas tinggi: Dapat menyesuaikan parameter di lingkungan pasar yang berbeda
  3. Risiko terkontrol: Mempunyai target stop loss dan laba yang jelas
  4. Dukungan visual: Menyediakan tampilan grafis zona FVG dan tingkat harga utama
  5. Logika Lengkap: Termasuk sistem komprehensif untuk masuk, keluar, dan manajemen risiko

Risiko Strategi

  1. Dependensi kerangka waktu: Kerangka waktu yang berbeda dapat menghasilkan sinyal yang bertentangan
  2. Volatilitas Pasar: Fluktuasi yang parah dapat memicu seringnya stop loss
  3. Sensitivitas Parameter: Kinerja strategi sangat tergantung pada pengaturan parameter
  4. Trend Dependency: Mungkin berkinerja buruk di pasar yang berbeda
  5. Lag Sinyal: Rata-rata bergerak memiliki lag yang melekat

Arah Optimasi Strategi

  1. Memperkenalkan Adaptasi Volatilitas: Sesuaikan target stop-loss dan laba berdasarkan volatilitas pasar
  2. Tambahkan Kondisi Filter: Sertakan volume atau indikator teknis lainnya untuk konfirmasi
  3. Mengoptimalkan kerangka waktu: Uji kombinasi kerangka waktu yang berbeda untuk efektivitas
  4. Meningkatkan Penentuan Tren: Gunakan beberapa moving average atau indikator tren lainnya
  5. Meningkatkan Konfirmasi Reversal: Menggabungkan metode pengenalan pola tambahan

Ringkasan

Ini adalah strategi komprehensif yang mengintegrasikan beberapa konsep perdagangan, mencari peluang perdagangan probabilitas tinggi melalui kombinasi FVG, tren, dan pola harga. Kekuatan strategi terletak pada pendekatan sistematis dan pengendalian risiko, tetapi perhatian harus diberikan pada optimasi parameter dan kemampuan beradaptasi dengan lingkungan pasar. Melalui arah optimasi yang disarankan, ada ruang untuk peningkatan strategi lebih lanjut.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("SMC FVG Entry Strategy with Retest", overlay=true)

// Parametreler
stopLossPercent = input(2, title="Stop Loss (%)") / 100
lookbackPeriod = input(50, title="Güçlü Direnç İçin Geriye Dönük Süre")
fvgLength = input.timeframe("60", title="FVG Zaman Dilimi")  // 1 saatlik zaman dilimi
maPeriod = input(20, title="MA Dönemi")  // Trend yönü için MA dönemi

// FVG'leri Hesapla
var float fvgLow = na
var float fvgHigh = na
var bool fvgFilled = false

// Seçilen zaman diliminde FVG'leri kontrol et
if (ta.change(time(fvgLength)))
    bull_fvg = low > high[2] and close[1] > high[2]
    bear_fvg = high < low[2] and close[1] < low[2]
    
    if (bull_fvg)
        fvgLow := low[2]
        fvgHigh := high
        fvgFilled := true
    else if (bear_fvg)
        fvgLow := low
        fvgHigh := high[2]
        fvgFilled := true

// Trend Yönü Kontrolü (MA kullanarak)
ma = ta.sma(close, maPeriod)
trendUp = close > ma
trendDown = close < ma

// Dönüş Mumu Kontrolü
bullishReversal = close > open and close[1] < open[1] and fvgFilled and close > fvgHigh
bearishReversal = close < open and close[1] > open[1] and fvgFilled and close < fvgLow

// İlk güçlü direnç noktası
resistanceLevel = ta.highest(high, lookbackPeriod)

// Giriş Koşulları
if (bullishReversal and trendUp)
    entryPrice = close
    stopLoss = entryPrice * (1 - stopLossPercent)
    takeProfit = resistanceLevel
    strategy.entry("Long", strategy.long)
    strategy.exit("TP", "Long", limit=takeProfit, stop=stopLoss)

if (bearishReversal and trendDown)
    entryPrice = close
    stopLoss = entryPrice * (1 + stopLossPercent)
    takeProfit = resistanceLevel
    strategy.entry("Short", strategy.short)
    strategy.exit("TP", "Short", limit=takeProfit, stop=stopLoss)

// FVG'leri Grafik Üzerinde Göster
// if (fvgFilled)
//     var box fvgBox = na
//     if (na(fvgBox))
//         fvgBox := box.new(left=bar_index[1], top=fvgHigh, bottom=fvgLow, right=bar_index, bgcolor=color.new(color.green, 90), border_color=color.green)
//     else
//         box.set_top(fvgBox, fvgHigh)
//         box.set_bottom(fvgBox, fvgLow)
//         box.set_left(fvgBox, bar_index[1])
//         box.set_right(fvgBox, bar_index)

// Direnç Noktasını Göster
plot(resistanceLevel, color=color.blue, title="Direnç Noktası", linewidth=2)
plot(ma, color=color.red, title="Hareketli Ortalama", linewidth=2)


Berkaitan

Lebih banyak