通达信cross函数c++源代码
时间: 2023-12-04 08:00:22 浏览: 246
通达信编程公式源码.docx
通达信是一款常用的股市行情分析软件,其中的cross函数是一个常用的函数,用于判断两条移动平均线的交叉情况。
cross函数的源代码如下:
```
int cross(int fastMA[], int slowMA[], int length) {
int result = 0; // 交叉结果,默认为0
int i;
for(i = 0; i < length; i++) {
if(fastMA[i] > slowMA[i] && fastMA[i-1] <= slowMA[i-1]) {
result = 1; // 快速均线上穿慢速均线,交叉结果为1
break;
}
if(fastMA[i] < slowMA[i] && fastMA[i-1] >= slowMA[i-1]) {
result = -1; // 快速均线下穿慢速均线,交叉结果为-1
break;
}
}
return result;
}
```
这段代码中,函数cross接受三个参数:fastMA、slowMA和length,分别表示快速移动平均线、慢速移动平均线和数据长度。函数返回一个整数结果,用于表示两条均线的交叉情况。当快速移动平均线上穿慢速移动平均线时,结果为1;当快速移动平均线下穿慢速移动平均线时,结果为-1;其他时候,结果为0。
在函数体内,使用for循环遍历移动平均线的数据,通过比较当前时刻的均线值与上一时刻的均线值,判断是否发生了交叉。当发生交叉时,根据均线的上穿或下穿关系,将交叉结果设置为1或-1,并跳出循环。最后,返回交叉结果。
这段代码简洁明了地实现了判断两条移动平均线是否发生交叉的功能,是一种常见的技术分析方法。
阅读全文