Strategi trailing stop loss dinamik


Tarikh penciptaan: 2024-01-31 15:05:30 Akhirnya diubah suai: 2024-01-31 15:05:30
Salin: 0 Bilangan klik: 655
1
fokus pada
1617
Pengikut

Strategi trailing stop loss dinamik

Gambaran keseluruhan

Strategi ini berdasarkan mekanisme penangguhan kerugian mengikut dinamik yang dikira, menetapkan garis berhenti untuk kedudukan panjang dan pendek berdasarkan harga tertinggi dan terendah harga saham. Apabila harga menyentuh garis berhenti, tutup kedudukan semasa, dan buka kedudukan baru ke arah yang berlawanan. Strategi ini mudah difahami, dapat mengawal risiko individu dengan berkesan.

Prinsip Strategi

Strategi ini dijalankan melalui beberapa langkah:

  1. Parameter input: pilihan untuk melakukan lebih banyak atau kosong, mengira panjang kitaran, tetapan titik geser trailing stop
  2. Hitung harga tertinggi dan terendah: Hitung harga tertinggi dan terendah dalam kitaran berdasarkan panjang input
  3. Hitung garis hentian yang diikuti: apabila melakukan over, harga terendah dikurangkan daripada titik geser sebagai garis hentian; apabila melakukan short, harga tertinggi ditambah dengan titik geser sebagai garis hentian
  4. Buka Kedudukan Damai: Apabila harga menyentuh garis berhenti, tutup kedudukan semasa dan buka kedudukan baru di arah yang bertentangan

Ini adalah logik operasi asas strategi. Apabila harga berjalan, garis berhenti akan terus diperbaharui, sehingga dapat melakukan pelacakan dinamik. Dengan cara ini, anda dapat mengawal kerugian tunggal dengan berkesan.

Analisis kelebihan

Strategi ini mempunyai beberapa kelebihan:

  1. Strategi yang mudah difahami dan dilaksanakan
  2. Menggunakan kawalan kekalahan dinamik yang berkesan untuk mengawal kerugian tunggal
  3. Keupayaan yang fleksibel untuk melakukan lebih banyak atau lebih sedikit arah, sesuai dengan keadaan pasaran yang berbeza
  4. Siklus pengiraan dan titik licin boleh disesuaikan untuk memudahkan pengoptimuman

Secara keseluruhannya, strategi ini dapat menguruskan kedudukan dengan berkesan melalui mekanisme hentian yang mudah, yang merupakan strategi Pengurusan Risiko yang tipikal.

Analisis risiko

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. Garis berhenti mungkin sering dicetuskan apabila harga turun naik dengan ketara, menyebabkan perdagangan yang terlalu kerap
  2. Period yang tidak munasabah dalam mengira harga tertinggi dan terendah boleh menyebabkan garis hentian yang tidak sesuai
  3. Penetapan titik geser terlalu besar, yang boleh menyebabkan kabel henti terlalu longgar dan tidak dapat berhenti tepat pada masanya

Untuk risiko-risiko ini, boleh dioptimumkan dengan cara seperti menyesuaikan kitaran pengiraan, mengurangkan lebar titik slippage dengan sewajarnya, dan lain-lain, untuk membuat penyetempatan garis henti lebih munasabah.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Menambah mekanisme pengoptimuman barisan henti yang membolehkan penyesuaian dinamik untuk mengelakkan barisan henti terlalu longgar atau terlalu ketat
  2. Menambah kefahaman mengenai syarat-syarat untuk membuka kedudukan dan mengelakkan daripada membuka kedudukan pada masa yang tidak sesuai
  3. Menggabungkan indikator trend dengan trend tracking, menjadikan ruang untuk keuntungan lebih besar
  4. Tambah modul pengurusan kedudukan untuk menyesuaikan kedudukan secara dinamik melalui penilaian risiko

ringkaskan

Strategi perdagangan ini mewujudkan pengurusan dinamik Positions melalui kaedah penghentian kerugian yang mudah. Strategi ini mudah difahami dan dilaksanakan, dapat mengawal kerugian tunggal dengan berkesan. Kami menganalisis kelebihan strategi, kemungkinan risiko dan arah pengoptimuman seterusnya.

Kod sumber strategi
/*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)