Стратегия количественного тренда Super Z

Автор:Чао Чжан, Дата: 2023-11-27 18:41:59
Тэги:

img

Обзор

Стратегия количественного тренда Super Z - это стратегия отслеживания трендов, основанная на количественных показателях.

Принцип стратегии

Основным показателем этой стратегии является пользовательский количественный индикатор VHMA. Индикатор VHMA рассчитывается на основе линии Hull Moving Average. Применение функции квадратного корня для сглаживания Hull MA формирует кривую с хорошей плавностью. Кривая VHMA может судить о направлении ценовой тенденции. Когда VHMA повышается, это означает, что цена находится в восходящей тенденции. Когда она падает, это представляет собой тенденцию к снижению цен.

Стратегия также включает в себя индикатор Super Trend. Индикатор Super Trend может обнаруживать более длительные ценовые тенденции, чтобы помочь индикатору VHMA в определении направления тренда. Когда цена прорывается через линию Super Trend, это представляет собой обратный тренд.

Таким образом, эта стратегия использует индикатор VHMA для оценки краткосрочного направления тренда, с помощью индикатора Super Trend для определения долгосрочного поворотного момента тренда, реализуя отслеживание общей тенденции.

Анализ преимуществ

Эта стратегия имеет следующие преимущества:

  1. Индикатор VHMA обладает высокой плавностью и может уменьшить ложные сигналы. Он может точно и надежно оценить направление тренда;

  2. В сочетании с индикатором Super Trend он может быстро обнаруживать долгосрочные сдвиги трендов и определять сроки покупки и продажи;

  3. Использование различных цветовых твердых и полых линий K для изображения зависимости размеров между ценой закрытия и ценой открытия для формирования визуального индикатора, помогающего оценить тенденцию;

  4. Принять многочасовую конструкцию, которая может определять направление тренда на старших временных рамках и выдавать торговые сигналы на младших временных рамках для достижения эффективной фильтрации;

  5. Параметры стратегии оптимизированы для стабильности и подходят для различных рыночных условий.

Анализ рисков

Стратегия также имеет следующие риски:

  1. Количественные показатели имеют эффект обратного тестирования, а фактические эффекты могут быть слабее, чем обратные тесты;

  2. Неправильное установление параметров индикатора Super Trend может привести к пропущенным торговым возможностям или ненужным сделкам;

  3. Разработки с несколькими временными рамками также могут потерпеть неудачу в реальных условиях торговли.

Контрмеры:

  1. Увеличить настройки скольжения и оптимизировать параметры для уменьшения эффектов обратных испытаний;

  2. Регулировать параметры индикатора Super Trend и оптимизировать настройки параметров;

  3. Испытать методы совпадения нескольких временных рамок для обеспечения стабильности нескольких временных рамок.

Направление оптимизации

Стратегия может быть оптимизирована в следующих аспектах:

  1. Испытать различные показатели скользящей средней сглаженной для замены показателя VHMA;

  2. Попробуйте заменить индикатор Super Trend на другие индикаторы тренда;

  3. Увеличить параметры индикатора обучения модели машинного обучения.

Эти меры оптимизации могут улучшить адаптивность стратегий к сложным рыночным условиям.

Резюме

Стратегия количественного тренда Super Z реализует суждение и отслеживание ценовых тенденций с помощью пользовательского индикатора тренда VHMA в сочетании с индикатором Super Trend. Стратегия имеет хорошую стабильность и отличные фактические эффекты. Благодаря постоянному тестированию и оптимизации эта стратегия имеет потенциал стать эффективной и стабильной стратегией количественного отслеживания тренда.


/*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)

Больше