|
从本论坛下载的双线MACD指标,我在此基础上添加一条新线,想实现当指标值大于0与小于0的值分别求和。编码如下: int IsDivision = 1;//是否分割(不一样的时候分割)1是大于0,-1是小于0 //开始分割索引 int sta = 0; double sum = 0; for (i=0; i<limit; i++) { sum += ind_buffer1; //主线的未分割前求和值 //正数,下一位是负数就分割合计 if (IsDivision >= 0 && ind_buffer1/ind_buffer1[i+1] <= 0) { IsDivision = -1; for (int j=sta ; j<=i; j++) //从分割索引开始 { SumSM[j] = sum; } sta = i+1 ; //下一位是分割后的索引所以+1 sum = 0; } //负数,下一位是正数就分割合计 else if (IsDivision <= 0 && ind_buffer1/ind_buffer1[i+1] <= 0) { IsDivision = 1; for ( j=sta ; j<=i; j++) { SumSM[j] = sum; } sta = i+1; sum = 0; } } 通过上述代码,能实现新线按照0值分别求和,但成了不可执行程序:只有加载时显示,不能随着数据的变化重绘图形了。是什么原因,求各位老师指教。 |
外汇交易入门