Strategi perdagangan berdasarkan indikator EMA dan MAMA


Tanggal Pembuatan: 2023-10-31 14:20:56 Akhirnya memodifikasi: 2023-10-31 14:20:56
menyalin: 0 Jumlah klik: 817
1
fokus pada
1617
Pengikut

Strategi perdagangan berdasarkan indikator EMA dan MAMA

Ringkasan

Strategi ini didasarkan pada EMA (Indeks Moving Average) dan MAMA (MESA Adaptive Moving Average) untuk menilai tren pasar dan menghasilkan sinyal perdagangan berdasarkan persimpangan mereka. EMA sering digunakan untuk menentukan arah tren pasar, sedangkan MAMA dapat menangkap titik-titik pivot pasar dengan lebih akurat, yang digunakan bersama dapat meningkatkan kinerja strategi.

Prinsip Strategi

  1. Perhitungan EMA cepat dan EMA lambat, yang masing-masing mencerminkan tren pasar jangka pendek dan jangka panjang
  2. Menghitung garis MAMA dan FAMA, yang masing-masing adalah rata-rata bergerak adaptif
  3. Ketika EMA cepat melewati EMA lambat, menghasilkan sinyal beli
  4. Ketika EMA cepat melewati EMA lambat, menghasilkan sinyal jual
  5. Ketika MAMA memakai FAMA, ia menghasilkan sinyal beli
  6. Ketika MAMA di bawah FAMA, menghasilkan sinyal jual
  7. MAMA dan FAMA dapat digunakan untuk memverifikasi sinyal silang EMA atau untuk menangkap perubahan tren lebih awal

Secara khusus, strategi pertama menghitung EMA cepat (fl) dan EMA lambat (sl), yang masing-masing mencerminkan tren jangka pendek dan jangka panjang.

Kemudian menghitung MAMA dan FAMA berdasarkan rumus John Ehlers:

  1. Menghitung Transformasi Hilbert dari harga dan mengambil informasi fase dari sinyal
  2. Siklus sesaat sinyal berdasarkan informasi fase p
  3. Berhitung berat α berdasarkan nilai p
  4. MAMA dan FAMA berdasarkan bobot α

Akhirnya, strategi ini menghasilkan sinyal perdagangan berdasarkan EMA dan persilangan MAMA/FAMA:

  • EMA melakukan lebih banyak di Golden Fork
  • EMA kosong saat forks mati
  • MAMA di atas FAMA lebih banyak
  • MAMA di bawah FAMA yang kosong

Analisis Keunggulan

Strategi ini menggabungkan keuntungan dari indikator EMA dan MAMA untuk meningkatkan akurasi sinyal perdagangan.

Keunggulan EMA:

  • Data harga yang lebih halus dan lebih sedikit noise.
  • Mengikuti tren pasar dengan keterbelakangan
  • Fleksibilitas parameter yang dapat disesuaikan dengan sensitivitas terhadap tren jangka pendek dan jangka panjang

Keunggulan MAMA:

  • Adaptasi parameter, tidak perlu siklus yang ditentukan oleh manusia
  • Tanggapan yang cepat dan pergeseran tren yang dapat ditangkap lebih awal
  • Identifikasi area dukungan dan resistensi dengan tepat

Keuntungan menggunakan keduanya:

  • EMA menilai arah tren utama
  • MAMA memverifikasi sinyal dan menangkap perubahan lebih awal
  • Peningkatan akurasi dan tingkat keberhasilan sinyal

Analisis risiko

Strategi ini memiliki risiko utama sebagai berikut:

  • EMA dan MAMA adalah indikator konfirmasi yang terlambat, dengan titik Entry yang sedikit terlambat, yang dapat membawa risiko slippage
  • Dalam kondisi gempa besar, EMA dan MAMA sering berselisih, yang dapat menghasilkan kerucut multi-kepala dan kerucut kosong
  • Parameter EMA dan MAMA tidak disetel dengan benar, yang dapat melewatkan tren atau menghasilkan sinyal palsu

Tindakan yang disesuaikan:

  • Menggunakan Stop Loss untuk Mengontrol Kerugian
  • Pilihlah parameter yang masuk akal dan hindari terlalu sensitif
  • Digunakan dalam kombinasi dengan indikator lain, sinyal konfirmasi

Arah optimasi

