Strategi ini mengenal pasti trend harga dengan mengira penunjuk Supertrend dan menubuhkan kedudukan panjang atau pendek apabila trend berubah.
Strategi ini menggunakan fungsi ta.supertrend() untuk mengira penunjuk Supertrend. Supertrend menggabungkan julat sebenar purata dan harga purata untuk menentukan sama ada harga berada dalam trend menaik atau menurun. Apabila harga berubah dari trend menurun ke trend naik, strategi mengesan perubahan arah menggunakan ta.change() dan menubuhkan kedudukan panjang. Apabila harga bertukar dari trend menaik ke trend menurun, kedudukan pendek diambil.
Tahap stop loss stop_loss dan mengambil keuntungan tahap keuntungan ditetapkan untuk meletakkan perintah stop loss dan mengambil keuntungan pesanan selepas memasuki kedudukan untuk mengawal risiko.
Secara khusus, strategi ini dilaksanakan melalui langkah-langkah berikut:
Langkah-langkah di atas dapat menangkap perubahan trend dengan berkesan dan mengambil kedudukan pada masa yang sesuai. Tetapan stop loss dan mengambil keuntungan membantu mengawal risiko. Secara keseluruhan, ia adalah trend yang agak stabil mengikuti strategi.
Kelebihan terbesar strategi ini adalah keupayaan untuk mengesan perubahan trend secara automatik tanpa memerlukan penilaian manual.
Di samping itu, tahap stop loss dan mengambil keuntungan yang telah ditentukan terlebih dahulu membolehkan stop loss dan mengambil keuntungan secara automatik, dengan berkesan membatasi kerugian perdagangan tunggal dan mengunci keuntungan.
Berbanding dengan strategi purata bergerak yang mudah, strategi ini mempunyai keupayaan yang unggul dalam mengenal pasti trend dan lebih sesuai untuk pasaran trend.
Risiko terbesar dari strategi ini datang daripada penyesuaian parameter yang tidak betul dari penunjuk Supertrend. Jika parameter tidak ditetapkan dengan betul, keberkesanan penunjuk dalam mengesan perubahan trend akan menderita. Tempoh ATR yang terlalu lama atau faktor yang terlalu kecil boleh memperlambat tindak balas Supertrend terhadap pergerakan harga, menyebabkan peluang kemasukan yang hilang.
Selain itu, tahap stop loss dan mengambil keuntungan memberi kesan yang ketara kepada prestasi strategi. Stop loss yang terlalu ketat dengan mudah akan dihentikan sebelum waktunya. mengambil keuntungan yang terlalu luas mungkin terlepas titik keluar yang ideal. pengoptimuman yang luas diperlukan untuk mencari nilai parameter yang optimum untuk keadaan pasaran dan instrumen perdagangan yang berbeza.
Akhirnya, seperti semua strategi trend berikut, pembalikan trend tiba-tiba dan whipsaws masih boleh menyebabkan kerugian yang perlu dikawal melalui pengurusan wang yang betul.
Aspek strategi berikut boleh ditingkatkan:
Mengoptimumkan parameter penunjuk Supertrend, termasuk tempoh dan faktor ATR melalui pengujian belakang.
Menggabungkan peraturan saiz kedudukan berdasarkan metrik prestasi seperti pulangan dan pengeluaran.
Peningkatan dengan model pembelajaran mesin untuk membantu mengenal pasti trend.
Tambah penapis berdasarkan penunjuk lain seperti purata bergerak dan ukuran turun naik untuk mengelakkan isyarat palsu.
Mengoptimumkan stop loss secara dinamik dan mengambil tahap keuntungan berdasarkan turun naik pasaran dan saiz kedudukan.
Peningkatan di atas boleh meningkatkan keuntungan, kestabilan dan pengurusan risiko strategi.
Secara keseluruhan, ini adalah strategi trend yang sangat praktikal. Ia secara automatik mengesan perubahan trend dan menggunakan stop loss dan mengambil keuntungan untuk mengawal risiko. Berbanding dengan strategi purata bergerak yang mudah, ia mempunyai keupayaan pengenalan trend yang unggul dan lebih sesuai untuk pasaran trend. Dengan beberapa pengoptimuman parameter dan peningkatan pembelajaran mesin, strategi ini dapat mencapai kestabilan dan keuntungan yang lebih baik. Ia layak untuk penyelidikan dan aplikasi lanjut.
/*backtest start: 2024-01-04 00:00:00 end: 2024-01-11 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Supertrend Strategy", overlay=true, default_qty_type=strategy.percent_of_equity) // Stop loss and profit amount stop_loss = input(300, title="Stop Loss Amount") profit = input (800, title="Profit Amount") atrPeriod = input(10, "ATR Length") factor = input.float(3.0, "Factor", step = 0.01) [_, direction] = ta.supertrend(factor, atrPeriod) long_condition = ta.change(direction) <0 short_condition = ta.change(direction) >0 long_condition_1= (long_condition)?1:0 short_condition_2 = (short_condition)?1:0 stop_price_long = ta.valuewhen(long_condition, low[0]-stop_loss,0) profit_price_long = ta.valuewhen(long_condition, high[0]+profit,0) stop_price_short = ta.valuewhen(short_condition, high[0]+stop_loss,0) profit_price_short = ta.valuewhen(short_condition, low[0]-profit,0) if (long_condition) strategy.entry("Michael3 Long Entry Id", strategy.long) if (short_condition) strategy.entry("Michael3 Short Entry Id", strategy.short) if (strategy.position_size>0) strategy.exit("exit_long",from_entry="Michael3 Long Entry Id",limit=profit_price_long,stop=stop_price_long) if (strategy.position_size<0) strategy.exit("exit_short",from_entry="Michael3 Short Entry Id",limit=profit_price_short,stop=stop_price_short) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)