zigzag

语法

zigzag(HL, [change=10], [percent=true], [retrace=false], [lastExtreme=true])

参数

HL 数值向量或者包含两列的数值矩阵。

change 极值波动的最小阈值。

percent 布尔值,表示 change 是否是一个百分数。

retrace 是一个布尔值,默认为 false。

  • true:change 当前值相对于前一次波动的回撤。

  • false:change 当前值相对于两端极值点间的变化。

注:

percent=false 时, retrace 的 true 值将不生效。

lastExtreme 布尔值,表示有多个连续且值相同的极值点时,是否输出最后一个极值点,默认为 true。

详情

zigzag 主要用于过滤掉 HL 中较小波动的值,只有满足条件的极值点会被输出。

HL 是向量,返回一个与 HL 长度相同的向量;若 HL 是矩阵,返回与 HL 行数相同的向量。

例子

t = table(1.1 2.3 4.45 3.67 4.9 as `low, 1.3 2.8 4.9 3.73 6.28 as `high)
HL = matrix(t[`low], t[`high])
zz = zigzag(HL, change=10, percent=true, retrace=false, lastExtreme=true)
zz;
0 1 2 3 4
1.2 4.45 3.73 4.9
HL = 1.2 3 3.1 14 14.5 14.7 25.0 17.8 19 10
zz = zigzag(HL, change=10, percent=true, retrace=false, lastExtreme=true)
zz;
0 1 2 3 4 5 6 7 8 9
1.2 25 10