Strategi ini menggunakan kaedah nilai melampau untuk mengira turun naik statistik, juga dikenali sebagai turun naik sejarah. Ia mengukur turun naik berdasarkan nilai melampau harga tertinggi, harga terendah dan harga dekat, digabungkan dengan faktor masa. Volatiliti mencerminkan turun naik harga aset. Strategi akan membuat perdagangan panjang atau pendek yang sepadan apabila turun naik lebih tinggi atau lebih rendah daripada ambang.
SqrTime = sqrt(253 / Length)
Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -1, nz(pos[1], 0)))
Kelebihan utama strategi ini ialah:
Risiko utama strategi ini ialah:
Tindakan balas dan penyelesaian:
Arah pengoptimuman untuk strategi ini:
Strategi ini menggunakan kaedah nilai melampau untuk mengira turun naik statistik, dan menghasilkan isyarat perdagangan dengan menangkap anomali turun naik. Berbanding dengan penunjuk mudah seperti garis purata bergerak, ia lebih mencerminkan turun naik pasaran dan menangkap pembalikan. Sementara itu, algoritma kaedah nilai melampau juga menjadikan hasilnya lebih stabil dan boleh dipercayai. Melalui penyesuaian parameter dan pengoptimuman, strategi ini dapat menyesuaikan diri dengan keadaan pasaran yang berbeza, dan logik dagangan dan penunjuk turun naik statistiknya bernilai penyelidikan dan penerapan lanjut.
/*backtest start: 2022-12-19 00:00:00 end: 2023-12-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 22/11/2014 // This indicator used to calculate the statistical volatility, sometime // called historical volatility, based on the Extreme Value Method. // Please use this link to get more information about Volatility. // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Statistical Volatility - Extreme Value Method ", shorttitle="Statistical Volatility Backtest") Length = input(30, minval=1) TopBand = input(0.005, step=0.001) LowBand = input(0.0016, step=0.001) reverse = input(false, title="Trade reverse") hline(TopBand, color=red, linestyle=line) hline(LowBand, color=green, linestyle=line) xMaxC = highest(close, Length) xMaxH = highest(high, Length) xMinC = lowest(close, Length) xMinL = lowest(low, Length) SqrTime = sqrt(253 / Length) Vol = ((0.6 * log(xMaxC / xMinC) * SqrTime) + (0.6 * log(xMaxH / xMinL) * SqrTime)) * 0.5 nRes = iff(Vol < 0, 0, iff(Vol > 2.99, 2.99, Vol)) pos = iff(nRes > TopBand, 1, iff(nRes < LowBand, -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="Statistical Volatility")