
Strategi ini menggabungkan penunjuk ATR rata-rata yang menyesuaikan diri dan pengesanan trend untuk mencari trend di pasaran dan melakukan perdagangan trend. Strategi ini menggunakan Hull Moving Average untuk melonggarkan ATR, membentuk rata-rata ATR yang lancar, dan kemudian menghantar isyarat perdagangan berdasarkan hubungan harga dengan garis rata-rata ATR.
Indikator ATR adalah alat penting untuk mengukur turun naik pasaran dan perubahan sebenar harga saham. Indikator ATR adalah pemprosesan rata-rata indikator ATR, setelah membentuk garis rata, kemudian dibandingkan dengan harga, untuk menilai trend harga.
Khususnya, strategi ini mula mengira TR ((True Range), iaitu perbezaan antara harga tertinggi dan terendah pada hari itu, dan mengambil perbezaan terbesar antara harga Tertutup hari sebelumnya dan harga tertinggi dan terendah semasa. Kemudian menggunakan kaedah purata bergerak Hull untuk meluruskan TR dan mengira rata-rata ATR yang menyesuaikan diri.
Setelah mengira garis rata-rata ATR, strategi ini membandingkan harga dengan garis rata-rata ATR. Apabila harga melintasi garis rata-rata ATR di atas, menunjukkan harga mula memasuki trend naik, strategi ini membuka kedudukan Long; Apabila harga melintasi garis rata-rata ATR di bawah, menunjukkan harga mula memasuki trend menurun, strategi ini membuka kedudukan Short.
Selain itu, strategi ini juga menetapkan julat stop loss yang tetap. Setiap kali membuka kedudukan, menetapkan titik stop loss dan titik stop loss yang tetap, berhenti keluar apabila harga menyentuh titik stop loss, dan berhenti keluar apabila menyentuh titik stop loss. Ini dapat membatasi kerugian setiap satuan, sambil mengunci keuntungan.
Secara keseluruhannya, strategi ini menggabungkan penunjuk ATR rata-rata yang disesuaikan dengan langkah-langkah pengurusan risiko yang ketat untuk menangkap trend harga yang lebih besar, sambil mengawal setiap kerugian dan mencapai pertumbuhan keuntungan yang stabil.
Strategi ini mempunyai kelebihan utama:
Menggunakan penunjuk rata-rata ATR yang menyesuaikan diri, ia dapat mengenal pasti trend harga yang lebih besar, menapis Noise pasaran, dan mencegah penangkapan.
Menggunakan kaedah purata bergerak Hull untuk mengira garis purata ATR, menjadikan garis purata ATR lebih licin dan mengelakkan tertipu oleh getaran frekuensi tinggi.
Tetapkan titik henti rugi tetap, yang dapat mengehadkan kerugian tunggal, sambil mengunci keuntungan, untuk menjamin nisbah risiko / keuntungan setiap perdagangan.
Menggunakan kaedah perdagangan yang mengikuti trend, ia dapat menangkap trend harga secara berterusan dan meningkatkan kemungkinan keuntungan.
Logik strategi ringkas dan jelas, mudah difahami, parameter yang ditetapkan fleksibel, sesuai dengan pelbagai jenis dan persekitaran pasaran.
Ia boleh dikesan trend dalam mana-mana jenis dan mempunyai kebolehan adaptasi yang kuat.
Strategi ini mempunyai risiko utama:
Kemungkinan ATR menghantar isyarat yang salah. Harga mungkin mengalami turun naik yang teruk, yang menyebabkan ATR salah menilai dan menghasilkan isyarat yang salah.
Stop loss yang terlalu kecil boleh meningkatkan kebarangkalian penangguhan yang dicetuskan. Anda perlu memastikan penempatan stop loss yang munasabah dan memberi ruang yang mencukupi untuk turun naik harga.
Sasaran hentian tetap mungkin berhenti terlalu awal dan gagal untuk terus menangkap trend. Anda boleh mempertimbangkan untuk menyesuaikan titik hentian mengikut dinamik ATR.
Kejadian yang tidak dijangka menyebabkan harga melambung tinggi dan mencetuskan penangguhan kerugian.
Apabila trend berbalik, anda mungkin akan dipenjarakan jika anda tidak menebusnya tepat pada masanya. Anda perlu menilai isyarat akhir trend tepat pada masanya.
Parameter perlu dioptimumkan untuk pelbagai jenis dan keadaan pasaran, jika tidak, ia akan menjejaskan prestasi strategi.
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Parameter untuk mengoptimumkan garisan purata ATR, termasuk tempoh dan parameter kelancaran dalam pengiraan ATR. Kombinasi parameter yang berbeza akan mempengaruhi garisan purata ATR.
Untuk mengoptimumkan strategi stop loss, pertimbangkan untuk menyesuaikan stop loss mengikut ATR dinamik, dan bukannya tetapan tetap.
Menambah peraturan penghakiman trend, digabungkan dengan indikator lain untuk menentukan isyarat pembalikan trend, untuk mengelakkan terbalik dalam kurungan.
Parameter diuji dan dioptimumkan mengikut pelbagai jenis dan keadaan pasaran untuk mencari parameter yang optimum.
Meningkatkan penghakiman terhadap kejadian yang tidak dijangka, menghentikan perdagangan apabila berlaku lompatan besar, dan mengawal kerugian.
Optimumkan pilihan masa masuk, anda boleh mempertimbangkan untuk masuk pada waktu penarikan balik, dan bukannya masuk pada masa kenaikan harga, mengurangkan risiko.
Mengoptimumkan kombinasi parameter, menguji kombinasi parameter ATR dengan panjang dan kelancaran yang berbeza untuk mencari kecocokan terbaik.
Strategi ini secara keseluruhannya menggunakan trend ATR rata-rata yang menyesuaikan diri untuk mencari trend, dan melakukan perdagangan mengikut trend dengan cara menetapkan stop loss. ATR rata-rata dapat mengenal pasti trend dengan berkesan, dan menetapkan stop loss untuk mengawal nisbah keuntungan risiko. Keuntungan strategi ini adalah logiknya sederhana dan jelas, mudah difahami; boleh disesuaikan mengikut parameter untuk pelbagai jenis.
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("ATR(Hull)", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills= false, calc_on_every_tick=true, pyramiding=0)
length = input(title="Length", defval=14, minval=1)
price = input(close)
SL = input(50, title="Stop loss")
TP = input(150, title="Take profit")
FromMonth = input(defval = 9, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
window() => true
p=price[1]
func_hma(style, length)=>
return = wma((2*wma(p,length/2))-wma(p,length),round(sqrt(length)))
ATR=func_hma(tr(true), length)
plot(ATR[0], title="ATR1",color=green,transp=0)
plot(ATR[1], title="ATR2",color=red,transp=0)
if (ATR>ATR[1])
strategy.entry("long",strategy.long,comment="Long",when=window())
if (ATR<ATR[1])
strategy.entry("short",strategy.short,comment="Short",when=window())
//strategy.close_all(when=strategy.openprofit<-eqSL and window())
//strategy.close_all(when=strategy.openprofit>eqTP and window())
strategy.exit("exit", "long", profit = TP, loss = SL)
strategy.exit("exit", "short", profit = TP, loss = SL)