Strategi mengikuti tren berdasarkan saluran gelombang dan indikator aliran uang


Tanggal Pembuatan: 2023-11-16 16:38:03 Akhirnya memodifikasi: 2023-11-16 16:38:03
menyalin: 0 Jumlah klik: 703
1
fokus pada
1617
Pengikut

Strategi mengikuti tren berdasarkan saluran gelombang dan indikator aliran uang

Ringkasan

Strategi ini menggunakan indikator saluran gelombang dan indikator aliran dana yang dikombinasikan untuk mengidentifikasi arah tren dan melakukan pelacakan tren. Strategi ini berjalan pada siklus waktu 15 menit, menilai arah tren harga melalui saluran gelombang, dan kemudian menggunakan indikator aliran dana untuk mengkonfirmasi tren, untuk mencapai pelacakan tren yang melampaui garis pendek.

Prinsip Strategi

Indikator WaveTrend dapat secara efektif mengidentifikasi arah tren harga. Ini terdiri dari saluran rata-rata, saluran rata-rata dan saluran indeks. Saluran rata-rata adalah rata-rata bergerak indeks harga, yang mencerminkan tren harga; Saluran rata-rata adalah rata-rata bergerak saluran rata-rata, yang digunakan untuk menentukan saluran rata-rata; Indeks saluran mencerminkan seberapa jauh harga dari saluran rata-rata, dan memberikan sinyal overbought dan oversold.

Indikator arus kas (CMF) dapat menilai arus masuk dan keluar dana, mengkonfirmasi tren. Indikator ini didasarkan pada akumulasi / garis distribusi setelah penyesuaian volume transaksi, yang mencerminkan kekuatan antara pembeli dan penjual. Nilai di dekat 0 menunjukkan keseimbangan arus masuk dan keluar dana; di bawah 0 menunjukkan arus keluar dana, di atas 0 menunjukkan arus masuk dana.

Strategi ini berjalan pada siklus 15 menit, dengan indikator saluran gelombang untuk menentukan arah tren harga, kemudian menggunakan indikator aliran dana untuk mengkonfirmasi, sehingga memungkinkan pelacakan tren. Secara khusus, jika indikator saluran saluran saluran indikator lebih rendah dari -60 dan indikator aliran dana kurang dari -0.2, maka lakukan over; jika indikator saluran saluran indikator lebih tinggi dari 60 dan indikator aliran dana lebih besar dari 0.2, maka lakukan posisi kosong.

Keunggulan Strategis

  1. Indikator Wave Channel yang efektif dalam menentukan arah tren harga
  2. Indikator arus kas dapat mengkonfirmasi arah tren dan menghindari kesalahan perdagangan
  3. Menggabungkan Wave Channel dan Indeks Aliran Uang untuk Melacak Tren Ultra-Short Line
  4. Siklus operasi 15 menit, lebih cocok untuk operasi garis pendek

Risiko Strategis

  1. Indikator saluran gelombang dapat menghasilkan sinyal yang salah selama penyusunan
  2. Indikator aliran dana mungkin tertinggal, terlepas dari titik balik tren
  3. Operasi siklus tunggal berisiko tinggi, dan siklus memegang posisi harus dilonggarkan secara tepat
  4. Kurangnya strategi stop loss, tidak bisa mengendalikan kerugian tunggal

Solusi untuk Mengatasi Risiko:

  1. Konfirmasi dengan indikator lain untuk menghindari sinyal yang salah
  2. Adaptasi parameter indikator arus kas untuk meningkatkan sensitivitas
  3. Periode kepemilikan dapat diperpanjang secara tepat untuk mengurangi risiko satu siklus
  4. Meningkatkan strategi seperti stop loss bergerak, stop loss perpindahan, dan pengendalian kerugian

Arah optimasi strategi

  1. Meningkatkan optimasi posisi untuk strategi yang lebih baik untuk melacak tren
  2. Meningkatkan strategi stop loss untuk mengendalikan kerugian tunggal
  3. Kombinasi dengan stoch polygon dan lain-lain, untuk menghindari sinyal yang salah karena indikator tunggal
  4. Uji waktu yang berbeda untuk mencari periode yang optimal
  5. Mengoptimalkan parameter indikator arus kas untuk menemukan kombinasi parameter yang optimal

Meringkaskan

Strategi ini menggunakan indikator saluran gelombang untuk menentukan arah tren, dan indikator aliran dana untuk mengkonfirmasi, untuk mencapai operasi pelacakan tren yang melampaui garis pendek. Keuntungan dari strategi ini adalah portofolio indikator yang masuk akal, dapat melacak tren secara efektif, dan siklus 15 menit lebih cocok untuk operasi garis pendek. Namun, ada juga risiko, seperti sinyal indikator yang tidak akurat, waktu memegang posisi yang terlalu pendek, dll.

Kode Sumber Strategi
/*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))