Noro
Aspek utama adalah:
Saluran harga menentukan tren keseluruhan. Saluran yang terbentuk dengan melihat kembali tinggi/rendah menentukan tren naik/turun.
RSI menunjukkan overbought/oversold untuk waktu masuk. RSI di atas 60 adalah overbought, di bawah 40 adalah oversold zone.
Filter tubuh memberikan sinyal akhir. Perdagangan hanya jika tubuh lilin melebihi ambang untuk menghindari kebisingan.
Entri berdasarkan kombinasi tren, sinyal RSI dan filter tubuh. Entri panjang dalam tren naik pada sinyal bullish, entri pendek dalam tren turun pada sinyal bearish.
Warna latar belakang opsional dengan jelas memvisualisasikan tren.
Kerangka waktu perdagangan yang dapat disesuaikan untuk melakukan perdagangan secara selektif.
Beberapa indikator selaras untuk menciptakan tren yang relatif stabil mengikuti sistem.
Keuntungan utama adalah:
Saluran harga secara intuitif mengidentifikasi arah tren keseluruhan.
RSI secara efektif mendeteksi tingkat overbought / oversold untuk entri waktu.
Filter tubuh meningkatkan kualitas sinyal dan menghindari sinyal palsu.
Konfirmasi multi-indikator meningkatkan akurasi.
Indikator sederhana mengurangi risiko penyesuaian kurva.
Kerangka waktu perdagangan yang dapat disesuaikan menambah fleksibilitas.
Mudah digunakan dengan parameter minimal.
Warna latar belakang memberikan kejelasan visual.
Beberapa risiko yang perlu dipertimbangkan:
Risiko kesalahan identifikasi tren saluran harga.
Risiko sinyal RSI yang tidak akurat.
Filter tubuh menghilangkan sinyal yang valid.
Risiko penarikan selama koreksi tren.
Risiko optimasi dari pengaturan parameter yang buruk.
Risiko ukuran posisi dari alokasi penuh default.
Risiko pilihan instrumen jika diterapkan pada aset non-trending.
Risiko jangka waktu perdagangan jika tidak dikonfigurasi dengan benar.
Beberapa kemungkinan peningkatan:
Tambahkan strategi stop loss untuk mengendalikan kerugian per perdagangan.
Mengoptimalkan parameter berdasarkan perilaku instrumen.
Masukkan aturan ukuran posisi berdasarkan kekuatan tren.
Menerapkan batas penarikan untuk menahan kerugian.
Tambahkan analisis harga volume untuk verifikasi sinyal.
Memperkenalkan pembelajaran mesin untuk optimasi parameter.
Parameter khusus berdasarkan kelas aset.
Memperbaiki logika jangka waktu perdagangan untuk fleksibilitas yang lebih besar.
Noro's trend following strategy mengintegrasikan saluran harga, RSI dan filter tubuh ke dalam sistem perdagangan tren yang sederhana dan praktis. Ini dapat berdagang sepanjang tren dan menghindari perdagangan kontra-tren. Dengan optimasi parameter, kontrol risiko dan perbaikan lainnya, strategi ini berpotensi menjadi strategi perdagangan tren yang konsisten menguntungkan.
/*backtest start: 2023-08-25 00:00:00 end: 2023-09-24 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy(title = "Noro's TrendMaster Strategy v1.0", shorttitle = "TrendMaster str 1.0", 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") len = input(21, defval = 20, minval = 2, maxval = 200, title = "MA Period") needbg = input(false, defval = false, title = "Need trend Background?") 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") //PriceChannel 1 lasthigh = highest(close, len) lastlow = lowest(close, len) center = (lasthigh + lastlow) / 2 //Trend trend = low > center and low[1] > center[1] ? 1 : high < center and high[1] < center[1] ? -1 : trend[1] //Bars bar = close > open ? 1 : close < open ? -1 : 0 //Fast RSI fastup = rma(max(change(close), 0), 2) fastdown = rma(-min(change(close), 0), 2) rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Body filter nbody = abs(close - open) abody = sma(nbody, 10) body = nbody > abody / 2 //Signals up1 = trend == 1 and rsi < 60 and (strategy.position_avg_price > close or strategy.position_size <= 0) and body dn1 = trend == -1 and rsi > 40 and (strategy.position_avg_price < close or strategy.position_size >= 0) and body //Lines plot(center, color = blue, linewidth = 3, transp = 0, title = "MA") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 80) //Trading if up1 strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if dn1 strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all()