
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.
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:
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.
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.
Beberapa risiko utama dari strategi ini adalah:
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.
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.
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.
Strategi ini dapat dioptimalkan dari beberapa arah:
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.
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.
Menggabungkan indikator volume transaksi: misalnya mengurangi jarak stop loss pada fase volume transaksi yang lebih besar, menghindari stop loss yang direbis.
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.
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.
/*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)