Strategi Stop Loss yang Dinamis

Penulis:ChaoZhang, Tanggal: 2024-01-31 15:05:30
Tag:

img

Gambaran umum

Strategi ini didasarkan pada mekanisme stop loss trailing yang dinamis untuk mengatur garis stop loss untuk posisi panjang dan pendek berdasarkan harga tertinggi dan terendah saham. Ketika harga mencapai garis stop loss, itu akan menutup posisi saat ini dan membuka posisi baru ke arah yang berlawanan. Strategi ini sederhana dan efektif dalam mengendalikan risiko transaksi tunggal.

Prinsip

Langkah-langkah utama dari strategi ini adalah:

  1. Parameter input: pilih untuk pergi panjang atau pendek, mengatur panjang untuk periode, trailing stop slippage
  2. Menghitung harga tertinggi dan terendah: mendapatkan harga tertinggi dan terendah berdasarkan panjang input
  3. Menghitung garis stop loss trailing: untuk harga panjang, terendah dikurangi slippage; untuk harga pendek, tertinggi ditambah slippage
  4. Posisi terbuka dan dekat: ketika harga mencapai garis stop loss, tutup posisi arah saat ini dan buka posisi arah sebaliknya

Hal di atas adalah logika dasar dari strategi. Saat harga bergerak, garis stop loss terus diperbarui untuk pelacakan dinamis. Dengan mengikuti stop loss, itu dapat secara efektif mengendalikan kerugian per perdagangan.

Analisis Keuntungan

Keuntungan utama dari strategi ini:

  1. Logika yang sederhana dan bersih, mudah dipahami dan diterapkan
  2. Kontrol stop loss trailing yang dinamis untuk kerugian perdagangan tunggal
  3. Fleksibel untuk memilih panjang atau pendek, beradaptasi dengan lingkungan pasar yang berbeda
  4. Penyesuaian periode dan slippage untuk optimasi

Singkatnya, dengan mekanisme stop loss trailing yang sederhana, strategi ini dapat mengelola posisi secara efektif dan merupakan strategi manajemen risiko yang khas.

Analisis Risiko

Ada juga beberapa risiko yang perlu dicatat:

  1. Volatilitas harga dapat memicu stop loss sering, yang mengarah ke perdagangan berlebihan
  2. Pengaturan periode yang tidak tepat dapat menyebabkan garis stop loss yang tidak sesuai
  3. Pengaturan slippage yang berlebihan dapat mengakibatkan stop loss yang longgar, tidak dapat menghentikan loss tepat waktu

Risiko ini dapat dioptimalkan dengan menyesuaikan periode, mengurangi slippage secara wajar untuk membuat garis stop loss yang lebih masuk akal.

Arahan Optimasi

Strategi dapat ditingkatkan dari aspek berikut:

  1. Tambahkan optimasi untuk penyesuaian garis stop loss dinamis, hindari garis stop loss yang ketat atau longgar yang tidak tepat
  2. Tambahkan kondisi posisi terbuka untuk menghindari posisi pembukaan pada waktu yang tidak tepat
  3. Menggabungkan indikator tren untuk mengikuti tren dengan potensi keuntungan yang lebih besar
  4. Tambahkan ukuran posisi untuk menyesuaikan posisi secara dinamis berdasarkan tingkat risiko

Kesimpulan

Strategi trading ini mewujudkan manajemen posisi dinamis melalui metode stop loss trailing yang sederhana. Mudah dipahami dan diimplementasikan, dan dapat secara efektif mengendalikan kerugian perdagangan tunggal. Kami menganalisis keuntungan, risiko potensial dan arah optimasi di masa depan. Kesimpulannya, ini adalah strategi manajemen risiko yang sangat khas dan praktis.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Noro's Trailing-Stop Strategy", shorttitle = "Trailing", 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(false, defval = false, title = "Short")
length = input(20, minval = 1)
shift = input(0.0, minval = 0, title = "Trailing Stop")
background = input(false)

//Levels
max = highest(high, length)
min = lowest(low, length)

//Trailing
size = strategy.position_size
longtrailing = 0.0
shorttrailing = 0.0
longtrailing := size <= 0 ? min - ((min / 100) * shift) : max(min - ((min / 100) * shift), longtrailing[1])
shorttrailing := size >= 0 ? max + ((max / 100) * shift) : min(max + ((max / 100) * shift), shorttrailing[1])
trailing = size <= 0 ? shorttrailing : longtrailing
col = size == size[1] ? size > 0 ? color.red : color.lime : na
plot(trailing, color = col, linewidth = 2, transp = 0)

//Background
bgcol = background ? size > 0 ? color.lime : color.red : na
bgcolor(bgcol, transp = 80)

if trailing > 0 and size <= 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = trailing)
if trailing > 0 and size >= 0
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = trailing)

Lebih banyak