判断指标交叉函数

楼主  收藏   举报   帖子创建时间:  2019-05-05 14:59 回复:0 关注量:556
常规下, 指标出现交叉说明行情出现了反转, 大多数操盘手都会将此 k 线形态作为衡量下单或者平仓的参考。通常的,依据同一指标“快线”和“慢线”来判断交叉,如果快线向上穿透慢线叫做“金叉” ,如果快线向下穿透慢线叫做“死叉” 。我们以 7 个周期和 14 个周期移动平均线为例来演绎一下判断交叉的方法。


假设移动平均线采用收盘价为平均数基准价, 按简单平均法计算数值, 分别加载 7 个周期和 14 个周期之后的图表如下:


QQ图片20161108151245.png

通过对交叉位置特点进行分析, 将设计交叉算法的原理描述如下: 先获取当前 k 线的快慢两线数值,再获取前一 k 线的快慢两线数值。如果当前 k 线的快线大于慢线,且前一 k 线的快线小于慢线,则双线形态为金叉,如果当前 k 线的快线小于慢线,且前一 k 线的快线大于慢线,则双线形态为死叉。


以下代码为标准的判断两线交叉自定义函数, 输入参数有 4 个, 分别是当前 k 线的快慢数值和前一 k 线的快慢数值,函数输出为“9” ,表示没有出现交叉, “0”表示完成了金叉,
“1”表示完成了死叉。


  1. int iCrossSignal(double myFast0,double mySlow0,double myFast1,double mySlow1)
  2. {
  3. int myReturn=9;
  4. if (myFast0>mySlow0 && myFast1<=mySlow1)
  5. {
  6. myReturn=0;
  7. }
  8. if (myFast0<mySlow0 && myFast1>=mySlow1)
  9. {
  10. myReturn=1;
  11. }
  12. return(myReturn);
  13. }
打赏