Strategi ini menilai arah tren berdasarkan hubungan antara volatilitas dan rata-rata bergerak dengan menghitung rata-rata bergerak dari rentang fluktuasi nyata yang mencerminkan volatilitas pasar. Lihatlah lebih tinggi saat volatilitas melewati rata-rata bergerak, lebih tinggi saat turun, dan atur stop loss.
Menggunakan fungsi ATR untuk menghitung rentang fluktuasi yang sebenarnya dalam periode yang ditentukan. Kemudian menghitung rata-rata bergerak sederhana dari ATR, sebagai rata-rata bergerak dari fluktuasi. Ketika ATR melewati rata-rata bergeraknya, menganggap fluktuasi pasar meningkat, mengambil strategi bullish; Ketika ATR melewati rata-rata bergeraknya, menganggap fluktuasi pasar berkurang, mengambil strategi bullish.
Pada saat memegang posisi, Anda akan mengatur posisi stop loss yang dilacak dengan proporsi tetap, yang secara dinamis menyesuaikan posisi stop loss sesuai dengan perubahan harga, dan melindungi keuntungan Anda sambil mencegah stop loss tertutup.
Strategi ini menilai tren pasar melalui indikator volatilitas, untuk menghindari kebisingan yang menyesatkan. Jika volatilitas naik, lihatlah lebih tinggi, jika turun, lakukan operasi perlindungan. Tracking stop loss dapat menyesuaikan posisi stop loss sesuai dengan perubahan harga real-time, dapat mengurangi stop loss yang tidak perlu sambil melindungi keuntungan.
Strategi ini hanya didasarkan pada satu indikator volatilitas, ada beberapa keterlambatan. Dan menelusuri stop loss hanya mempertimbangkan perubahan harga ke arah yang tidak menguntungkan, tidak dapat melindungi keuntungan dari rebound. Ketika harga berfluktuasi tajam, garis stop loss dapat ditembus, menyebabkan kerugian yang lebih besar.
Parameter periodik ATR dan rata-rata dapat dioptimalkan dengan tepat, atau indikator lain dapat digabungkan untuk penilaian komprehensif. Metode stop loss juga dapat diubah menjadi stop loss dinamis, menyesuaikan amplitudo stop loss sesuai dengan tingkat fluktuasi pasar.
Uji berbagai kombinasi ATR dan parameter siklus rata-rata untuk menemukan parameter optimal.
Menambahkan penilaian indikator lainnya, membentuk portofolio strategi, meningkatkan akurasi strategi.
Menetapkan strategi stop loss yang dinamis dan menyesuaikan stop loss sesuai dengan volatilitas pasar.
Untuk mengoptimalkan strategi pengelolaan dana, berbagai varietas dapat mengatur ukuran posisi yang berbeda.
Menggunakan teknologi pembelajaran mesin untuk membantu menentukan titik balik dari volatilitas pasar.
Menggabungkan indikator rata-rata tingkat tinggi untuk mengidentifikasi arah tren di tingkat yang lebih besar.
Strategi ini menggunakan indikator volatilitas untuk menilai pergerakan pasar yang lebih sederhana dan langsung, tetapi mudah dibatasi hanya dengan satu indikator. Dengan memperkenalkan beberapa parameter penilaian dan optimasi indikator yang tepat, dapat meningkatkan stabilitas strategi. Secara keseluruhan, strategi ini memberikan ide untuk berdagang berdasarkan volatilitas pasar.
/*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")