
Strategi pelacakan tren vortex oscillator adalah strategi pelacakan tren yang didasarkan pada indikator vortex. Ini menggunakan rata-rata bergerak dari beberapa periode yang berbeda untuk membangun indikator vortex, mengidentifikasi tren potensial dalam harga, dan menggabungkan rata-rata bergerak dari periode yang lebih pendek sebagai penilaian tambahan, untuk mencapai operasi pelacakan tren berisiko rendah.
Indikator utama dari strategi ini adalah indikator vortex. Indikator vortex terdiri dari rata-rata bergerak jangka pendek, menengah, dan panjang dari beberapa periode yang berbeda. Secara khusus, strategi ini menggunakan rata-rata bergerak dari empat periode yaitu 6, 27, 72, dan 234 hari. Rata-rata bergerak jangka pendek mencerminkan tren terbaru harga, sedangkan rata-rata bergerak jangka panjang mencerminkan tren jangka panjang harga.
Indikator spiral memiliki keunggulan yang signifikan dalam menentukan tren yang akurat dan dapat menyaring kebisingan pasar secara efektif. Namun, responsnya tidak cukup sensitif dan tidak dapat menangkap titik balik tepat waktu. Oleh karena itu, strategi ini menambahkan rata-rata bergerak 6 hari yang lebih sensitif, untuk membangun indikator penilaian tambahan.
Keuntungan terbesar dari strategi ini adalah keakuratan penilaian dan sensitivitas operasional. Kombinasi indikator spiral dan indikator bantu, mencapai kesatuan organik dalam penilaian tren dan identifikasi titik jual beli spesifik, dan masing-masing sektor saling menghindari. Mekanisme konfirmasi ganda dapat secara efektif menyaring kebisingan pasar dan menghindari kesalahan operasi.
Dibandingkan dengan strategi indikator tunggal, strategi ini menggunakan keuntungan dari beberapa indikator secara komprehensif, dan memiliki kemampuan yang lebih kuat untuk mengidentifikasi dan menanggapi perubahan pasar. Strategi ini dapat menghasilkan keuntungan yang stabil jika tren besar tidak berubah; Strategi ini juga dapat merespons dengan cepat dan mengurangi kerugian ketika tren besar berubah.
Risiko utama dari strategi ini adalah dampak dari pengaturan parameter indikator yang tidak tepat dan kejadian yang tidak terduga. Pengaturan parameter rata-rata bergerak membutuhkan keseimbangan antara sensitivitas dan ketahanan terhadap gangguan suara, yang dapat menyebabkan perilaku strategi yang tidak normal. Selain itu, peristiwa besar yang tidak terduga juga dapat menyebabkan harga berfluktuasi secara drastis, membuat indikator tidak berfungsi, sehingga menghasilkan perdagangan yang salah.
Untuk mengurangi risiko ini, disarankan untuk mengoptimalkan kombinasi parameter dan melakukan pengulangan, sehingga kinerja indikator lebih stabil. Selain itu, perlu memperhatikan dampak pasar yang dibawa oleh peristiwa besar, menangguhkan strategi jika perlu, dan menghindari kesalahan operasi pada periode fluktuasi yang tidak biasa.
Strategi ini dapat dioptimalkan dalam beberapa hal:
Mengoptimalkan parameter moving average, meningkatkan kemampuan anti gangguan indikator dan sensitivitas operasi. Anda dapat mencoba kombinasi parameter panjang yang berbeda, memilih indikator yang halus dan sensitif.
Meningkatkan mekanisme stop-loss. Ketika harga menembus level support penting ke arah yang tidak menguntungkan, Anda harus mengatur stop-loss untuk menghindari kerugian lebih lanjut.
Dalam kombinasi dengan penilaian indikator lainnya, meningkatkan stabilitas strategi. Misalnya, menambahkan indikator volume transaksi, hanya menghasilkan sinyal perdagangan jika volume transaksi meningkat.
Menggunakan kombinasi parameter yang berbeda sesuai dengan fase pasar yang berbeda. Misalnya, parameter yang lebih positif digunakan untuk pasar bullish dan pengaturan yang lebih stabil digunakan untuk pasar bearish.
Strategi pelacakan tren spiral oscillator dengan menggunakan indikator spiral untuk menentukan arah dan intensitas tren harga, dan didukung dengan rata-rata bergerak jangka pendek yang lebih sensitif untuk menentukan waktu jual beli tertentu. Strategi ini berhasil menggabungkan dua tingkat penilaian tren dan eksekusi perdagangan, yang menjamin stabilitas operasi dan meningkatkan fleksibilitas strategi.
/*backtest
start: 2022-11-30 00:00:00
end: 2023-12-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//swap strategy line for study line to enable backtesting
strategy(title="Vortex Ocillator" )
//study(title = "Vortex Oscillator", precision = 6)
// Component Code Start
// Example usage:
// if testPeriod()
// strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2048, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() => true
// Component Code Stop
//vortex histogram
short_input = input(6, minval = 1)
long_input = input(27, minval = 1)
longer_input = input(72, minval = 1)
longest_input = input(234, minval = 1)
short = sma(close, short_input)
long = sma(close, long_input)
longer = sma(close, longer_input)
longest = sma(close, longest_input)
hist = short - long
longhist = short - longer
longesthist = short - longest
hist_fractal = input(3, minval = 0)
longhist_fractal = input(2, minval = 0)
longesthist_fractal = input(4, minval = 0)
vortexhist = avg((hist / hist_fractal), (longhist / longhist_fractal), (longesthist / longesthist_fractal))
crossover_calc = vortexhist > 0 and vortexhist[1] < 0
crossunder_calc = vortexhist < 0 and vortexhist[1] > 0
crossover2 = crossover(vortexhist, 0)
crossunder2 = crossunder(vortexhist, 0)
hist_color = hist > 0? fuchsia : purple
longhist_color = longhist > 0? olive : orange
longesthist_color = longesthist > 0? teal : blue
vortexhist_color = vortexhist >= 0? green : red
plot(longesthist, "Longest Ocillator", style = histogram, color = longesthist_color, transp = 5)
plot(longhist, "Longer Ocillator", style = histogram, color = longhist_color, transp = 30)
plot(hist, "Short Ocillator", style = histogram, color = hist_color, transp = 30)
plot(vortexhist, "Vortex Ocillator", style = columns, color = vortexhist_color, transp = 40)
plotshape(crossover_calc,title = "Crossover",location = location.bottom, style = shape.triangleup, size = size.small, color = green)
plotshape(crossunder_calc,title = "Crossunder",location = location.bottom, style = shape.triangledown, size = size.small, color = red)
//micro
micro_ema_length = input(6,"Micro EMA Length")
micro = ema(vortexhist, micro_ema_length)
plot(micro, title = "micro", linewidth = 1, color = white)
microup = crossover(vortexhist, micro)
microdown = crossunder(vortexhist, micro)
//new micro signals
xmicroup = microup and vortexhist >=0 or crossover_calc
xmicrodown = microdown and vortexhist >=0 or crossunder_calc
plotshape(xmicroup, title = "Micro up", style = shape.circle, color = olive, location = location.bottom, size = size.tiny)
plotshape(xmicrodown, title = "Micro down", style = shape.circle, color = fuchsia, location = location.bottom, size = size.tiny)
//optional strategy options for backtesting, comment out the alertcondition rows and swap the top study row for the strategy row to compile as strategy
if testPeriod()
strategy.entry("buy", true, 1, when = xmicroup, limit = low)
if testPeriod()
strategy.close("buy", when = xmicrodown)
//if (xmicroup)
//strategy.entry("My Long Entry Id", strategy.long)
//if (xmicroup)
//strategy.exit("My Short Exit Id", "My Short Entry Id")
//if (xmicrodown)
//strategy.exit("My Long Exit Id", "My Long Entry Id")