Strategi ini dapat dioptimalkan dengan:

  • Optimalkan parameter siklus EMA agar lebih sesuai dengan karakteristik varietas yang berbeda
  • Menyesuaikan sensitivitas parameter MAMA α untuk mengoptimalkan kecepatan menangkap putaran
  • Tambahkan filter untuk indikator lain seperti MACD, RSI, dan lain-lain untuk menghindari sinyal palsu
  • Meningkatkan strategi stop loss untuk mengendalikan risiko
  • Mengoptimalkan pengembalian dan memilih kombinasi parameter yang optimal
  • Menambahkan Stop-Loss Otomatis untuk Maksimalkan Keuntungan

Meringkaskan

Strategi ini mengintegrasikan keunggulan dari kedua indikator EMA dan MAMA, mampu secara berurutan, tepat waktu menangkap perubahan tren, adalah strategi jenis tren yang dapat diandalkan. Dengan optimasi parameter dan kontrol risiko, Anda dapat meningkatkan kemenangan dan profitabilitas strategi. Namun, pengguna masih perlu berhati-hati sesuai dengan preferensi risiko mereka sendiri.

Kode Sumber Strategi
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMAMA strategy", overlay=true)
//This entire strategy is courtesy of LazyBear for programming the original EMAMA system, I simply added a strategy element to everything to round things out. 

src=input(hl2, title="Source")
fl=input(.5, title="Fast Limit")
sl=input(.05, title="Slow Limit")
sp = (4*src + 3*src[1] + 2*src[2] + src[3]) / 10.0
dt = (.0962*sp + .5769*nz(sp[2]) - .5769*nz(sp[4])- .0962*nz(sp[6]))*(.075*nz(p[1]) + .54)
q1 = (.0962*dt + .5769*nz(dt[2]) - .5769*nz(dt[4])- .0962*nz(dt[6]))*(.075*nz(p[1]) + .54)
i1 = nz(dt[3])
jI = (.0962*i1 + .5769*nz(i1[2]) - .5769*nz(i1[4])- .0962*nz(i1[6]))*(.075*nz(p[1]) + .54)
jq = (.0962*q1 + .5769*nz(q1[2]) - .5769*nz(q1[4])- .0962*nz(q1[6]))*(.075*nz(p[1]) + .54)
i2_ = i1 - jq
q2_ = q1 + jI
i2 = .2*i2_ + .8*nz(i2[1])
q2 = .2*q2_ + .8*nz(q2[1])
re_ = i2*nz(i2[1]) + q2*nz(q2[1])
im_ = i2*nz(q2[1]) - q2*nz(i2[1])
re = .2*re_ + .8*nz(re[1])
im = .2*im_ + .8*nz(im[1])
p1 = iff(im!=0 and re!=0, 360/atan(im/re), nz(p[1]))
p2 = iff(p1 > 1.5*nz(p1[1]), 1.5*nz(p1[1]), iff(p1 < 0.67*nz(p1[1]), 0.67*nz(p1[1]), p1))
p3 = iff(p2<6, 6, iff (p2 > 50, 50, p2))
p = .2*p3 + .8*nz(p3[1])
spp = .33*p + .67*nz(spp[1])
phase = atan(q1 / i1)
dphase_ = nz(phase[1]) - phase
dphase = iff(dphase_< 1, 1, dphase_)
alpha_ = fl / dphase
alpha = iff(alpha_ < sl, sl, iff(alpha_ > fl, fl, alpha_))
mama = alpha*src + (1 - alpha)*nz(mama[1])
fama = .5*alpha*mama + (1 - .5*alpha)*nz(fama[1])
pa=input(false, title="Mark crossover points")

plotarrow(pa?(cross(mama, fama)?mama<fama?-1:1:na):na, title="Crossover Markers")

fr=input(false, title="Fill MAMA/FAMA Region")

duml=plot(fr?(mama>fama?mama:fama):na, style=circles, color=gray, linewidth=0, title="DummyL")

mamal=plot(mama, title="MAMA", color=red, linewidth=2)

famal=plot(fama, title="FAMA", color=green, linewidth=2)

fill(duml, mamal, red, transp=70, title="NegativeFill")

fill(duml, famal, green, transp=70, title="PositiveFill")

ebc=input(false, title="Enable Bar colors")

bc=mama>fama?lime:red

barcolor(ebc?bc:na)

longCondition = crossover(mama, fama)
if (longCondition)
    strategy.entry("My Long Entry Id", strategy.long)

shortCondition = crossunder(mama, fama)
if (shortCondition)
    strategy.entry("My Short Entry Id", strategy.short)