Analisis asal strategi Supertrend
Strategi Supertrend adalah strategi pengesanan trend yang menentukan arah trend dengan mengira purata gelombang sebenar (ATR) dan melukis garis Supertrend. Strategi ini menggunakan tiga set parameter yang berbeza untuk melukis tiga garis Supertrend dan menghasilkan isyarat perdagangan apabila harga melanggar garis Supertrend.
Strategi ini mula-mula mengira tiga set ATR dan faktor, yang masing-masing digunakan untuk melukis tiga garis Supertrend. ATR mencerminkan turun naik harga, dan faktor menentukan sensitiviti garis Supertrend terhadap harga. Strategi ini menggunakan kombinasi parameter jangka pendek, pertengahan dan jangka panjang untuk menangkap perubahan trend dalam tempoh yang berbeza.
Strategi ini membuka lebih banyak kedudukan apabila harga berada di atas garis Supertrend, yang menunjukkan bahawa ia sedang dalam trend menaik; apabila harga berada di bawah garis Supertrend, yang menunjukkan bahawa ia sedang dalam trend menurun, strategi ini membuka posisi kosong. Tiga garis Supertrend dapat menghasilkan lebih banyak peluang perdagangan, sementara saling mengesahkan dapat membantu mengurangkan isyarat yang salah.
Selain itu, strategi ini juga menggunakan fungsi change untuk menentukan sama ada arah garis Supertrend berubah. Hanya apabila arah garis Supertrend berubah, isyarat baru dihasilkan, untuk mengelakkan pembukaan posisi baru secara terbalik segera setelah kedudukan kosong.
Secara keseluruhan, strategi Supertrend memanfaatkan kelebihan garis Supertrend, menggunakan pelbagai set parameter untuk menangkap trend kitaran yang berbeza, sambil merancang mekanisme masuk dan keluar yang munasabah sebagai rujukan untuk strategi pengesanan trend.
Pembahasan kelebihan strategi Supertrend
Strategi Supertrend mempunyai kelebihan berikut:
Dengan mengira ATR dan memetakan garis Supertrend yang dinamik, anda dapat menangkap perubahan trend pasaran dengan fleksibel dan mengelakkan diri anda daripada disesatkan oleh pasaran yang bergolak.
Menggunakan tiga set parameter yang berbeza untuk mengira tiga garis Supertrend, peluang untuk menangkap trend dalam jangka masa pendek, sederhana, dan panjang adalah lebih besar.
Hanya menghasilkan isyarat baru apabila arah garis Supertrend berubah, mengelakkan perdagangan berulang yang tidak perlu, dan mengesahkan kebolehpercayaan isyarat.
Tetapkan fungsi simpanan penuh simpanan dengan satu ketik, fungsi penarikan balik boleh menangani kejadian yang tidak dijangka, meningkatkan keupayaan operasi cakera keras.
Berdasarkan Supertrend, peraturan isyarat adalah ringkas, mudah digunakan dan disahkan, sesuai untuk pemula dalam perdagangan kuantitatif.
Petunjuk Risiko Strategi Supertrend
Strategi Supertrend juga mempunyai risiko berikut:
Dalam keadaan yang bergolak, garisan Supertrend mungkin sering melintasi ke atas dan ke bawah, menghasilkan terlalu banyak isyarat palsu yang menyebabkan kerugian.
Kombinasi pelbagai set parameter lebih sukar untuk dioptimumkan, dan parameter yang tidak sesuai boleh mengurangkan keberkesanan strategi.
Strategi Supertrend hanya bergantung pada penilaian trend, tidak dapat menentukan titik pembalikan trend yang berpotensi, dan memerlukan bantuan indikator lain.
Dalam kes-kes yang melampau, risiko tidak dapat dikawal dengan berkesan dan perlu digabungkan dengan strategi pengendalian kerugian.
Parameter pengoptimuman menjadikan keputusan ujian semula lebih baik daripada data sejarah, tetapi tidak menjamin keberkesanan masa depan, dan perlu dinilai dengan berhati-hati.
Ringkasan Strategi Supertrend
Strategi Supertrend secara keseluruhannya adalah strategi penjejakan trend yang mudah dan praktikal. Ia menggunakan ciri-ciri dinamik garis Supertrend untuk menentukan arah trend, menggunakan reka bentuk parameter pelbagai untuk meningkatkan keberkesanan. Pada masa yang sama, mekanisme strategi adalah munasabah dan mempunyai beberapa kepraktisan. Tetapi strategi ini juga mempunyai beberapa masalah, seperti menghasilkan isyarat palsu, parameter yang sukar untuk dioptimumkan, dan lain-lain, yang memerlukan penambahan indikator teknikal untuk pengoptimuman.
/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © MarketShree
//@version=4
// strategy("Supertrend Strategy", overlay=true, default_qty_value=15)
closs_all=input(title="Close_all_Position", type=input.bool, defval=false)
cancel=input(title="Check To Cancel", type=input.bool, defval=false)
atrPeriod1 = input(7, "ATR Length-1")
factor1 = input(1.5,"Factor-1",type=input.float)
atrPeriod2 = input(10, "ATR Length-2")
factor2 = input(2, "Factor-2")
atrPeriod3 = input(20, "ATR Length-3")
factor3 = input(3, "Factor-3")
[superTrend1, direction1] = supertrend(factor1, atrPeriod1)
[superTrend2, direction2] = supertrend(factor2, atrPeriod2)
[superTrend3, direction3] = supertrend(factor3, atrPeriod3)
if change(direction1) < 0
strategy.entry("LONG", strategy.long)
if change(direction1) > 0
strategy.entry("SHORT", strategy.short)
strategy.close_all(when=closs_all,comment ="All postion are closed")
strategy.cancel_all(when=cancel)
if change(direction2) < 0
strategy.entry("LONG", strategy.long)
if change(direction2) > 0
strategy.entry("SHORT", strategy.short)
strategy.close_all(when=closs_all,comment ="All postion are closed")
strategy.cancel_all(when=cancel)
if change(direction3) < 0
strategy.entry("LONG", strategy.long)
if change(direction3) > 0
strategy.entry("SHORT", strategy.short)
strategy.close_all(when=closs_all,comment ="All postion are closed")
strategy.cancel_all(when=cancel)
colResistance = direction1 == 1 and direction1 == direction1[1] ? color.new(color.red, 0) : color.new(color.red, 100)
colSupport = direction1 == -1 and direction1 == direction1[1] ? color.new(color.green, 0) : color.new(color.green, 100)
plot(superTrend1, color = colResistance, linewidth=2)
plot(superTrend1, color = colSupport, linewidth=2)
colResistance1 = direction2 == 1 and direction2 == direction2[1] ? color.new(color.red, 0) : color.new(color.red, 100)
colSupport1 = direction2 == -1 and direction2 == direction2[1] ? color.new(color.green, 0) : color.new(color.green, 100)
plot(superTrend2, color = colResistance, linewidth=2)
plot(superTrend2, color = colSupport, linewidth=2)
colResistance2 = direction3 == 1 and direction3 == direction3[1] ? color.new(color.red, 0) : color.new(color.red, 100)
colSupport2 = direction3 == -1 and direction3 == direction3[1] ? color.new(color.green, 0) : color.new(color.green, 100)
plot(superTrend3, color = colResistance1, linewidth=2)
plot(superTrend3, color = colSupport1, linewidth=2)