zigzag指标下载,zigzag指标的用法与技巧

输入数据

我们将采用11个指标(振荡器),在输入设置中不设优先级。我们将从某些指标中抽取多个变量。然后我们将写一个函数形成17个变量的输入集。

最近4000个 TF = M30 / EURUSD 柱形的报价将被采用。

In <- function(p = 16){

  require(TTR)

  require(dplyr)

  require(magrittr)

  adx <- ADX(price, n = p) %>% as.data.frame %>%

          mutate(.,oscDX = DIp -DIn) %>%

          transmute(.,DX, ADX, oscDX) %>% as.matrix()

  ar <- aroon(price[ ,c(‘High’, ‘Low’)], n = p)%>%

          extract(,3)mt4kdj三线指标下载

  atr <- ATR(price, n = p, maType = “EMA”) %>%

          extract(,1:2)

  cci <- CCI(price[ ,2:4], n = p)

  chv <- chaikinVolatility(price[ ,2:4], n = p)

  cmo <- CMO(price[ ,’Med’], n = p)

  macd <- MACD(price[ ,’Med’], 12, 26, 9) %>%

          as.data.frame() %>%

          mutate(., vsig = signal %>%

          diff %>% c(NA,.) %>% multiply_by(10)) %>%

          transmute(., sign = signal, vsig) %>%

          as.matrix()

  rsi <- RSI(price[ ,’Med’], n = p)

  stoh <- stoch(price[ ,2:4], nFastK = p, nFastD =3, nSlowD = 3, maType = “EMA”)%>%

      as.data.frame() %>% mutate(., oscK = fastK – fastD)%>%

      transmute(.,slowD, oscK)%>% as.matrix()

  smi <- SMI(price[ ,2:4],n = p, nFast = 2, nSlow = 25, nSig = 9)

  vol <- volatility(price[ ,1:4], n = p, calc = “yang.zhang”, N = 144)

  In <- cbind(adx, ar, atr, cci, chv, cmo, macd, rsi, stoh, smi, vol)

  return(In)

}

zigzag指标下载,zigzag指标的用法与技巧输出数据(目标)

作为目标变量,我们将使用ZigZag信号。下面就是计算zigzag和其信号的公式:

ZZ <- function(pr = price, ch = ch , mode=”m”) {

  require(TTR)

  if(ch > 1) ch <- ch/(10 ^ (Dig – 1))

  if(mode == “m”){pr <- pr[ ,’Med’]}

  if(mode == “hl”) {pr <- pr[ ,c(“High”, “Low”)]}

  if(mode == “cl”) {pr <- pr[ ,c(“Close”)]}

  zz <- ZigZag(pr, change = ch, percent = F, retrace = F, lastExtreme = T)

  n <- 1:length(zz)

  for(i in n) { if(is.na(zz[i])) zz[i] = zz[i-1]}

  dz <- zz %>% diff %>% c(0,.)

  sig <- sign(dz)

  return(cbind(zz, sig))

}

zigzag指标下载,zigzag指标的用法与技巧函数参数:

  • pr = price — OHLCMed 报价的矩阵;
  • ch — zigzag折线的最小长度,以点数计(4 signs);
  • mode — 应用的价格(m — 均价,hl — 最高最低价,cl — 收盘价)。默认使用均价。

二.计算方式

1对计算位置进行初期化

1.1判断是否是第一次进行高低点计算,如果是,则设定计算位置为除去ExtDepth个图形最初的部分。

1.2如果之前已经计算过,找到最近已知的三个拐点(高点或低点),将计算位置设置为倒数第三个拐点之后,重新计算最后的拐点。

2.从步骤1已经设置好的计算位置开始,将对用于存储高低点的变量进行初始化,准备计算高低点

2.1计算ExtDepth区间内的低点,如果该低点是当前低点,则进行2.1.1的计算,并将其记录成一个低点。

2.1.1如果当前低点比上一个低点值小于相对点差(ExtDeviation);并且之前ExtBackstep个Bars的记录的中,高于当前低点的值清空。

2.2高点的计算如同2.1以及分支处理2.1.1。

3.从步骤1已经设置好的计算位置开始,定义指标高点和低点

3.1如果开始位置为高点,则接下来寻找低点,在找到低点之后,将下一个寻找目标定义为高点

3.2如果开始位置为低点,则与3.1反之。以上可能比较难以理解,我们这边举个例子说明:假设上次计算的结果如下:倒数第14个Bar出现了一个高点(3.1),倒数第4个是低点(1.5),倒数第1个是新的高点(2.1)——因为距离倒数第14已经大于ExtDepth(14-1>12)。

Bar-14  Bar-4  Bar-1  Bar-Current

高(3.1) 低(1.5) 高(2.1)  X

对于Bar-Current,即当前的价格X,

CaseI.

如果X>=2.1ExtDeviation,则根据Zigzag的定义,这将是一个新的高点。假设这里X=2.3,那么我们绘制指标的时候应该成为:

Bar-14  Bar-4  Bar-Current

高(3.1)  低(1.5)  高(2.3)

CaseII.

指标参数

指标用法:

基于ZigZag趋势线,自动画出黄金分割回调线,黄金分割线是一种主观性指标,仅作辅助判断,ZigZag是趋势性指标,可以学习使用。

本指标的好处就是不需要人工判断位置,指标根据ZigZag自动画出黄金分割.

指标效果:

zigzag指标下载,zigzag指标的用法与技巧

本文内容仅代表作者观点,不代表本站立场,如若转载,请注明出处:https://www.fx220.com/redian/2257.html

发表评论

邮箱地址不会被公开。 必填项已用*标注