Noro trend-tracking trading strategy adalah strategi trend-tracking yang mudah berdasarkan saluran harga, RSI dan penapis entiti. Ia mengenal pasti arah saluran harga sebagai trend besar, menggunakan overbought dan oversold RSI untuk masuk ke dalam, dan bekerjasama dengan penapis entiti untuk menghantar isyarat perdagangan.
Logik dagangan utama dalam strategi ini ialah:
Menggunakan saluran harga untuk menentukan arah trend besar. Dengan mengira harga tertinggi dan terendah dalam tempoh tertentu, saluran dibentuk, harga terletak di atas saluran sebagai bullish dan di bawah saluran sebagai bearish.
RSI menentukan kawasan overbought dan oversold, membantu mencari titik masuk. RSI lebih tinggi daripada 60 adalah kawasan overbought, dan lebih rendah daripada 40 adalah kawasan oversold.
Penapis entiti mengeluarkan isyarat terakhir. Hanya berdagang dengan entiti yang lebih besar dari saiz tertentu, untuk mengelakkan bunyi bising.
Gabungan trend besar, isyarat RSI dan penapis entiti untuk masuk. Isyarat bullish masuk lebih banyak di bawah trend multihead, isyarat bearish masuk di bawah trend kosong.
Ia menawarkan pilihan warna latar belakang yang boleh digunakan untuk menilai arah trend.
Tempoh perdagangan strategi yang boleh disesuaikan, perdagangan hanya dalam tempoh masa yang dipilih.
Strategi ini mempunyai resonansi pelbagai indikator, trend besar menentukan arah, RSI menentukan masa, penapisan entiti menentukan kualiti, membentuk strategi pengesanan trend yang agak stabil.
Strategi ini mempunyai kelebihan utama:
Saluran harga secara intuitif menilai arah trend besar, mengelakkan pembalikan tiub.
Indeks RSI berkesan mengenal pasti titik-titik kemasukan untuk overbought dan oversold.
Penapisan fizikal meningkatkan kualiti isyarat dan mengelakkan bunyi bising atau isyarat palsu.
Penapisan dan pengesahan pelbagai indikator untuk meningkatkan ketepatan keputusan.
Menggunakan penunjuk mudah, mengurangkan risiko pengoptimuman kurva.
Tempoh dagangan yang boleh disesuaikan, aplikasi yang fleksibel untuk trend besar.
Mudah untuk dikendalikan dengan parameter yang lebih sedikit, dan boleh digunakan dengan mudah oleh pemula.
Ia menyediakan pilihan warna latar belakang untuk kesan visual yang jelas.
Strategi ini juga mempunyai risiko:
“Ketika ini, kita tidak dapat menjangkakan bahawa harga akan meningkat dengan ketara”, katanya.
RSI berisiko memberi isyarat yang salah, dan overbought dan oversold dianggap tidak tepat.
Penapisan entiti mengecualikan risiko isyarat normal, kehilangan peluang perdagangan.
Dalam beberapa tahun kebelakangan ini, ia telah menjadi lebih ketara di kalangan peniaga-peniaga yang bergelut dalam pasaran saham.
Risiko pengoptimuman, parameter yang tidak betul boleh menyebabkan pengoptimuman berlebihan.
Risiko kedudukan, perdagangan penuh secara lalai boleh memperbesar kerugian.
Strategi ini hanya sesuai untuk varieti trend.
Ia adalah risiko yang ditetapkan pada masa perdagangan, dan ia perlu ditetapkan dengan munasabah untuk berfungsi.
Strategi ini boleh dioptimumkan dengan:
Tambah strategi hentikan kerugian untuk mengawal kerugian tunggal.
Parameter yang dioptimumkan agar lebih sesuai dengan ciri-ciri jenis transaksi tertentu.
Tambah modul pengurusan kedudukan untuk menyesuaikan kedudukan mengikut kekuatan dan kelemahan trend.
Anda boleh menetapkan kawalan penarikan balik untuk mengelakkan kerugian daripada berkembang.
Untuk meningkatkan ketepatan, buktikan isyarat digabungkan dengan penunjuk harga kuantiti.
Menambah teknologi seperti pembelajaran mesin untuk pengoptimuman parameter.
Untuk mengoptimumkan klasifikasi jenis perdagangan dan membuat strategi peribadi.
Mengoptimumkan logik tetapan untuk tempoh perdagangan, menjadikannya lebih fleksibel.
Noro trend tracking strategi mengintegrasikan saluran harga, RSI dan penapis entiti, membentuk satu strategi trend tracking yang mudah dan praktikal. Ia boleh berputar, mengelakkan perdagangan berlawanan. Dengan pengoptimuman parameter, kawalan risiko dan lain-lain, strategi ini dijangka menjadi strategi perdagangan trend yang menguntungkan dan mampan.
/*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()