Strategi perdagangan mengikuti tren berdasarkan konfirmasi sinyal berganda Granville dan MACD

EMA MACD GC(Golden Cross) SL(Stop Loss) TP(Take Profit)
Tanggal Pembuatan: 2025-02-20 11:38:15 Akhirnya memodifikasi: 2025-02-27 17:46:54
menyalin: 2 Jumlah klik: 323
2
fokus pada
319
Pengikut

Strategi perdagangan mengikuti tren berdasarkan konfirmasi sinyal berganda Granville dan MACD Strategi perdagangan mengikuti tren berdasarkan konfirmasi sinyal berganda Granville dan MACD

Ringkasan

Strategi ini adalah sistem konfirmasi perdagangan dengan sinyal ganda yang menggabungkan teori pembalikan tren Granville dengan indikator MACD. Gagasan inti dari strategi ini adalah menilai potensi pembalikan tren melalui hubungan harga dengan garis rata-rata dan menggunakan verifikasi sinyal ganda dari indikator MACD untuk memastikan keandalan perdagangan. Metode ini tidak hanya dapat secara efektif mengidentifikasi titik awal tren, tetapi juga dapat mengurangi risiko sinyal palsu melalui mekanisme konfirmasi ganda.

Prinsip Strategi

Proses pelaksanaan kebijakan dibagi menjadi empat langkah penting:

  1. Granville Reversal Signal Confirmed: Memantau apakah harga akan menembus ke atas dari bawah garis rata-rata EMA, yang menunjukkan kemungkinan pembalikan tren.
  2. MACD First Gold Fork Confirmation: Setelah munculnya sinyal pembalikan Granville, menunggu MACD Indicator Gold Fork muncul, yang merupakan konfirmasi ganda kedua dari perubahan tren.
  3. MACD Breakout Verifikasi: Mengkonfirmasi titik tertinggi ketika garis MACD menembus Gold Forks untuk pertama kalinya, yang menunjukkan bahwa momentum naik terus meningkat.
  4. MACD mundur dua kali: menunggu MACD mundur setelah terobosan dan naik lagi melalui jalur sinyal, yang merupakan sinyal masuk akhir.

Stop loss setup menggunakan metode penyesuaian dinamis berdasarkan inversi K-line amplitude, dengan stop loss setup pada titik rendah inversi K-line, dan stop loss setup 1.618 kali inversi K-line amplitude, yang sesuai dengan prinsip Fibonacci Expansion.

Keunggulan Strategis

  1. Multiple confirmation mechanism: Mengurangi risiko sinyal palsu dengan menggabungkan price action, trend indicator, dan momentum indicator.
  2. Manajemen risiko yang dinamis: pengaturan stop loss berdasarkan fluktuasi pasar yang sebenarnya, membuat manajemen risiko lebih adaptif.
  3. Validasi kesinambungan tren: dengan konfirmasi sinyal ganda dari MACD, peningkatan akurasi menangkap tren berkelanjutan.
  4. Adaptif: Parameter strategi dapat disesuaikan secara optimal sesuai dengan kondisi pasar dan siklus waktu yang berbeda.

Risiko Strategis

  1. Keterlambatan sinyal: mekanisme konfirmasi ganda dapat menyebabkan keterlambatan waktu masuk yang relatif, yang mempengaruhi sebagian potensi pendapatan.
  2. Performa pasar interim: Dalam pasar horizontal, sering terjadi false breakout yang dapat menyebabkan stop loss berkelanjutan.
  3. Terlalu mengandalkan indikator teknis: Analisis teknis murni dapat gagal ketika sentimen pasar bergejolak.
  4. Sensitivitas parameter: Parameter mungkin perlu sering disesuaikan untuk menjaga efektivitas strategi dalam lingkungan pasar yang berbeda.

