Rata-rata pergerakan multi-periode dikombinasikan dengan Fibonacci retracement dan strategi perdagangan titik pivot

EMA PP FIBO SL TP
Tanggal Pembuatan: 2024-12-11 15:58:20 Akhirnya memodifikasi: 2024-12-11 15:58:20
menyalin: 1 Jumlah klik: 459
1
fokus pada
1617
Pengikut

Rata-rata pergerakan multi-periode dikombinasikan dengan Fibonacci retracement dan strategi perdagangan titik pivot

Ringkasan

Strategi ini adalah sistem perdagangan komprehensif yang menggabungkan beberapa alat analisis teknis, terutama menggunakan garis rata-rata ganda ((EMA 2050 siklus), Fibonacci retracement level dan pivot support resistance level untuk menentukan sinyal perdagangan. Strategi ini menggunakan metode pelacakan tren yang dikombinasikan dengan retracement harga, untuk meningkatkan akurasi perdagangan melalui konfirmasi ganda.

Prinsip Strategi

Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:

  1. Menggunakan 20 dan 50 siklus EMA untuk menentukan arah tren keseluruhan
  2. Menggunakan Fibonacci retracement level ((23.6%, 38.2%, 50%, 61.8%) untuk mengidentifikasi potensi resistance level support
  3. Kombinasi titik pivot ((PP) dan resistansi pendukungnya ((S1/S2, R1/R2) untuk mengkonfirmasi tingkat kritis harga
  4. Syarat masuk harus dipenuhi pada saat yang bersamaan:
    • Garis rata-rata jangka pendek melintasi garis rata-rata jangka panjang ke atas (atau lebih) atau ke bawah (atau lebih)
    • Harga berada di atas/di bawah Fibonacci yang tepat
    • Konfirmasi bahwa harga memenuhi titik pivot support resistance
  5. Menggunakan Stop Loss Fixed (30 poin) dan Target Profitabilitas (60 poin) untuk mengelola risiko

Keunggulan Strategis

  1. Verifikasi silang berbagai indikator teknis untuk meningkatkan keandalan sinyal
  2. Kombinasi tren dan resistensi dukungan, menyeimbangkan waktu masuk
  3. Parameter pengelolaan risiko yang tetap, yang memudahkan implementasi kuantitatif strategi
  4. Sinyal perdagangan visual untuk pemantauan langsung
  5. Cocok untuk perdagangan tren jangka menengah dan panjang, mengurangi dampak volatilitas jangka pendek

Risiko Strategis

  1. Beberapa indikator dapat menyebabkan sinyal yang terlambat, yang mempengaruhi waktu masuk.
  2. Stop loss profit level yang tetap mungkin tidak cocok untuk semua kondisi pasar
  3. Terlalu banyak sinyal palsu yang mungkin muncul di pasar horizontal
  4. Untuk mendapatkan keuntungan yang ideal, dibutuhkan fluktuasi harga yang lebih besar.
  5. Stop loss mungkin tidak efektif saat pasar bergejolak

Arah optimasi strategi

  1. Memperkenalkan mekanisme stop loss yang beradaptasi dengan fluktuasi
  2. Tambahkan indikator volume sebagai konfirmasi tambahan
  3. Parameter garis rata-rata disesuaikan dengan dinamika kondisi pasar yang berbeda
  4. Tambahkan filter kekuatan tren untuk mengurangi sinyal palsu
  5. Mengembangkan mekanisme manajemen posisi parsial yang lebih cerdas

Meringkaskan

Strategi ini membangun sistem perdagangan yang relatif lengkap dengan mengintegrasikan beberapa alat analisis teknis klasik. Meskipun ada beberapa keterlambatan, namun meningkatkan keandalan perdagangan melalui mekanisme konfirmasi ganda. Dengan menerapkan rekomendasi yang dioptimalkan, strategi ini diharapkan untuk mencapai kinerja yang lebih baik dalam perdagangan di pasar nyata.

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

//@version=5
strategy("Forex Strategy with EMA, Pivot, Fibonacci and Signals", overlay=true)

// Input for EMAs and Pivot Points
emaShortPeriod = input.int(20, title="Short EMA Period", minval=1)
emaLongPeriod = input.int(50, title="Long EMA Period", minval=1)
fibRetraceLevel1 = input.float(0.236, title="Fibonacci 23.6% Level")
fibRetraceLevel2 = input.float(0.382, title="Fibonacci 38.2% Level")
fibRetraceLevel3 = input.float(0.5, title="Fibonacci 50% Level")
fibRetraceLevel4 = input.float(0.618, title="Fibonacci 61.8% Level")

// Function to calculate Pivot Points and Levels
pivot(high, low, close) =>
    pp = (high + low + close) / 3
    r1 = 2 * pp - low
    s1 = 2 * pp - high
    r2 = pp + (high - low)
    s2 = pp - (high - low)
    [pp, r1, s1, r2, s2]

// Calculate Pivot Points
[pp, r1, s1, r2, s2] = pivot(high, low, close)

// Calculate 20 EMA and 50 EMA
emaShort = ta.ema(close, emaShortPeriod)
emaLong = ta.ema(close, emaLongPeriod)

// Plot the EMAs
plot(emaShort, color=color.blue, title="20 EMA", linewidth=2)
plot(emaLong, color=color.red, title="50 EMA", linewidth=2)

// Fibonacci Levels (manually drawn between the most recent high and low)
var float fibHigh = na
var float fibLow = na

if (not na(high[1]) and high > high[1])  // Check if new high is formed
    fibHigh := high
if (not na(low[1]) and low < low[1])    // Check if new low is formed
    fibLow := low

fib23_6 = fibLow + (fibHigh - fibLow) * fibRetraceLevel1
fib38_2 = fibLow + (fibHigh - fibLow) * fibRetraceLevel2
fib50 = fibLow + (fibHigh - fibLow) * fibRetraceLevel3
fib61_8 = fibLow + (fibHigh - fibLow) * fibRetraceLevel4

plot(fib23_6, color=color.green, linewidth=1, title="Fibonacci 23.6%")
plot(fib38_2, color=color.green, linewidth=1, title="Fibonacci 38.2%")
plot(fib50, color=color.green, linewidth=1, title="Fibonacci 50%")
plot(fib61_8, color=color.green, linewidth=1, title="Fibonacci 61.8%")

// Entry conditions (Crossovers)
longCondition = ta.crossover(emaShort, emaLong) and close > fib23_6 and close > s1
shortCondition = ta.crossunder(emaShort, emaLong) and close < fib23_6 and close < r1

// Exit conditions (Stop Loss and Take Profit)
stopLossPips = 30 * syminfo.mintick  // 30 pips Stop Loss
takeProfitPips = 60 * syminfo.mintick // 60 pips Take Profit

if (longCondition)
    strategy.entry("Buy", strategy.long, stop=stopLossPips, limit=takeProfitPips)
if (shortCondition)
    strategy.entry("Sell", strategy.short, stop=stopLossPips, limit=takeProfitPips)

// Plot Pivot Points for visual reference
plot(pp, color=color.yellow, linewidth=2, title="Pivot Point")
plot(r1, color=color.purple, linewidth=1, title="Resistance 1")
plot(s1, color=color.purple, linewidth=1, title="Support 1")
plot(r2, color=color.purple, linewidth=1, title="Resistance 2")
plot(s2, color=color.purple, linewidth=1, title="Support 2")

// Adding Buy and Sell Signals
plotshape(longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", textcolor=color.white, size=size.small)
plotshape(shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", textcolor=color.white, size=size.small)