Strategi Saluran Harga Noro v1.1

Penulis:ChaoZhang, Tanggal: 2023-10-24 10:59:38
Tag:

img

Gambaran umum

Noro's Price Channel Strategy v1.1 adalah strategi perdagangan tren yang didasarkan pada saluran harga dan perubahan arah harga. Strategi ini menggabungkan indikator saluran harga dan indikator RSI cepat untuk mengidentifikasi sinyal price breakout dari saluran, bersama dengan sinyal pembalikan warna lilin merah / hijau berturut-turut untuk membangun posisi panjang / pendek. Tujuan dari strategi ini adalah untuk menangkap arah tren jangka menengah hingga panjang, sambil menghindari kebisingan dari fluktuasi pasar jangka pendek.

Logika Strategi

Strategi ini pertama-tama menghitung rata-rata harga tertinggi dan terendah selama periode tertentu untuk membangun saluran harga pertengahan. Ketika harga pecah di atas saluran dari bawah, itu dianggap sinyal panjang. Ketika harga pecah di bawah saluran dari atas, itu dianggap sinyal pendek.

Pada saat yang sama, strategi ini menggabungkan dua aturan tambahan: RSI cepat dan warna lilin. Ketika RSI cepat di bawah 25%, ini menunjukkan status oversold dan harga mungkin bangkit kembali. Bersama dengan pecah di atas saluran, ini menghasilkan sinyal panjang yang lebih kuat. Sebaliknya, ketika RSI cepat di atas 75%, ini menunjukkan status overbought dan harga mungkin turun. Bersama dengan kerusakan di bawah saluran, ini menghasilkan sinyal pendek yang lebih kuat. Selain itu, strategi ini melacak perubahan warna lilin selama dua lilin terakhir. Dua lilin merah berturut-turut meningkatkan sinyal pendek, sementara dua lilin hijau berturut-turut meningkatkan sinyal panjang.

Dengan menggabungkan tiga indikator sinyal ini, strategi dapat secara efektif mengidentifikasi tren jangka menengah hingga panjang dan menetapkan posisi sesuai.

Keuntungan

Keuntungan terbesar dari strategi ini adalah menggabungkan beberapa indikator untuk menentukan arah tren dan menghindari kebisingan dari fluktuasi pasar jangka pendek.

  1. Saluran harga dengan jelas mengidentifikasi arah tren dan kekuatan.

  2. RSI cepat menilai kondisi overbought/oversold untuk menghindari mengejar tren pada titik balik.

  3. Validasi warna lilin lebih lanjut memverifikasi keberlanjutan tren. Posisi ditutup jika warna berubah.

  4. Strategi ini hanya masuk pada dua lilin berwarna yang sama berturut-turut memecahkan saluran, menghindari sinyal palsu dari osilasi jangka pendek.

  5. Stop loss rata-rata sederhana menutup posisi setelah warna lilin berubah, meminimalkan kerugian secara efektif.

Risiko

Ada juga beberapa risiko yang harus diperhatikan untuk strategi ini:

  1. Pengaturan parameter saluran harga yang tidak benar dapat mengakibatkan saluran yang terlalu lebar atau terlalu sempit, kehilangan titik perubahan tren atau menghasilkan sinyal palsu yang berlebihan.

  2. Pengaturan parameter RSI cepat yang tidak tepat mungkin gagal mengidentifikasi kondisi overbought/oversold dengan akurat, sehingga kehilangan peluang pembalikan.

  3. Mekanisme stop loss sederhana mungkin terlalu sensitif pada tren bergolak, menyebabkan pembukaan dan penutupan posisi yang berlebihan.

  4. Ini tidak dapat memprediksi kelanjutan tren yang sebenarnya setelah menembus saluran harga, yang mengarah pada kerugian yang diperkuat.

  5. Tidak bisa beradaptasi dengan peristiwa angsa hitam dengan dampak pasar yang tiba-tiba, mengakibatkan kerugian besar.

Peluang Peningkatan

Beberapa peluang utama untuk meningkatkan strategi meliputi:

  1. Sesuaikan secara dinamis parameter saluran harga untuk lebih beradaptasi dengan volatilitas di berbagai periode dan pasar.

  2. Menggabungkan ukuran volatilitas untuk menyesuaikan parameter RSI, menurunkan sensitivitas selama volatilitas tinggi dan meningkatkan sensitivitas selama volatilitas rendah.

  3. Tambahkan mekanisme stop trailing dengan level stop berdasarkan volatilitas tren untuk menghindari stop out yang terlalu sensitif.

  4. Meningkatkan identifikasi kekuatan terobosan dan divergensi bearish/bullish untuk menghindari terobosan palsu.

  5. Mengintegrasikan model pelatihan data historis untuk membantu memperkirakan titik balik tren dengan kemungkinan tinggi dan meningkatkan akurasi entri.

  6. Mengoptimalkan model ukuran posisi untuk menyesuaikan alokasi secara dinamis berdasarkan kondisi risiko.

Kesimpulan

Secara keseluruhan, Noro's Price Channel Strategy v1.1 adalah strategi trend berikut yang sederhana dan praktis. Ini menggabungkan beberapa indikator untuk mengidentifikasi arah tren jangka menengah hingga panjang dan menetapkan aturan masuk yang relatif bijaksana. Ada ruang untuk peningkatan lebih lanjut di bidang seperti mekanisme stop loss dan tuning parameter dinamis. Tetapi logika keseluruhan sederhana dan jelas, membuatnya mudah diterapkan untuk perdagangan kuantitatif, terutama untuk pemula. Dengan tuning parameter dan optimasi mekanisme, ini dapat menjadi sistem perdagangan yang stabil dan dapat diandalkan.


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

//Noro
//2018

//@version=2
strategy(title = "Noro's Price Channel Strategy v1.1", shorttitle = "Price Channel str 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usecol = input(true, defval = true, title = "Use color strategy")
usersi = input(true, defval = true, title = "Use RSI strategy")
lev = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage")
pch = input(30, defval = 30, minval = 2, maxval = 200, title = "Price Channel")
showcl = input(true, defval = true, title = "Show center-line")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")
src = close

//Price channel
lasthigh = highest(src, pch)
lastlow = lowest(src, pch)
center = (lasthigh + lastlow) / 2
trend = low > center ? 1 : high < center ? -1 : trend[1]
col = showcl ? blue : na
plot(center, color = col, linewidth = 2)

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
rbars = sma(bar, 2) == -1
gbars = sma(bar, 2) == 1

//Fast RSI
fastup = rma(max(change(src), 0), 2)
fastdown = rma(-min(change(src), 0), 2)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))

//Signals
body = abs(close - open)
abody = sma(body, 10)
up1 = rbars and close > center and usecol
dn1 = gbars and close < center and usecol
up2 = fastrsi < 25 and close > center and usersi
dn2 = fastrsi > 75 and close < center and usersi
exit = (((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2)
lot = strategy.equity / close * lev

//Trading
if up1 or up2
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1 or dn2
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

Lebih banyak