Strategi ini menggunakan penunjuk Super Trend untuk membantu dalam meletakkan pesanan, dan penapis oleh lapisan awan dan warna candlestick untuk meletakkan pesanan had untuk meningkatkan keuntungan. Matlamatnya adalah untuk dengan cepat menangkap trend selepas mereka bermula, dan mengurangkan risiko semasa penyatuan.
Mengira purata harga tertinggi dan terendah dalam tempoh ATR sebagai garis asas.
Mengira jalur atas dan bawah berdasarkan faktor pengganda.
Apabila dekat berada di atas jalur atas, tanda sebagai 1; di bawah jalur bawah, tanda sebagai -1. Jika tidak, mengekalkan keadaan sebelumnya.
Sesuaikan garis stop loss secara dinamik berdasarkan kedudukan harga penutupan berbanding dengan jalur atas/bawah.
Mengira julat lapisan awan berdasarkan peratusan tertentu selang band atas/bawah.
Untuk panjang, perlu tutup < buka apabila Super Trend adalah 1.
Letakkan pesanan beli had pada harga penutupan bar sebelumnya untuk panjang Letakkan pesanan jual had untuk pendek.
Menyaring mengikut jangka masa, tutup semua kedudukan yang tersedia.
Strategi ini menggabungkan konsep Super Trend dan awan, yang membolehkan penangkapan trend yang cepat selepas trend bermula. Stop loss Super Trend bertindak balas lebih cepat daripada stop loss bergerak biasa. Lapisan awan mengelakkan kerugian daripada pecah palsu. Perintah had mengurangkan seluncur dan meningkatkan keuntungan. Kelebihan utama adalah:
Super Trend sensitif dan mengesan trend dengan kuat.
Penapis lapisan awan mengurangkan kerugian daripada pelarian palsu.
Warna candlestick membantu mengelakkan pembalikan.
Perintah had mengurangkan kesan tergelincir dan meningkatkan kadar kemenangan.
Julat masa dan pengurusan kedudukan yang boleh disesuaikan sesuai dengan keperluan perdagangan yang berbeza.
Terdapat juga beberapa risiko yang perlu diperhatikan:
Parameter Super Trend yang tidak betul boleh menyebabkan terlalu banyak sensitiviti dan whipsaws.
Julat awan yang berlebihan boleh menapis isyarat pecah yang sah, memberi kesan kepada keuntungan.
Perintah had mungkin tidak dipenuhi semasa turun naik yang tinggi, peluang yang hilang.
Tiada stop loss boleh sepenuhnya mengelakkan risiko sistemik dan kerugian besar.
Ukuran kedudukan yang lebih besar juga meningkatkan kerugian.
Strategi ini boleh ditingkatkan dalam aspek berikut:
Uji pasaran dan instrumen yang berbeza untuk parameter Super Trend yang optimum.
Sesuaikan tahap stop loss secara dinamik berdasarkan turun naik pasaran.
Mengoptimumkan julat awan untuk mengimbangi penapisan bunyi bising dan pengekalan isyarat.
Tambah modul pengukuran kedudukan kepada kedudukan saiz dinamik berdasarkan keadaan pasaran.
Gunakan set parameter yang berbeza untuk sesi perdagangan yang berbeza untuk menyesuaikan diri dengan irama pasaran.
Kecekapan ujian apabila digabungkan dengan penunjuk lain.
Kesimpulannya, strategi ini mempunyai logik yang jelas dan kelebihan yang jelas dalam menangkap trend. Tetapi tiada strategi yang dapat sepenuhnya mengelakkan risiko sistemik. Perlu mengawal saiz kedudukan, terus mengoptimumkan untuk meminimumkan risiko dalam perdagangan langsung, dan memaksimumkan kelebihan. Strategi ini mempunyai potensi yang besar untuk ujian dan penambahbaikan lanjut untuk menyesuaikan diri dengan dinamik pasaran yang berkembang.
/*backtest start: 2023-10-03 00:00:00 end: 2023-11-02 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy("Noro's SuperTrend Strategy v2.0 Limit", shorttitle = "STL str", 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") capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") cloud = input(25, defval = 25, minval = 5, maxval = 50, title = "cloud, % of ATR") Factor = input(title = "Super Trend", defval = 3, minval = 1, maxval = 100) ATR = input(title = "ATR", defval = 7, minval = 1,maxval = 100) centr = input(true, defval = true, title = "need center of ATR?") border = input(false, defval = false, title = "need border?") 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") //Super Trend ATR 1 src = close Up=hl2-(Factor*atr(ATR)) Dn=hl2+(Factor*atr(ATR)) TUp=close[1]>TUp[1]? max(Up,TUp[1]) : Up TDown=close[1]<TDown[1]? min(Dn,TDown[1]) : Dn Trend = close > TDown[1] ? 1: close< TUp[1]? -1: nz(Trend[1],1) Tsl1 = Trend==1? TUp: TDown Tsl2 = Trend==1? TDown: TUp limit = (Tsl1 - Tsl2) / 100 * cloud upcloud = Tsl1 - limit dncloud = Tsl2 + limit //Cloud linecolor = Trend == 1 ? green : red centercolor = centr == true ? blue : na cloudcolor = Trend == 1 ? green : red cline = (Tsl1 + Tsl2) / 2 P1 = plot(Tsl1, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-1") P2 = plot(Tsl2, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend ATR-2") P3 = plot(cline, color = centercolor , style = line , linewidth = 1,title = "SuperTrend Center") P4 = plot(upcloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center+1") P5 = plot(dncloud, color = border == false ? na : linecolor , style = line , linewidth = 1,title = "SuperTrend Center-1") fill(P1, P4, color = linecolor == red ? red : lime, transp = 50) fill(P2, P5, color = linecolor == red ? red : lime, transp = 50) //Signals up = 0.0 dn = 0.0 up := Trend != 1 ? 0 : Trend == 1 and close < open ? close : up[1] dn := Trend != -1 ? close * 1000 : Trend == -1 and close > open ? close : dn[1] //Trading size = strategy.position_size lot = 0.0 lot := size != size[1] ? strategy.equity / close * capital / 100 : lot[1] if true strategy.entry("Long", strategy.long, needlong ? lot : 0, limit = up, when = (Trend == 1 and time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59))) strategy.entry("Short", strategy.short, needshort ? lot : 0, limit = dn, when = (Trend == -1 and 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()