Strategi ini mengidentifikasi tren harga dengan menghitung indikator Supertrend dan menetapkan posisi panjang atau pendek ketika tren berubah.
Strategi ini menggunakan fungsi ta.supertrend() untuk menghitung indikator Supertrend. Supertrend menggabungkan rentang rata-rata yang sebenarnya dan harga rata-rata untuk menentukan apakah harga berada dalam tren naik atau turun. Ketika harga berubah dari tren turun ke tren naik, strategi mendeteksi perubahan arah menggunakan ta.change() dan menetapkan posisi panjang. Ketika harga berbalik dari tren naik ke tren turun, posisi pendek diambil.
Stop loss level stop_loss dan take profit level profit diatur untuk menempatkan stop loss order dan take profit order setelah memasuki posisi untuk mengendalikan risiko.
Secara khusus, strategi ini dilaksanakan melalui langkah-langkah berikut:
Langkah-langkah di atas dapat secara efektif menangkap perubahan tren dan mengambil posisi pada saat yang tepat. Pengaturan stop loss dan take profit membantu mengendalikan risiko. Secara keseluruhan ini adalah tren yang relatif stabil mengikuti strategi.
Keuntungan terbesar dari strategi ini adalah kemampuan untuk melacak perubahan tren secara otomatis tanpa perlu penilaian manual.
Selain itu, tingkat stop loss dan take profit yang didefinisikan sebelumnya memungkinkan stop loss dan profit taking otomatis, secara efektif membatasi kerugian perdagangan tunggal dan mengunci keuntungan.
Dibandingkan dengan strategi rata-rata bergerak sederhana, strategi ini memiliki kemampuan yang unggul dalam identifikasi tren dan lebih cocok untuk pasar tren.
Risiko terbesar dari strategi ini berasal dari penyesuaian parameter indikator Supertrend yang tidak tepat. Jika parameter tidak ditetapkan dengan tepat, efektivitas indikator dalam mendeteksi perubahan tren akan menderita. Periode ATR yang terlalu lama atau faktor yang terlalu kecil dapat memperlambat reaksi Supertrend terhadap pergerakan harga, menyebabkan peluang masuk yang hilang.
Selain itu, tingkat stop loss dan take profit secara signifikan mempengaruhi kinerja strategi. Stop loss yang terlalu ketat akan dengan mudah dihentikan secara prematur. Take profit yang terlalu luas dapat melewatkan titik keluar yang ideal. Optimasi ekstensif diperlukan untuk menemukan nilai parameter optimal untuk kondisi pasar dan instrumen perdagangan yang berbeda.
Akhirnya, seperti semua strategi mengikuti tren, pembalikan tren tiba-tiba dan whipsaws masih dapat menyebabkan kerugian yang perlu dikendalikan melalui manajemen uang yang tepat.
Aspek-aspek berikut dari strategi dapat ditingkatkan:
Mengoptimalkan parameter indikator Supertrend, termasuk periode dan faktor ATR melalui backtesting.
Masukkan aturan ukuran posisi berdasarkan metrik kinerja seperti pengembalian dan penarikan.
Augment dengan model pembelajaran mesin untuk membantu identifikasi tren.
Tambahkan filter berdasarkan indikator lain seperti rata-rata bergerak dan ukuran volatilitas untuk menghindari sinyal palsu.
Secara dinamis mengoptimalkan stop loss dan mengambil tingkat keuntungan berdasarkan volatilitas pasar dan ukuran posisi.
Peningkatan di atas dapat meningkatkan profitabilitas, stabilitas dan manajemen risiko strategi.
Secara keseluruhan, ini adalah strategi tren yang sangat praktis. Ini secara otomatis melacak perubahan tren dan menggunakan stop loss dan take profit untuk mengendalikan risiko. Dibandingkan dengan strategi rata-rata bergerak sederhana, ini memiliki kemampuan identifikasi tren yang unggul dan lebih cocok untuk pasar tren. Dengan beberapa optimasi parameter dan peningkatan pembelajaran mesin, strategi ini dapat mencapai stabilitas dan keuntungan yang lebih baik. Ini layak penelitian dan aplikasi lebih 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)