Strategi Penembusan Saluran Rata-rata yang Bergerak

Penulis:ChaoZhang, Tanggal: 2024-01-29 10:26:25
Tag:

img

Gambaran umum

Strategi ini menghitung rel tengah, atas dan bawah dari Saluran Keltner. Ini mengisi warna di atas rel tengah dan bawah. Setelah menentukan arah saluran, ia menerobos dan membeli dan menjual. Ini adalah semacam strategi pelacakan tren.

Prinsip Strategi

Indikator inti adalah Saluran Keltner. Rel tengah saluran adalah rata-rata bergerak tertimbang N-hari dari harga khas (harga tertinggi + harga terendah + harga penutupan) / 3. Jalur rel atas dan bawah saluran masing-masing adalah satu rentang perdagangan N-hari rata-rata bergerak tertimbang jauh dari jalur rel tengah. Di mana rentang perdagangan dapat memilih ATR volatilitas sejati, atau langsung mengambil amplitudo (harga tertinggi - harga terendah). Yang terakhir diadopsi dalam strategi ini.

Secara khusus, strategi ini terutama menilai apakah harga menembus rel atas atau rel bawah, dan membuat keputusan panjang atau pendek dengan rel tengah sebagai batas. Jika harga penutupan lebih besar dari rel atas, pergi panjang; jika harga penutupan kurang dari rel bawah, pergi pendek.

Analisis Keuntungan

  1. Menggunakan indikator Saluran Keltner, ia memiliki penilaian yang baik tentang kisaran fluktuasi harga, menghindari terobosan palsu.
  2. Menggunakan rata-rata bergerak rel tengah sebagai dukungan dapat mengurangi kerugian.
  3. Menembus rel atas untuk panjang dan rel bawah untuk pendek adalah bagian dari strategi pelacakan tren, yang sesuai dengan hukum perubahan harga sebagian besar saham.

Analisis Risiko

  1. Strategi saluran terobosan sangat sensitif terhadap parameter dan membutuhkan pengujian berulang untuk menemukan kombinasi parameter terbaik.
  2. Ketika harga saham turun naik tajam dalam jangka pendek, risiko perdagangan akan meningkat.
  3. Efek ini memiliki korelasi yang tinggi dengan pengaturan parameter dan varietas, dan penyesuaian diperlukan untuk beradaptasi dengan varietas yang berbeda.

Arahan Optimasi

  1. Menggabungkan indikator lain untuk menyaring sinyal dan menghindari transaksi yang salah. seperti indikator momentum, indikator volatilitas, dll.
  2. Mengoptimalkan parameter untuk menemukan kombinasi parameter terbaik.
  3. Akan ada perbedaan yang cukup besar dalam pengaturan parameter untuk varietas yang berbeda, yang perlu dioptimalkan secara terpisah.

Ringkasan

Secara umum, strategi ini relatif sederhana dan langsung, dan ini adalah strategi terobosan harga yang umum. Keuntungannya adalah bahwa idenya jelas dan mudah dipahami dan diimplementasikan, yang cocok untuk pemula untuk dipelajari. Tapi ada juga keterbatasan tertentu. Ini sensitif terhadap parameter, hasilnya tidak merata, dan pengujian dan optimasi berulang diperlukan. Jika dapat dikombinasikan dengan indikator penilaian yang lebih kompleks, ini dapat membentuk strategi perdagangan yang lebih kuat.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © WMX_Q_System_Trading
//@version=3

strategy(title = "WMX Keltner Channels strategy", shorttitle = "WMX Keltner Channels strategy", overlay = true)

useTrueRange = input(true)
length = input(20, minval=5)
mult = input(2.618, minval=0.1)
mah =ema(ema( ema(high, length),length),length)
mal =ema(ema( ema(low, length),length),length)
range = useTrueRange ? tr : high - low
rangema =ema(ema( ema(range, length),length),length)
upper = mah + rangema * mult
lower = mal - rangema * mult
ma=(upper+lower)/2
uc = red
lc=green
u = plot(upper, color=uc, title="Upper")
basis=plot(ma, color=yellow, title="Basis")
l = plot(lower, color=lc, title="Lower")
fill(u, basis, color=uc, transp=95)
fill(l, basis, color=lc, transp=95)


strategy.entry("Long", strategy.long,  stop = upper, when = strategy.position_size <= 0 and close >upper)
strategy.entry("Short", strategy.short,  stop = lower, when = strategy.position_size >= 0 and close<lower)
if strategy.position_size > 0 
    strategy.exit("Stop Long", "Long", stop = ma)

if strategy.position_size < 0 
    strategy.exit("Stop Short", "Short", stop = ma)





Lebih banyak