Noro
Aspek utama ialah:
Saluran harga menentukan trend keseluruhan. Saluran yang terbentuk dengan melihat ke belakang tinggi / rendah menentukan trend naik / turun.
RSI menunjukkan overbought / oversold untuk masa kemasukan. RSI di atas 60 adalah overbought, di bawah 40 adalah zon oversold.
Penapis badan memberikan isyarat akhir. Perdagangan hanya jika badan lilin melebihi ambang untuk mengelakkan bunyi bising.
Entri berdasarkan gabungan trend, isyarat RSI dan penapis badan. entri panjang dalam trend menaik pada isyarat kenaikan, entri pendek dalam trend menurun pada isyarat penurunan.
Warna latar belakang pilihan dengan jelas memvisualisasikan trend.
Jangka masa perdagangan yang boleh disesuaikan untuk perdagangan secara selektif.
Pelbagai penunjuk sejajar untuk mewujudkan trend yang agak stabil mengikut sistem.
Kelebihan utama ialah:
Saluran harga secara intuitif mengenal pasti arah trend keseluruhan.
RSI secara berkesan mengesan tahap overbought / oversold untuk kemasukan masa.
Penapis badan meningkatkan kualiti isyarat dan mengelakkan isyarat palsu.
Pengesahan pelbagai penunjuk meningkatkan ketepatan.
Penunjuk mudah mengurangkan risiko pemasangan lengkung.
Rangka masa perdagangan yang boleh disesuaikan menambah fleksibiliti.
Mudah digunakan dengan parameter minimum.
Warna latar belakang memberikan kejelasan visual.
Beberapa risiko yang perlu dipertimbangkan:
Risiko salah mengenal pasti trend saluran harga.
Risiko isyarat RSI yang tidak tepat.
Penapis badan menghapuskan isyarat yang sah.
Risiko pengurangan semasa pembetulan trend.
Risiko pengoptimuman daripada penyesuaian parameter yang buruk.
Risiko saiz kedudukan daripada peruntukan penuh lalai.
Risiko pemilihan instrumen jika digunakan pada aset bukan trend.
Risiko jangka masa perdagangan jika dikonfigurasi dengan tidak betul.
Beberapa kemungkinan peningkatan:
Tambah strategi stop loss untuk mengawal kerugian setiap perdagangan.
Mengoptimumkan parameter berdasarkan tingkah laku instrumen.
Menggabungkan peraturan saiz kedudukan berdasarkan kekuatan trend.
Melaksanakan had pengeluaran untuk menahan kerugian.
Tambah analisis harga jumlah untuk pengesahan isyarat.
Memperkenalkan pembelajaran mesin untuk pengoptimuman parameter
Mengkhususkan parameter berdasarkan kelas aset.
Memperbaiki logik jangka masa perdagangan untuk lebih fleksibiliti.
Noro
/*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()