WaveTrend dan CMF Berasaskan Trend Mengikut Strategi

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

img

Ringkasan

Strategi ini menggabungkan penunjuk WaveTrend dan penunjuk Chaikin Money Flow (CMF) untuk mengenal pasti arah trend dan mengikuti trend. Ia berjalan dalam jangka masa 15 minit, menggunakan WaveTrend untuk menentukan trend harga dan CMF untuk mengesahkan trend, dengan itu melaksanakan trend jangka pendek.

Logika Strategi

Indikator WaveTrend dapat mengenal pasti arah trend harga dengan berkesan. Ia terdiri daripada saluran pertengahan, saluran purata dan indeks saluran. Saluran pertengahan adalah purata bergerak eksponen harga, mencerminkan trend harga. Saluran purata adalah purata bergerak saluran pertengahan, digunakan untuk mencari saluran pertengahan. Indeks saluran mencerminkan tahap penyimpangan harga dari saluran pertengahan dan menghasilkan isyarat overbought / oversold.

Indikator CMF boleh menilai aliran masuk dan keluar dana dan mengesahkan trend. Indikator ini berdasarkan garis pengumpulan / pengedaran yang diselaraskan dengan jumlah, mencerminkan perbandingan daya beli dan jual. Nilai sekitar 0 menunjukkan keseimbangan antara aliran masuk dana dan aliran keluar. Di bawah 0 menunjukkan aliran keluar dana dan di atas 0 menunjukkan aliran masuk dana.

Strategi ini berjalan pada jangka masa 15 minit. Ia mula-mula menggunakan penunjuk WaveTrend untuk menentukan arah trend harga, kemudian menggunakan penunjuk CMF untuk mengesahkan, supaya mengikuti trend. Khususnya, apabila indeks saluran WaveTrend di bawah -60 dan CMF kurang dari -0.2, ia pergi lama. Apabila indeks saluran WaveTrend di atas 60 dan CMF lebih besar daripada 0.2, ia pergi pendek. Syarat keluar terutamanya berdasarkan penunjuk CMF - ia menutup kedudukan panjang apabila CMF lebih besar daripada 0.18, dan menutup kedudukan pendek apabila CMF kurang daripada -0.18.

Analisis Kelebihan

  1. Indikator WaveTrend dapat menentukan arah trend harga dengan berkesan.
  2. Penunjuk CMF boleh mengesahkan arah trend dan mengelakkan perdagangan yang salah.
  3. Menggabungkan WaveTrend dan CMF boleh mencapai trend jangka pendek.
  4. Tempoh 15 minit menjadikannya lebih sesuai untuk perdagangan jangka pendek.

Analisis Risiko

  1. WaveTrend boleh menghasilkan isyarat yang salah semasa penyatuan.
  2. CMF mungkin ketinggalan dan terlepas titik perubahan trend.
  3. Perdagangan pada satu jangka masa mempunyai risiko yang lebih tinggi, perlu memperluaskan tempoh pegangan.
  4. Kekurangan strategi stop loss, tidak dapat mengawal kerugian tunggal.

Penyelesaian:

  1. Tambah penunjuk lain untuk pengesahan untuk mengelakkan isyarat yang salah.
  2. Sesuaikan parameter CMF untuk kepekaan yang lebih tinggi.
  3. Memperluaskan tempoh penyimpanan untuk mengurangkan risiko dalam satu jangka masa.
  4. Tambah pergerakan stop loss, break-even stop dan lain-lain untuk mengawal kerugian.

Pengoptimuman

  1. Tambah saiz kedudukan untuk trend yang lebih baik.
  2. Tambah strategi stop loss untuk mengehadkan kerugian tunggal.
  3. Tambah penunjuk seperti stokastik untuk mengelakkan kesilapan dari satu penunjuk.
  4. Uji tempoh tahan yang berbeza untuk mencari yang optimum.
  5. Mengoptimumkan parameter CMF untuk mencari kombinasi terbaik.

Ringkasan

Strategi ini menggunakan WaveTrend untuk menentukan trend dan CMF untuk mengesahkan, untuk trend jangka pendek. Kelebihannya terletak pada kombinasi penunjuk yang munasabah dan trend yang berkesan, dengan jangka masa 15 minit menjadikannya sesuai untuk perdagangan jangka pendek. Tetapi terdapat risiko seperti isyarat yang tidak tepat dan tempoh pemegang yang terlalu pendek. Penambahbaikan masa depan seperti stop loss, pengoptimuman parameter dan penapisan isyarat yang lebih banyak dapat meningkatkan kestabilan dan keuntungan.


/*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 lanjut