Strategi ini menunjukkan apa yang akan berlaku jika anda mengikut indikator Supertrend secara membabi buta. Seperti yang kita tahu, Supertrend tidak muncul dengan segera dan kita perlu menunggu bar seterusnya untuk memutuskan sama ada untuk memasuki kedudukan. Jadi anda boleh melihat apa yang akan berlaku jika anda mengambil kedudukan selepas Supertrend akhirnya terbentuk. Indikator ini sangat berbahaya tanpa alat lain dan boleh memberikan penurunan yang sangat serius. Jaga diri anda...
Strategi ini menggunakan penunjuk Supertrend untuk menentukan trend harga. Supertrend dibina berdasarkan Julat Benar Purata dan titik pertengahan harga tinggi dan rendah.
Apabila harga penutupan berada di atas rel atas, ia mewakili trend menaik yang berterusan; apabila harga penutupan berada di bawah rel bawah, ia mewakili trend penurunan yang berterusan.
Strategi ini menetapkan dua parameter: Faktor dan Pd. Faktor mengawal lebar saluran Supertrend, dan Pd mengawal panjang tempoh untuk mengira ATR. Berdasarkan kedua-dua parameter ini, rel atas dan bawah boleh dibina.
Rumus rel atas: hl2 - (Faktor * ATR(Pd)) Rumus Rel Bawah: hl2 + (Faktor * ATR(Pd))
Di mana hl2 mewakili titik pertengahan harga tinggi dan rendah.
Kemudian bandingkan harga penutupan semasa dengan rel atas dan bawah untuk menentukan sama ada ia adalah trend menaik atau penurunan, dan output peubah Trend boolean.
Menggambar rel atas dan bawah Supertrend berdasarkan Trend. Dan letakkan isyarat masuk dan keluar apabila status Trend berubah.
Tetapkan logik masuk strategi berdasarkan isyarat.
Strategi ini mempunyai kelebihan berikut:
Menggunakan penunjuk Supertrend, yang dapat menentukan dengan jelas trend harga dan titik perpipaan.
Menetapkan logik masuk dan keluar yang jelas.
Mempaparkan masa kemasukan dengan anak panah.
Logik strategi yang mudah dan mudah difahami.
Strategi ini mempunyai risiko berikut:
Mengikuti Supertrend secara buta tanpa penunjuk tambahan dan pengurusan wang boleh membawa kepada penarikan besar.
Tiada stop loss set, tidak dapat mengawal kehilangan tunggal.
Isyarat mungkin terlambat, tidak dapat masuk pada masa di sekitar titik giliran.
Tetapan parameter yang tidak betul boleh menyebabkan saluran Supertrend terlalu lebar atau terlalu sempit.
Langkah-langkah Pengurusan Risiko:
Gabungkan dengan penunjuk lain seperti MACD, KDJ untuk pengesahan keberkesanan, elakkan mengikuti secara buta.
Tetapkan stop loss yang munasabah untuk memaksimumkan kawalan ke atas kerugian tunggal.
Sesuaikan parameter untuk membuat saluran Supertrend munasabah, mengelakkan terlalu lebar atau terlalu sempit.
Strategi ini boleh dioptimumkan dalam aspek berikut:
Tambah penunjuk tambahan untuk pengesahan keberkesanan untuk mencegah kegagalan. Sebagai contoh, penunjuk MACD boleh dipertimbangkan.
Tetapkan logik stop loss yang munasabah. Boleh menetapkan peratusan stop loss berdasarkan ATR.
Mengoptimumkan hyperparameter Factor dan Pd untuk mencari kombinasi parameter terbaik. Sebagai contoh, kaedah traversal boleh digunakan untuk mencari parameter optimum.
Mengoptimumkan masa kemasukan untuk mengelakkan kelewatan isyarat. Sebagai contoh, penunjuk momentum boleh diperkenalkan untuk menyesuaikan masa kemasukan berdasarkan kekuatan dan kelemahan.
Tambah strategi saiz kedudukan. Sebagai contoh, saiz kedudukan pecahan tetap boleh diterima pakai.
Strategi ini menggunakan penunjuk Supertrend untuk menentukan trend harga dan mencari titik perubahan. buta mengikuti Supertrend tanpa penunjuk tambahan dan means stop loss membawa risiko yang besar. Kami mencadangkan penambahbaikan dalam aspek seperti pengurusan risiko, strategi stop loss, pengoptimuman parameter, masa kemasukan, dll, yang dapat meningkatkan kestabilan dan keuntungan strategi dengan ketara.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Supertrend blind follow", overlay=true) Factor=input(3, minval=1,maxval = 100) Pd=input(7, minval=1,maxval = 100) Up=hl2-(Factor*atr(Pd)) Dn=hl2+(Factor*atr(Pd)) TrendUp=close[1]>TrendUp[1]? max(Up,TrendUp[1]) : Up TrendDown=close[1]<TrendDown[1]? min(Dn,TrendDown[1]) : Dn Trend = close > TrendDown[1] ? 1: close< TrendUp[1]? -1: nz(Trend[1],1) Tsl = Trend==1? TrendUp: TrendDown linecolor = Trend == 1 ? green : red plot(Tsl, color = linecolor , style = line , linewidth = 2,title = "SuperTrend") plotshape(cross(close,Tsl) and close>Tsl , "Up Arrow", shape.triangleup,location.belowbar,green,0,0) plotshape(cross(Tsl,close) and close<Tsl , "Down Arrow", shape.triangledown , location.abovebar, red,0,0) //plot(Trend==1 and Trend[1]==-1,color = linecolor, style = circles, linewidth = 3,title="Trend") plotarrow(Trend == 1 and Trend[1] == -1 ? Trend : na, title="Up Entry Arrow", colorup=lime, maxheight=60, minheight=50, transp=0) plotarrow(Trend == -1 and Trend[1] == 1 ? Trend : na, title="Down Entry Arrow", colordown=red, maxheight=60, minheight=50, transp=0) longCondition = cross(close,Tsl) and close>Tsl if (longCondition) strategy.entry("long", strategy.long) shortCondition = cross(Tsl,close) and close<Tsl if (shortCondition) strategy.entry("short", strategy.short)