Sumber daya yang dimuat... Pemuatan...

Tren Saluran Harga Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2024-01-08 11:05:11
Tag:

img

Gambaran umum

Strategi ini adalah strategi mengikuti tren berdasarkan prinsip saluran harga. Ini menghitung harga tertinggi dan terendah selama periode sejarah tertentu untuk membentuk saluran harga, dan menggunakan batas saluran sebagai sinyal beli dan jual untuk melacak tren harga.

Logika Strategi

Ide inti dari strategi saluran harga adalah: ketika harga saham berada dalam tren naik, ia akan menerobos rekor tertinggi historis; ketika berada dalam tren turun, ia akan menerobos rekor terendah historis. Oleh karena itu, saluran harga dapat dibangun berdasarkan harga tertinggi dan terendah selama periode historis tertentu (seperti 21 hari). rel atas dan bawah saluran berfungsi sebagai sinyal beli dan jual masing-masing.

Secara khusus, strategi ini menggunakan fungsi tertinggi dan terendah untuk menghitung harga tertinggi dan terendah selama 21 hari terakhir untuk membentuk saluran harga. Jika harga penutupan hari lebih tinggi dari level tertinggi 21 hari (yaitu menembus rel atas saluran), sinyal beli akan dihasilkan. Jika harga penutupan lebih rendah dari level terendah 21 hari (yaitu menembus rel bawah), sinyal jual akan dihasilkan.

Selain itu, strategi ini juga memeriksa kesenjangan untuk menilai potensi pembalikan tren. Jika ada kesenjangan ke bawah, saluran harga akan diatur menjadi merah untuk lindung nilai risiko. Jika ada kesenjangan ke atas, itu akan diatur menjadi hijau.

Analisis Keuntungan

Keuntungan utama dari strategi saluran harga adalah:

  1. Logika strategi sederhana, mudah dimengerti dan diterapkan
  2. Dapat secara efektif mengidentifikasi tren harga saham dan melacak tren secara tepat waktu
  3. Mengurangi biaya transaksi dengan menghasilkan sinyal melalui breakout
  4. Saluran harga dapat memainkan peran stop loss
  5. Memeriksa kesenjangan menunjukkan kemungkinan perubahan tren

Analisis Risiko

Ada juga beberapa risiko dengan strategi ini:

  1. Ini hanya mengandalkan data harga, mengabaikan fundamental lainnya, indikator teknis, dll.
  2. Pengaturan yang tidak benar dari parameter saluran dapat menyebabkan terlalu agresif atau terlalu konservatif
  3. Pembelian keluar dapat menghadapi risiko mundur yang menyebabkan stop loss
  4. Ini tidak mempertimbangkan dampak dari volatilitas harga dan likuiditas
  5. Perbedaan antara industri dan stok individu tidak diperhitungkan

Untuk mengatasi risiko ini, optimasi berikut dapat dipertimbangkan:

  1. Masukkan indikator teknis utama untuk menghindari sinyal yang salah
  2. Tambahkan algoritma parameter saluran adaptif
  3. Gunakan rata-rata bergerak untuk menilai keberlanjutan tren
  4. Atur faktor lebar saluran untuk mengoreksi tingkat volatilitas yang berbeda
  5. Membedakan parameter menurut industri dan konsep

Arahan Optimasi

Arah utama untuk mengoptimalkan strategi ini meliputi:

  1. Mengoptimalkan perhitungan parameter saluran harga, misalnya saluran adaptif, saluran volatilitas, dll.
  2. Mengintegrasikan indikator teknis lainnya untuk meningkatkan akurasi sinyal
  3. Tambahkan strategi stop loss dan take profit untuk mengendalikan risiko dan mengunci keuntungan
  4. Menetapkan parameter dinamis di berbagai industri dan stok individu
  5. Meningkatkan strategi dengan memasukkan dasar-dasar dan dorongan acara
  6. Menerapkan algoritma pembelajaran mesin untuk optimasi adaptif dan penilaian kondisi

Ringkasan

Strategi saluran harga membangun saluran sederhana dengan menggunakan puncak dan lereng sejarah dan menggunakan batas saluran sebagai sinyal perdagangan. Ini adalah strategi trend berikut yang khas yang mudah dipahami dan diimplementasikan dan dapat secara efektif melacak tren harga, dengan saluran harga berfungsi sebagai mekanisme stop loss. Namun ada juga risiko dengan strategi ini. Dimensi optimasi utama termasuk penyesuaian parameter, menggabungkan indikator lain, menerapkan stop loss / profit taking, parameterisasi dinamis, dll. Secara keseluruhan, strategi saluran harga memberikan kerangka kerja yang sederhana dan praktis untuk mengikuti tren untuk perdagangan kuantitatif, tetapi membutuhkan peningkatan dan optimasi lebih lanjut untuk mencapai kinerja yang lebih baik dalam perdagangan langsung.


/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//
//  作品: [LunaOwl] 樂活投資:價格通道
//  英文: [LunaOwl] LOHAS Investor - PriceChannel
//
///////////////////////////////
//     ~~!!*(๑╹◡╹๑) **      //
//  製作: @LunaOwl 彭彭      //
//  一版: 2019年12月07日     //
//  二版: 2019年12月09日     //
///////////////////////////////
//
//  介紹:
//--價格通道是一個古老的投資策略,對於「肯做功課選股」的上班族投資人非常方便。
//--由於大多數股市散戶沒有時間操作,即時有時間操作也只是加快輸錢的速度,所以,
//--上班族投資法,或「樂活投資」的條件有幾點:
//--**********
//--1) 設定溫和的投資報酬率期望
//--2) 使用適合的選股方式建立投資組合,減少單一股票的失誤率
//--3) 使用簡單的進出場策略,規律的執行它
//--4) 財富依靠時間積累,每天學習
//--**********
//
//==定義回測條件==//

strategy("[LunaOwl] 價格通道",
     initial_capital = 10000, commission_value = 0.07, 
     default_qty_type = strategy.percent_of_equity,
     default_qty_value = 50, overlay = true,
     calc_on_order_fills = true
     )

//==設定價格通道==//

Channel_Price  = input(close, title = "通道價格")
Channel_Length = input(21, title = "通道回溯長度")
Channel_High = highest(high, Channel_Length)
Channel_Low  = lowest(low, Channel_Length)

gapUp   = (low > high[1])
gapDown = (high < low[1])

BackgroundColour = (gapUp == true) ? color.green :
                   (gapDown == true) ? color.red : na
                   
bgcolor(BackgroundColour, transp=60)

BorderlineA = plot(Channel_High, title = "通道上線", color = color.red, style = plot.style_line)
BorderlineB = plot(Channel_Low, title = "通道下線", color = color.blue, style = plot.style_line)
fill(BorderlineA, BorderlineB, title = "通道底色", color = color.gray, transp = 85)

Long_entry = close >= Channel_High
Long_close_all = close <= Channel_Low

if (not na(close[Channel_Length]))
    strategy.entry("買入", strategy.long, comment = "高於近期", stop = Channel_High)
    strategy.entry("賣出", strategy.short, comment = "低於近期", stop = Channel_Low)

Lebih banyak