Arah optimasi strategi

  1. Klasifikasi lingkungan pasar: memperkenalkan indikator volatilitas, menggunakan konfigurasi parameter yang berbeda dalam lingkungan pasar yang berbeda.
  2. Optimasi waktu masuk: Anda dapat mempertimbangkan untuk meningkatkan konfirmasi transaksi pada MACD kedua, meningkatkan keandalan sinyal.
  3. Stop Loss Dynamic Adjustment: Stop loss multiplier dapat disesuaikan dengan volatilitas pasar.
  4. Meningkatkan faktor sentimen pasar: Menggabungkan indikator sentimen pasar, tingkat radikalisme dalam penyesuaian strategi pada saat sentimen ekstrem.

Meringkaskan

Strategi ini membangun sistem perdagangan yang relatif lengkap dengan menggabungkan teori analisis teknis klasik dan metode perdagangan kuantitatif modern. Mekanisme konfirmasi sinyal ganda memberikan keandalan perdagangan yang lebih baik, dan metode manajemen risiko yang dinamis juga membuat strategi ini memiliki kemampuan adaptasi yang baik. Meskipun ada beberapa masalah keterbelakangan, strategi ini masih memiliki nilai praktis dan potensi pengembangan yang baik melalui optimasi dan penyesuaian parameter yang berkelanjutan.

Kode Sumber Strategi
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Granville + MACD Strategy", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ■ Parameter Settings
emaPeriod = input.int(20, "EMA Period for Granville", minval=1)
fastLen   = input.int(12, "MACD Fast Period", minval=1)
slowLen   = input.int(26, "MACD Slow Period", minval=1)
signalLen = input.int(9,  "MACD Signal Period", minval=1)

// ■ Calculate EMA (for Granville reversal detection)
ema_val = ta.ema(close, emaPeriod)

// ■ Granville Reversal Detection (e.g., price crosses above EMA from below)
granvilleReversal = ta.crossover(close, ema_val)

// ■ Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLen, slowLen, signalLen)

// ■ State management variables (to manage state transitions)
var bool   granvilleDone   = false    // Reversal bar confirmed flag
var float  granvilleLow    = na       // Low of the reversal bar (used for SL)
var float  granvilleRange  = na       // Range of the reversal bar (used for TP calculation)
var bool   macdGC_done     = false    // First MACD Golden Cross confirmed
var int    goldenCrossBar  = na       // Bar index of the first MACD Golden Cross
var float  initialMacdHigh = na       // MACD value at the Golden Cross (used for break detection)
var bool   breakoutDone    = false    // MACD line breaks the initial Golden Cross MACD value

// ■ (1) Granville Reversal Detection
if granvilleReversal
    granvilleDone  := true
    granvilleLow   := low             // Low of the reversal bar (SL)
    granvilleRange := high - low      // Range of the reversal bar (used for TP calculation)
    // Reset MACD-related states
    macdGC_done     := false
    breakoutDone    := false
    initialMacdHigh := na
    goldenCrossBar  := na

// ■ (2) MACD Golden Cross (first signal) detection
if granvilleDone and (not macdGC_done) and ta.crossover(macdLine, signalLine)
    macdGC_done    := true
    goldenCrossBar := bar_index
    initialMacdHigh:= macdLine

// ■ (3) Check if MACD line breaks the initial MACD value at the Golden Cross
if macdGC_done and (not breakoutDone) and (macdLine > initialMacdHigh)
    breakoutDone := true

// ■ (4) When MACD retests and crosses above the signal line again, it's the entry timing
// ※ Check for a crossover after the first Golden Cross bar
entryCondition = granvilleDone and macdGC_done and breakoutDone and (bar_index > goldenCrossBar) and ta.crossover(macdLine, signalLine)

// ■ TP and SL settings at entry
if entryCondition
    entryPrice = close
    tpPrice = entryPrice + granvilleRange * 1.618
    slPrice = granvilleLow
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", from_entry="Long", stop=slPrice, limit=tpPrice)
    // Reset states after entry (for the next entry)
    granvilleDone   := false
    macdGC_done     := false
    breakoutDone    := false
    initialMacdHigh := na
    goldenCrossBar  := na

// ■ Plotting (for reference)
// Display the EMA on the price chart (with fixed title)
plot(ema_val, color=color.orange, title="EMA (20)")

// Plot MACD and Signal in a separate window (with fixed titles)
plot(macdLine, color=color.blue, title="MACD")
plot(signalLine, color=color.red, title="Signal")