Sumber daya yang dimuat... Pemuatan...

Strategi Stop Loss Pengiringan Giring

Penulis:ChaoZhang, Tanggal: 2023-10-25 14:56:28
Tag:

img

Gambaran umum

Strategi Stop Loss Trailing Gradient secara dinamis menyesuaikan garis stop loss untuk menyeimbangkan pengendalian risiko dan pengambilan keuntungan. Strategi ini menggunakan Average True Range (ATR) untuk menghitung garis stop loss dan secara efektif melacak tren harga, melindungi keuntungan sambil mengurangi stop out yang tidak perlu.

Prinsip-prinsip

Strategi ini menggunakan Average True Range (ATR) sebagai dasar untuk stop loss dinamis. ATR secara efektif mencerminkan volatilitas saham. Strategi pertama mengambil periode ATR sebagai input, biasanya 10 hari. Kemudian nilai ATR dihitung. Saat harga naik, garis stop loss juga bergerak ke atas untuk mengikuti harga. Ketika harga turun, garis stop loss tetap tidak berubah untuk mengunci keuntungan. Juga, strategi ini memungkinkan penyetelan jarak stop loss dari harga menggunakan parameter faktor.

Secara khusus, strategi menghitung ATR saat ini, kemudian mengalikannya dengan faktor untuk mendapatkan jarak stop loss. Jika harga di atas harga stop loss, posisi panjang dibuka. Jika harga di bawah, posisi pendek dibuka. Dengan demikian, garis stop loss mengikuti harga dengan dekat, mencapai efek trailing gradien.

Keuntungan

  • Dynamic trailing stop loss menyesuaikan jarak stop berdasarkan kondisi pasar
  • ATR menghitung jarak berhenti berdasarkan volatilitas pasar
  • Sederhana dan mudah untuk mengotomatisasi perdagangan
  • Periode ATR yang dapat disesuaikan dan faktor stop loss untuk aset yang berbeda
  • Saldo antara stop loss dan profit taking
  • Mengurangi halangan yang tidak perlu

Risiko

  • Memilih parameter ATR yang tepat sangat penting
  • Stop loss yang terlalu dekat dapat meningkatkan stop out yang tidak perlu
  • Stop loss yang terlalu jauh mungkin gagal mengendalikan risiko
  • Strategi sendiri tidak dapat menentukan tren pasar
  • Kebutuhan untuk mengevaluasi periode ATR dan pengaturan faktor

Peningkatan

  • Tambahkan filter seperti rata-rata bergerak untuk mengurangi sinyal palsu
  • Otomatis mengoptimalkan periode ATR dan faktor stop loss melalui pembelajaran mesin
  • Mengintegrasikan strategi mengambil keuntungan untuk mengunci keuntungan
  • Kombinasi dengan indikator lain untuk memverifikasi sinyal beli/jual
  • Penelitian lebih baik perhitungan ATR atau periode ATR dinamis
  • Jelajahi algoritma penghentian trailing dinamis lainnya
  • Lebih mengoptimalkan efek stop loss

Kesimpulan

Strategi Stop Loss Trailing Gradient secara efektif menyeimbangkan risiko dan keuntungan dengan menyesuaikan jarak stop loss secara dinamis. Dengan logika sederhana dan konfigurasi yang tinggi, ini cocok untuk perdagangan algoritmik. Penyesuaian parameter dan kombinasi indikator yang tepat masih bergantung pada keahlian manusia. Optimasi lebih lanjut dapat membuat strategi ini lebih menguntungkan.


/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Supertrend Strategy, by Ho.J.", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=15)

// 백테스팅 시작일과 종료일 입력
startYear = input(2020, title="Start Year")
startMonth = input(1, title="Start Month")
startDay = input(1, title="Start Day")

endYear = input(9999, title="End Year")
endMonth = input(12, title="End Month")
endDay = input(31, title="End Day")

// 백테스팅 시간 범위 확인
backtestingTimeBool = (year >= startYear and month >= startMonth and dayofmonth >= startDay) and (year <= endYear and month <= endMonth and dayofmonth <= endDay)

atrPeriod = input(10, "ATR Length")
factor = input.float(3.0, "Factor", step = 0.01)

[_, direction] = ta.supertrend(factor, atrPeriod)

var bool longCondition = false
var bool shortCondition = false

if backtestingTimeBool
    prevDirection = direction[1]
    if direction < 0
        longCondition := false
        shortCondition := true
    else if direction > 0
        longCondition := true
        shortCondition := false

if longCondition
    strategy.entry("My Long Entry Id", strategy.long)

if shortCondition
    strategy.entry("My Short Entry Id", strategy.short)

plot(strategy.equity, title="equity", color=color.rgb(255, 255, 255), linewidth=2, style=plot.style_area)

Lebih banyak