其实任何的一种编程方式,都能够识别出MACD/SKDJ中的顶底背离,最为常规的情况是,如果最新的 MACD是正值,则取倒数第二和倒数第四两个柱区,分别求得其price(close)和MACD的最小值,即price1最小值>price2最小值 and macd1最小值
上面说的是理想情况下,问题来了?1,什么长度的柱区为有效的柱区?比如6根以上,如果不确定柱区长度为有效,你会碰到下面的问题,如果碰到两个绿柱区,中间杂家一个特别短点的红柱区(仅有1-3根柱区),那么是直接跟上面一样计算,还是将这两个绿区加上这个红区算成一个绿柱区?2,比如最新的柱区是1根红,2根绿这种,是否需要往前推移柱区来进行计算,还是放弃计算,直接确定没有背离情形?
一旦你将这些你自己的定义和需求确定了,将可能性列出来,剩下的就仅仅是编程的问题,定义一个函数,进行计算即可!return结果即可!使用python,def xxxx()一个函数即可,以后也可以方便的使用它进行计算!
常规情况如下:
这种情况是明显的底背离,很容易计算出来,先取出MACD的值,然后确定第1红区的,开始点和结束点的位置,确定第2红区开始点和结束点的位置,则可以取得相应close的最低价格,同样可以取的MACD的最低点,两两比较,即可以求得结果。符合price1macd2即可!
非常规情况一:
这种时候这个背离有意义么?这个到底是要把这两个红区忽略,还是咱们不计算底背离,计算顶背离?
把特殊情况一一列表,在python定义函数计算的时候,就不会懵逼,而且得出来的东西也是你想要的了!