Strategi Tren Kuantitatif Super Z


Tanggal Pembuatan: 2023-11-27 18:41:59 Akhirnya memodifikasi: 2023-11-27 18:41:59
menyalin: 0 Jumlah klik: 934
1
fokus pada
1617
Pengikut

Strategi Tren Kuantitatif Super Z

Ringkasan

Strategi tren kuantitatif super Z adalah strategi pelacakan tren berdasarkan indikator kuantitatif. Strategi ini menggunakan indikator khusus yang dikombinasikan dengan indikator tren super untuk menilai dan melacak tren.

Prinsip Strategi

Indikator inti dari strategi ini adalah indikator kuantitatif khusus VHMA. Indikator VHMA dihitung berdasarkan Hull Moving Average, dan Hull MA diproses ulang dengan fungsi akar kuadrat, membentuk kurva dengan kelancaran yang baik.

Strategi ini juga menggabungkan indikator supertrend, yang dapat menemukan tren harga dalam periode yang lebih lama, membantu indikator VHMA menentukan arah tren. Ketika harga menembus garis supertrend, ini berarti bahwa tren telah berbalik.

Oleh karena itu, strategi ini menggunakan indikator VHMA untuk menentukan arah tren jangka pendek, ditambah dengan indikator supertrend untuk menentukan titik balik tren jangka panjang, untuk melacak tren secara keseluruhan. Logika perdagangan spesifik adalah mengirimkan sinyal perdagangan ketika melintasi garis supertrend.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Indikator VHMA memiliki kelenturan yang kuat, yang dapat mengurangi sinyal palsu dan menentukan arah tren dengan akurat dan dapat diandalkan;

  2. Indikator supertrend dapat digunakan untuk mengidentifikasi perubahan tren jangka panjang dan mengidentifikasi peluang untuk membeli atau menjual.

  3. Menggunakan garis K dan garis K kosong dengan warna yang berbeda untuk menggambarkan hubungan ukuran antara harga penutupan dan harga pembukaan, membentuk indikator visual, membantu menilai tren;

  4. Menggunakan desain multi-frame waktu untuk menilai arah tren pada frame waktu tingkat tinggi, sinyal perdagangan pada frame waktu tingkat rendah, dan penyaringan yang efisien;

  5. Parameter strategi dirancang dengan baik, stabil, dan dapat digunakan dalam berbagai lingkungan pasar.

Analisis risiko

Strategi ini juga memiliki risiko sebagai berikut:

  1. Indikator kuantitatif memiliki efek pengulangan, efek disk mungkin lebih lemah dari pengulangan;

  2. Setting parameter indikator supertrend yang tidak tepat dapat menyebabkan kehilangan peluang perdagangan atau meningkatkan perdagangan yang tidak berarti;

  3. Desain multi-time frame dapat gagal dalam kondisi hard disk.

Tanggapan:

  1. Menambahkan pengaturan slider, mengoptimalkan parameter dan mengurangi efek pengembalian;

  2. Mengatur parameter indikator supertrend, mengoptimalkan pengaturan parameter;

  3. Uji coba beberapa kerangka waktu yang cocok untuk memastikan stabilitas kerangka waktu.

Arah optimasi

Strategi ini dapat dioptimalkan dengan:

  1. Uji rata-rata bergerak yang berbeda daripada VHMA;

  2. Mencoba menggunakan indikator tren yang berbeda dari indikator supertrend;

  3. Menambahkan parameter indikator pelatihan model pembelajaran mesin.

Pengoptimalan ini dapat meningkatkan kemampuan strategi untuk beradaptasi dengan situasi yang kompleks.

Meringkaskan

Strategi tren kuantitatif Super Z memungkinkan penilaian dan pelacakan tren harga melalui indikator tren khusus VHMA yang dikombinasikan dengan indikator tren super. Strategi ini memiliki stabilitas yang baik dan efek langsung yang sangat baik. Dengan pengujian dan pengoptimalan terus menerus, strategi ini diharapkan menjadi strategi pelacakan tren kuantitatif yang stabil dan efisien.

