
Strategi trend kuantitatif SuperZ adalah strategi trend pemantauan berdasarkan indikator kuantitatif. Strategi ini menggunakan indikator tersuai yang digabungkan dengan indikator supertrend untuk menilai dan mengesan trend.
Tanda-tanda utama strategi ini adalah tanda-tanda kuantitatif yang disesuaikan VHMA. Tanda-tanda VHMA dikira berdasarkan purata bergerak Hull, dengan pengolahan semula Hull MA melalui fungsi akar kuadrat, membentuk kurva dengan kelancaran yang baik.
Strategi ini juga menggabungkan indikator supertrend, yang dapat melihat trend harga dalam tempoh yang lebih lama, membantu indikator VHMA menentukan arah trend. Apabila harga menembusi garis supertrend, ia mewakili pembalikan trend.
Oleh itu, strategi ini menggunakan petunjuk VHMA untuk menentukan arah trend jangka pendek, ditambah dengan petunjuk trend super untuk menentukan titik perubahan trend jangka panjang, untuk menjejaki trend keseluruhan. Logik perdagangan khusus adalah mengeluarkan isyarat perdagangan apabila melintasi garis trend super.
Strategi ini mempunyai kelebihan berikut:
Indeks VHMA mempunyai kehalusan yang kuat, yang dapat mengurangkan isyarat palsu dan menentukan arah trend dengan tepat;
Dengan menggunakan penunjuk trend super, anda dapat melihat perubahan trend jangka panjang pada masa yang tepat dan mengambil peluang untuk membeli atau menjual.
Garis K entiti dan garis K kosong dengan warna yang berbeza menggambarkan hubungan saiz harga penutupan dan harga pembukaan, membentuk penunjuk visual, membantu menilai trend;
Menggunakan reka bentuk pelbagai bingkai masa untuk menilai arah trend pada bingkai masa peringkat tinggi dan menghantar isyarat perdagangan pada bingkai masa peringkat rendah untuk penapisan yang cekap;
Parameter strategi direka dengan baik, stabil, dan sesuai untuk pelbagai keadaan pasaran.
Strategi ini juga mempunyai risiko:
Penunjuk kuantitatif mempunyai kesan pengulangan, dan kesan cakera mungkin lebih lemah daripada pengulangan;
Tetapan parameter yang tidak betul dalam indikator Supertrend boleh menyebabkan kehilangan peluang dagangan atau peningkatan dagangan yang tidak penting;
Reka bentuk bingkai masa berbilang mungkin gagal dalam keadaan cakera.
Kaedah pencegahan:
Tambah tetapan titik geser, optimumkan parameter dan kurangkan kesan pengesanan balik;
Menyesuaikan parameter penunjuk trend super dan mengoptimumkan tetapan parameter;
Uji kelayakan pelbagai kerangka masa untuk memastikan kestabilan pelbagai kerangka masa.
Strategi ini boleh dioptimumkan dengan:
Uji rata-rata bergerak yang berbeza daripada VHMA;
Mencuba menggunakan indikator trend yang berbeza dan bukannya super trend;
Menambah parameter penunjuk latihan model pembelajaran mesin.
Langkah-langkah pengoptimuman ini dapat meningkatkan kesesuaian strategi untuk situasi yang kompleks.
Strategi trend kuantitatif Super Z melalui indikator trend khusus VHMA yang digabungkan dengan indikator trend super, untuk menilai dan mengesan trend harga. Strategi ini stabil dan berkesan secara langsung. Dengan ujian dan pengoptimuman yang berterusan, strategi ini dijangka menjadi strategi trend kuantitatif yang stabil dan berkesan.
/*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)