Strategi Stop Loss Pelacakan Volatilitas

Penulis:ChaoZhang, Tanggal: 20 September 2023 11:31:12
Tag:

Gambaran umum

Strategi ini menghitung rata-rata bergerak dari rentang yang sebenarnya untuk mencerminkan volatilitas pasar. Ini menentukan arah tren berdasarkan hubungan antara volatilitas dan rata-rata bergerak.

Logika Strategi

Fungsi ATR digunakan untuk menghitung rentang yang sebenarnya selama periode tertentu. Rata-rata bergerak sederhana ATR kemudian dihitung sebagai garis rata-rata pergerakan volatilitas. Ketika ATR melintasi di atas rata-rata bergeraknya, volatilitas pasar dianggap meningkat dan strategi pendek diadopsi. Ketika ATR melintasi di bawah rata-rata bergeraknya, volatilitas pasar dianggap menurun dan strategi panjang diadopsi.

Ketika berada dalam posisi, persentase stop loss trailing tetap diatur untuk menyesuaikan stop loss secara dinamis berdasarkan perubahan harga, untuk melindungi keuntungan sambil menghindari berhenti terlalu dini.

Analisis Keuntungan

Strategi ini menilai tren pasar melalui indikator volatilitas, menghindari gangguan kebisingan. Ini pergi pendek ketika volatilitas meningkat dan pergi panjang ketika volatilitas turun, mewujudkan operasi lindung nilai. Stop loss trailing menyesuaikan posisi stop loss sesuai dengan perubahan harga real-time, menyeimbangkan perlindungan keuntungan dan stop loss yang tidak perlu.

Analisis Risiko

Strategi ini hanya mengandalkan satu indikator volatilitas, dengan beberapa keterlambatan. Stop loss trailing hanya mempertimbangkan pergerakan harga yang merugikan, tidak dapat mencegah retracements keuntungan. Jika harga turun naik secara kekerasan, stop loss dapat dipukul, menimbulkan kerugian besar.

Pengaturan parameter pada ATR dan periode rata-rata bergerak dapat membantu, seperti halnya menggabungkan indikator lain untuk penilaian yang komprehensif.

Arahan Optimasi

  1. Uji kombinasi parameter yang berbeda dari ATR dan moving average untuk menemukan parameter optimal.

  2. Masukkan indikator lain untuk penilaian untuk membentuk keseluruhan strategi, meningkatkan akurasi.

  3. Mengadopsi strategi stop loss yang dinamis, menyesuaikan persentase stop loss berdasarkan volatilitas pasar.

  4. Mengoptimalkan model ukuran posisi untuk produk yang berbeda.

  5. Terapkan pembelajaran mesin untuk membantu mengidentifikasi titik balik volatilitas.

  6. Gabungkan dengan rata-rata bergerak jangka waktu yang lebih tinggi untuk menentukan arah tren yang lebih besar.

Ringkasan

Strategi ini menilai tren pasar secara sederhana dan langsung melalui volatilitas, tetapi satu indikator memiliki keterbatasan. Memperkenalkan beberapa indikator dan optimasi parameter dapat meningkatkan ketahanan. Secara keseluruhan, strategi ini memberikan ide perdagangan berbasis volatilitas.


/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/08/2018
// The Volatility function measures the market volatility by plotting a 
// smoothed average of the True Range. It returns an average of the TrueRange 
// over a specific number of bars, giving higher weight to the TrueRange of 
// the most recent bar.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Volatility Backtest", shorttitle="Volatility")
Length = input(10, minval=1)
LengthMA = input(26, minval=1)
reverse = input(false, title="Trade reverse")
xATR = atr(Length)
nRes = ((Length - 1) * nz(nRes[1], 0) + xATR) / Length
xMARes = sma(nRes, LengthMA)
pos = iff(nRes < xMARes, 1,
       iff(nRes > xMARes, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="Volatility")
plot(xMARes, color=red, title="MA")

Lebih banyak