Kode Sumber Strategi
/*backtest
start: 2022-11-20 00:00:00
end: 2023-11-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
//Original script
//https://www.tradingview.com/script/wYknDlLx-super-Z/

//@version=4
strategy("Super Z strategy - Thanks to Rafael Zioni", shorttitle="Super Z strategy",overlay=true )
src5 = input(close)
    
tf = input(1440)
len5 = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   tf / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7

ma = ema(src5*volume, len5) / ema(volume, len5)


//script taken from https://www.tradingview.com/script/kChCRRZI-Hull-Moving-Average/

src1 = ma

p(src1, len5) =>
    n = 0.0
    s = 0.0
    for i = 0 to len5 - 1
        w = (len5 - i) * len5
        n := n + w
        s := s + src5[i] * w
    s / n

hm = 2.0 * p(src1, floor(len5 / 2)) - p(src1, len5)
vhma = p(hm, floor(sqrt(len5)))
lineColor = vhma > vhma[1] ? color.lime : color.red
plot(vhma, title="VHMA", color=lineColor ,linewidth=3)
hColor = true,vis = true
hu = hColor ? (vhma > vhma[2] ? #00ff00 : #ff0000) : #ff9800

vl = vhma[0]
ll = vhma[1]
m1 = plot(vl, color=hu, linewidth=1, transp=60)
m2 = plot(vis ? ll : na,  color=hu, linewidth=2, transp=80)

fill(m1, m2,  color=hu, transp=70)
//

b = timeframe.isintraday and timeframe.multiplier >= 1 ? 
   60 / timeframe.multiplier * 7 : 
   timeframe.isintraday and timeframe.multiplier < 60 ? 
   60 / timeframe.multiplier * 24 * 7 : 7



//
res5 = input("D", type=input.resolution)

o = security(syminfo.tickerid, res5, open, barmerge.gaps_off, barmerge.lookahead_on)
c = security(syminfo.tickerid, res5, close, barmerge.gaps_off, barmerge.lookahead_on)
hz = security(syminfo.tickerid, res5, high, barmerge.gaps_off, barmerge.lookahead_on)
l = security(syminfo.tickerid, res5, low, barmerge.gaps_off, barmerge.lookahead_on)



col = c >= o ? color.lime : color.red

ppo = plot(b ? o >= c ? hz : l : o, color=col, title="Open", style=plot.style_stepline, transp=100)
ppc = plot(b ? o <= c ? hz : l : c, color=col, title="Close", style=plot.style_stepline, transp=100)

plot(b and hz > c ? hz : na, color=col, title="High", style=plot.style_circles, linewidth=2,transp=60)
plot(b and l < c ? l : na, color=col, title="Low", style=plot.style_circles,linewidth=2, transp=60)

fill(ppo, ppc, col)

//
// INPUTS //
st_mult   = input(1,   title = 'SuperTrend Multiplier', minval = 0, maxval = 100, step = 0.01)
st_period = input(50, title = 'SuperTrend Period',     minval = 1)

// CALCULATIONS //
up_lev =l - (st_mult * atr(st_period))
dn_lev = hz + (st_mult * atr(st_period))

up_trend   = 0.0
up_trend   := c[1] > up_trend[1]   ? max(up_lev, up_trend[1])   : up_lev

down_trend = 0.0
down_trend := c[1] < down_trend[1] ? min(dn_lev, down_trend[1]) : dn_lev

// Calculate trend var
trend = 0
trend := c > down_trend[1] ? 1: c < up_trend[1] ? -1 : nz(trend[1], 1)

// Calculate SuperTrend Line
st_line = trend ==1 ? up_trend : down_trend

// Plotting
//plot(st_line[1], color = trend == 1 ? color.green : color.red , style = plot.style_cross, linewidth = 2, title = "SuperTrend")
buy=crossover( c, st_line)
sell=crossunder(c, st_line)
signal=input(false)

/////////////// Plotting /////////////// 
plotshape(signal and buy, style=shape.triangleup, size=size.normal, location=location.belowbar, color=color.lime)
plotshape(signal and sell, style=shape.triangledown, size=size.normal, location=location.abovebar, color=color.red)


if (buy)
    strategy.entry("My Long Entry Id", strategy.long)

if (sell)
    strategy.entry("My Short Entry Id", strategy.short)