SwingHigh(1,Close,6,20); 我在程序中用了这个函数, 发现有时候计算出的结果是-1, 这是怎么回事?
Vars
Series<Numeric> BF; //波峰
Events
OnBar(ArrayRef<Integer> indexs)
{
BF=SwingHigh(1,Close,6,20);
Commentary("波峰BF="+Text(BF));
}
如图:
这是在帮助里查到的函数使用说明:
SwingHigh
说明 | 求波峰点 |
语法 | Numeric SwingHigh(Numeric Instance,Series<Numeric> Price,Numeric Strength,Numeric Length) |
参数 | Instance 设置返回哪一个波峰点,1 - 最近的波峰点,2 - 倒数第二个,以此类推。 Price 用于求波峰点的值,必须是数值型序列值; Strength 设置转折点两边的需要的周期数,必须小于Length; Length 是需要计算的周期数,为整型。 |
备注 | 该函数计算指定周期内的数值型序列值的波峰点,返回值为浮点数; 当序列值的CurrentBar小于Length时,该函数的引用参数返回无效值。 |
示例 |
SwingHigh(1,Close,2,10);计算Close在最近10个周期的波峰点的值,最高点两侧每侧至少需要2个Bar。
|