Berdasarkan strategi trailing stop loss dinamis


Tanggal Pembuatan: 2024-02-27 15:02:34 Akhirnya memodifikasi: 2024-02-27 15:02:34
menyalin: 0 Jumlah klik: 619
1
fokus pada
1617
Pengikut

Berdasarkan strategi trailing stop loss dinamis

Ringkasan

Strategi ini bertujuan untuk memanfaatkan fitur tracking stop loss dari platform Bitmestra, secara dinamis menyesuaikan harga stop loss, dan mencapai stop loss yang lebih akurat dan fleksibel. Strategi ini tidak digunakan untuk masuk dan keluar, tetapi memberikan ruang stop loss yang wajar dalam berbagai kondisi pasar.

Prinsip Strategi

Strategi ini menggunakan 3 indikator utama: harga tertinggi, harga terendah, dan harga penutupan. Strategi ini pertama-tama mendefinisikan jangkauan stop loss untuk posisi panjang dan posisi pendek, yaitu jarak stop loss yang dilacak oleh banyak kepalalongoffsetdan jarak penghentian pengintaishortoffset│ di mana jarak posisi panjang default 228.5 poin, jarak posisi pendek default 243.5 poin│

Strategi kemudian menggunakan logis berikut untuk menyesuaikan harga stop losstrailstop:

  • Jika harga terendah dari satu garis K terakhir lebih rendah dari harga terendah dari dua garis K teratas, maka harga terendah dari dua garis K teratas adalah harga terendah dari dua garis K teratas, maka harga terendah dari dua garis K teratas adalah harga terendah dari dua garis K teratas, maka harga terendah dari dua garis K teratas adalah harga terendah dari dua garis K teratas.
  • Jika harga tertinggi dari satu garis K yang paling dekat lebih tinggi dari harga tracking stop loss dari garis K sebelumnya, dan harga tertinggi dari garis K yang paling dekat lebih rendah dari harga tracking stop loss dari dua garis K sebelumnya, maka harga tracking stop loss dari garis K saat ini = harga close out - jarak tracking stop loss
  • Harga tertinggi dari satu garis K terbaru lebih tinggi dari harga tracking stop loss dari garis K sebelumnya, maka harga tracking stop loss dari garis K saat ini = nilai maksimum ((harga tracking stop loss dari garis K sebelumnya, harga tertinggi dari garis K terbaru - jarak tracking stop loss dari posisi lama)
  • Harga terendah dari garis K yang paling dekat lebih rendah dari harga tracking stop loss dari garis K sebelumnya, maka harga tracking stop loss dari garis K saat ini = minimal ((harga tracking stop loss dari garis K sebelumnya, harga terendah dari garis K yang paling dekat + jarak tracking stop loss dari posisi pendek)
  • Jika tidak, harga tracking stop loss = harga close out pada garis K saat ini

Hal ini memungkinkan untuk mengikuti perubahan harga tertinggi dan terendah di pasar, dan menyesuaikan harga stop loss secara real-time, untuk mencapai stop loss dinamis.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah untuk mencapai tracking stop loss yang benar-benar dinamis dan fleksibel. Dibandingkan dengan harga stop loss yang tetap, tracking dinamis dapat menyesuaikan jangkauan stop loss sesuai dengan fluktuasi pasar, menghindari stop loss yang terlalu besar yang membawa kerugian yang tidak perlu, dan juga menghindari stop loss yang terlalu kecil yang dipukul oleh fluktuasi harga biasa.

Kelebihan lainnya adalah jarak stop loss dapat disesuaikan dan dioptimalkan. Pengguna dapat memilih batas stop loss yang sesuai dengan karakteristik dan gaya perdagangan yang berbeda. Ini memungkinkan strategi untuk diterapkan pada skenario yang lebih luas.

Terakhir, strategi ini memiliki logika stop loss yang sederhana, jelas, mudah dipahami, dan mudah untuk dikembangkan kembali dan diintegrasikan ke dalam strategi lain, yang merupakan salah satu keuntungannya.

Analisis risiko

Beberapa risiko utama dari strategi ini adalah:

  1. Stop loss dinamis hanya dapat mengurangi kerugian dalam kondisi normal, tidak dapat menangkal kerugian yang disebabkan oleh kejadian besar atau kondisi ekstrem. Ini adalah keterbatasan dari stop loss dinamis itu sendiri.

  2. Jika jarak tracking stop loss terlalu besar, maka bisa menyebabkan kerugian meluas. Jika jarak terlalu kecil, maka bisa menyebabkan stop loss prematur. Pengaturan jarak perlu diuji dan dioptimalkan dengan hati-hati sesuai dengan karakteristik varietas.

  3. Dalam beberapa K-line setelah membuka posisi, jarak stop loss mungkin terlalu besar karena mekanisme penarikan stop loss, dan ada risiko tambahan tertentu selama periode ini.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Optimasi parameter untuk berbagai varietas: Menggunakan indikator-indikator seperti tingkat fluktuasi varietas yang berbeda, jangkauan fluktuasi dalam sehari, dan lain-lain, pilihlah jarak penghentian multihead dan head tracking yang masuk akal. Ini adalah arah optimasi yang paling penting.

  2. Mengurangi risiko tambahan beberapa garis K setelah membuka posisi: Anda dapat membatasi penyesuaian untuk melacak jarak stop loss pada beberapa garis K setelah membuka posisi, untuk menghindari jarak stop loss yang terlalu besar.

  3. Menggabungkan indikator volume transaksi: misalnya mengurangi jarak stop loss pada fase volume transaksi yang lebih besar, menghindari stop loss yang direbis.

  4. Tergabung dengan strategi masuk dan keluar lainnya: Strategi ini memiliki peran utama untuk melacak stop loss, dapat diintegrasikan ke dalam strategi lain, dan digunakan bersama dengan aturan masuk dan keluar.

Meringkaskan

Strategi ini mengimplementasikan fungsi stop loss yang secara dinamis melacak perubahan harga tertinggi dan terendah. Ini dapat secara efektif mengurangi kerugian yang tidak perlu dalam kondisi normal, dan juga lebih baik mengatasi masalah jarak stop loss tetap yang terlalu besar dan terlalu kecil. Arah pengoptimalan utama adalah pengujian parameter yang sesuai untuk berbagai varietas, serta pengendalian risiko beberapa garis K setelah membuka posisi.

Kode Sumber Strategi
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//By River
strategy("BitMex Trailing Stop Strategy", overlay=true)
longoffset = input(defval=228.5, title="Long Trailing Stop Size", type=float, minval=0.5, maxval=1000, step=0.5)
shortoffset = input(defval=243.5, title="Short Trailing Stop Size ", type=float, minval=0.5, maxval=1000, step=0.5)

hiprice = request.security(syminfo.tickerid, "1", high)
loprice = request.security(syminfo.tickerid, "1", low)
price = request.security(syminfo.tickerid, "1", close)

trailstop = price
trailstop := (loprice <= trailstop[1] and loprice[1] >= trailstop[2]) ? price + shortoffset : ((hiprice >= trailstop[1] and hiprice[1] <= trailstop[2]) ? price - longoffset : (hiprice > trailstop[1] ? max(hiprice - longoffset, trailstop[1]) : (loprice < trailstop[1] ? min(loprice + shortoffset, trailstop[1]) : price)))

trailcol = trailstop > price ? red : green
plot(trailstop, color=trailcol)

longCondition =  trailcol == green
alertcondition(longCondition, "Long Stop alert", "BUY")
if (longCondition)
    strategy.entry("Long", strategy.long)
shortCondition = trailcol == red
alertcondition(shortCondition, "Short alert", "SELL")
if (shortCondition)
    strategy.entry("Short", strategy.short)