WaveTrend dan CMF Berbasis Tren Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2023-11-16 16:38:03
Tag:

img

Gambaran umum

Strategi ini menggabungkan indikator WaveTrend dan indikator Chaikin Money Flow (CMF) untuk mengidentifikasi arah tren dan mengikuti tren.

Logika Strategi

Indikator WaveTrend dapat secara efektif mengidentifikasi arah tren harga. Ini terdiri dari saluran midline, saluran rata-rata dan indeks saluran. Saluran midline adalah rata-rata bergerak eksponensial harga, mencerminkan tren harga. Saluran rata-rata adalah rata-rata bergerak saluran midline, digunakan untuk menemukan saluran midline. Indeks saluran mencerminkan tingkat penyimpangan harga dari saluran midline dan menghasilkan sinyal overbought / oversold.

Indikator CMF dapat menilai arus masuk dan keluar dana dan mengkonfirmasi tren. Indikator ini didasarkan pada garis akumulasi / distribusi disesuaikan dengan volume, mencerminkan perbandingan daya beli dan jual. Nilai sekitar 0 menunjukkan keseimbangan antara arus masuk dana dan arus keluar. Di bawah 0 menunjukkan arus keluar dana dan di atas 0 menunjukkan arus masuk dana.

Strategi ini berjalan pada jangka waktu 15 menit. Pertama-tama menggunakan indikator WaveTrend untuk menentukan arah tren harga, kemudian menggunakan indikator CMF untuk mengkonfirmasi, sehingga mengikuti tren. Secara khusus, ketika indeks saluran WaveTrend di bawah -60 dan CMF kurang dari -0.2, ia pergi panjang. Ketika indeks saluran WaveTrend di atas 60 dan CMF lebih besar dari 0.2, ia pergi pendek. Kondisi keluar terutama didasarkan pada indikator CMF - ia menutup posisi panjang ketika CMF lebih besar dari 0.18, dan menutup posisi pendek ketika CMF kurang dari -0.18.

Analisis Keuntungan

  1. Indikator WaveTrend dapat secara efektif menentukan arah tren harga.
  2. Indikator CMF dapat mengkonfirmasi arah tren dan menghindari perdagangan yang salah.
  3. Menggabungkan WaveTrend dan CMF dapat mencapai trend ultra jangka pendek berikut.
  4. Kerangka waktu 15 menit membuatnya lebih cocok untuk perdagangan jangka pendek.

Analisis Risiko

  1. WaveTrend dapat menghasilkan sinyal yang salah selama konsolidasi.
  2. CMF mungkin tertinggal dan melewatkan titik perubahan tren.
  3. Perdagangan pada jangka waktu tunggal memiliki risiko yang lebih tinggi, harus memperluas periode kepemilikan.
  4. Kurangnya strategi stop loss, tidak mampu mengendalikan kerugian tunggal.

Solusi:

  1. Tambahkan indikator lain untuk konfirmasi untuk menghindari sinyal yang salah.
  2. Sesuaikan parameter CMF untuk sensitivitas yang lebih tinggi.
  3. Memperluas periode kepemilikan untuk mengurangi risiko pada jangka waktu tunggal.
  4. Tambahkan stop loss bergerak, break-even stop dll untuk mengendalikan kerugian.

Optimalisasi

  1. Tambahkan ukuran posisi untuk mengikuti tren yang lebih baik.
  2. Tambahkan strategi stop loss untuk membatasi kerugian tunggal.
  3. Tambahkan indikator seperti stokastik untuk menghindari kesalahan dari indikator tunggal.
  4. Uji periode penyimpanan yang berbeda untuk menemukan yang optimal.
  5. Optimalkan parameter CMF untuk menemukan kombinasi terbaik.

Ringkasan

Strategi ini menggunakan WaveTrend untuk menentukan tren dan CMF untuk mengkonfirmasi, untuk mengikuti tren jangka pendek. Keuntungannya terletak pada kombinasi indikator yang wajar dan mengikuti tren yang efektif, dengan jangka waktu 15 menit yang membuatnya cocok untuk perdagangan jangka pendek. Tetapi ada risiko seperti sinyal yang tidak akurat dan periode penahan yang terlalu pendek. Peningkatan di masa depan seperti stop loss, optimasi parameter dan lebih banyak penyaringan sinyal dapat lebih meningkatkan stabilitas dan profitabilitasnya.


/*backtest
start: 2023-11-08 00:00:00
end: 2023-11-15 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "CMF - WaveTrend", shorttitle = "CMF - WaveTrend", overlay = true, pyramiding = 0, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR)

//Chaikin Money Flow

len = input(20, minval=1, title="Length")
mas = input(title="Aggregation", defval="SUM", options=["SUM", "EMA", "WMA"])
e = input(10.0, title="Volume Exponent (0-10 reduces & 10+ increases volume effect)")
p = input(false, title="Show in Percentage")
mvs = input(false, "Factor in Price (Money Volume)")
src=input(hlc3, title="Source for price factor")

trl = min(low,close[1]), trh = max(high,close[1]) // 'true range' fixes issues caused by gaps in price
wv = pow(volume,e/10.0)*(mvs ? src : 1)
ad = (trh==trl ? 0 : (2*close-(trh+trl))/tr(true))*wv
cmf = mas=="SUM" ? sum(ad, len)/sum(wv, len) : mas=="EMA" ? ema(ad, len)/ema(wv, len) : mas=="WMA" ? wma(ad, len)/wma(wv, len) : na
cmf_p  = if p
    50*cmf+50
else
    cmf
b = p ? 50 : 0


//WaveTrend
n1 = input(10, "Channel Length")
n2 = input(21, "Average Length")
obLevel1 = input(60, "Over Bought Level 1")
obLevel2 = input(53, "Over Bought Level 2")
osLevel1 = input(-60, "Over Sold Level 1")
osLevel2 = input(-53, "Over Sold Level 2")
 
ap = hlc3 
esa = ema(ap, n1)
d = ema(abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ema(ci, n2)
 
wt1 = tci
wt2 = sma(wt1,4)
// 


longCondition = wt1 < -60 and cmf < - 0.20
if (longCondition)
 
    strategy.entry("My Long Entry Id", strategy.long)
    
 
shortCondition = wt1 > 60 and cmf > 0.20
if (shortCondition)
 
    strategy.entry("My Short Entry Id", strategy.short)
    
closeLongCondition = cmf_p > 0.18 ? true : false
closeShortCondition = cmf_p < -0.18 ? true : false
    
    
strategy.close("My Long Entry Id", when=(closeLongCondition == true))
strategy.close("My Short Entry Id", when=(closeShortCondition == true))

Lebih banyak