Strategi Stop Loss Pengesanan Volatiliti

Penulis:ChaoZhang, Tarikh: 2023-09-20 11:31:12
Tag:

Ringkasan

Strategi ini mengira purata bergerak julat sebenar untuk mencerminkan turun naik pasaran. Ia menentukan arah trend berdasarkan hubungan antara turun naik dan purata bergerak. Ia pergi pendek apabila turun naik melintasi di atas purata bergerak, dan pergi panjang apabila melintasi di bawah, dengan penangguhan stop loss.

Logika Strategi

Fungsi ATR digunakan untuk mengira julat sebenar dalam tempoh tertentu. purata bergerak mudah ATR kemudiannya dikira sebagai garis purata bergerak turun naik. Apabila ATR melintasi di atas purata bergerak, turun naik pasaran dianggap meningkat dan strategi pendek diadopsi. Apabila ATR melintasi di bawah purata bergerak, turun naik pasaran dianggap menurun dan strategi panjang diadopsi.

Apabila berada dalam kedudukan, peratusan stop loss trailing tetap ditetapkan untuk menyesuaikan stop loss secara dinamik berdasarkan perubahan harga, untuk melindungi keuntungan sambil mengelakkan berhenti sebelum masa.

Analisis Kelebihan

Strategi ini menilai trend pasaran melalui penunjuk turun naik, mengelakkan gangguan bunyi bising. Ia pergi pendek apabila turun naik meningkat dan pergi panjang apabila turun turun turun, merealisasikan operasi lindung nilai.

Analisis Risiko

Strategi ini hanya bergantung kepada satu penunjuk turun naik, dengan beberapa kelewatan. Stop loss yang tertinggal hanya mempertimbangkan pergerakan harga yang tidak baik, tidak dapat mencegah penyesalan keuntungan. Jika harga turun naik dengan ganas, stop loss boleh dipukul, menyebabkan kerugian besar.

Penyesuaian parameter pada ATR dan tempoh purata bergerak boleh membantu, seperti yang boleh menggabungkan penunjuk lain untuk penilaian komprehensif.

Arahan pengoptimuman

  1. Uji kombinasi parameter yang berbeza ATR dan purata bergerak untuk mencari parameter optimum.

  2. Menggabungkan penunjuk lain untuk penilaian untuk membentuk ensemble strategi, meningkatkan ketepatan.

  3. Mengambil strategi stop loss dinamik, menyesuaikan peratusan stop loss berdasarkan turun naik pasaran.

  4. Mengoptimumkan model saiz kedudukan untuk produk yang berbeza.

  5. Mempakai pembelajaran mesin untuk membantu mengenal pasti titik perubahan turun naik.

  6. Gabungkan dengan purata bergerak jangka masa yang lebih tinggi untuk menentukan arah trend yang lebih besar.

Ringkasan

Strategi ini menilai trend pasaran secara mudah dan langsung melalui turun naik, tetapi satu penunjuk mempunyai batasan. Memperkenalkan beberapa penunjuk dan pengoptimuman parameter dapat meningkatkan ketahanan. Secara keseluruhan, strategi ini memberikan idea perdagangan berdasarkan turun naik.


/*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 lanjut