首页 > 其他分享 >龙哥量化:缠论的笔、线段、中枢以及MACD背离分析实现

龙哥量化:缠论的笔、线段、中枢以及MACD背离分析实现

时间:2024-01-26 23:11:34浏览次数:37  
标签:判断 线段 龙哥 MACD 缠论 分型 绘制 背离

声明:看到研究非常细致深入的文章,转载到我的博客园,以便学习和研究。

(转载自聚宽的大象咖啡)

本文参考了如下相关文贴:

  1. 【量化缠论】之分型、笔、线段识别
    1.1. 在该帖的基础上将线段和调整后的k线绘制在一张图中;
    1.2. 添加了中枢判断,并和调整后的k线绘制在一张图中;
  2. 《MACD背离》技术研究对MACD底背离策略改写的改写——30秒极速版
    2.1. 在大牛的基础上对不同类型的背离做了点皮毛分析;

本文以TCL集团(000100)11月6日至10日的30分钟级别,以及华润三九(000999)2017年行情为例介绍总体实现。

绘制k线图

函数get_k_series(security, start_date, end_date, n=30)获取k线序列,默认为30分钟级别。plot_k_series(k_data)函数绘制k线图。TCL集团(000100)11月6日至10日的30分钟级别的k线图绘制如下。

数绘制k线图。TCL集团(000100)11月6日至10日的30分钟级别的k线图绘制如下。

1.PNG

分型、笔、线段

分型是笔的节点,笔相互连接构成线段。分型是通过所考察的级别k线相互关系判断的。关于分型的具体定义截取《缠论》相关章节如下。

7.jpg

图1,第二K线高点是相邻三K线高点中最高的,而低点也是相邻三K线低点中最高的,定义其为顶分型;图2,第二K线低点是相邻三K线低点中最低的,而高点也是相邻三K线高点中最低的,定义为底分型。顶分型的最高点叫该分型的顶,底分型的最低点叫该分型的底。

两个相邻的顶和底之间构成一笔,所谓笔,就是顶和底之间的其他波动,都可以忽略不算,但注意,一定是相邻的顶和底,隔了几个就不是了。而所谓的线段,就是至少由三笔组成。但这里有一个细微的地方要分清楚,因为结合律是必须遵守的,像图3,顶和底之间必须共用一个K线,这就违反结合律了,所以这不算一笔,而图4,就光是顶和底了,中间没有其他K线,一般来说,也最好不算一笔,而图5,是一笔的最基本的图形,顶和底之间还有一根K线。在实际分析中,都必须要求顶和底之间都至少有一K线当成一笔的最基本要求。

当然,实际图形里,有些复杂的关系会出现,就是相邻两K线可以出现如图6这种包含关系,也就是一K线的高低点全在另一K线的范围里,这种情况下,可以这样处理,在向上时,把两K线的最高点当高点,而两K线低点中的较高者当成低点,这样就把两K线合并成一新的K线;反之,当向下时,把两K线的最低点当低点,而两K线高点中的较低者当成高点,这样就把两K线合并成一新的K线。经过这样的处理,所有K线图都可以处理成没有包含关系的图形。而图7,就给出了经过以上处理,没有包含关系的图形中,三相邻K线之间可能组合的一个完全分类,其中的二、四,就是分别是顶分型和底分型,一可以叫上升K线,三可以叫下降K线。所以,上升的一笔,由结合律,就一定是底分型+上升K线+顶分型;下降的一笔,就是顶分型+下降K线+底分型。注意,这里的上升、下降K线,不一定都是3根,可以无数根,只要一直保持这定义就可以。当然,简单的,也可以是1、2根,这只要不违反结合律和定义就可以。至于图8,就是线段的最基本形态,而图9,就是线段破坏,也就是两线段组合的其中一种形态。

如上所述,在实现的过程中,k线的包含关系会影响顶分型和底分型的判断。因此需要首先调整k线的包含关系以便于判断顶分型和底分型。具体调整规则如下:

k线向右包含:

  1. 如果是上升趋势,取更高的最低价;
  2. 如果是下降趋势,取更低的最高价;

k线向左包含:

  1. 如果是上升趋势,取更高的最高价;
  2. 如果是下降趋势,取更低的最低价;

调整过程由函数adjust_by_cintainment(k_data)实现。调整之后的TCL集团(000100)11月6日至10日的30分钟级别的k线图绘制如下:

0.PNG

调整之后的k线之间没有绝对的包含关系,这样容易寻找分型。分型的判断标准如下:

分型判断(并非严格的分型):

  1. 底分型,下降趋势中的第一个最低价抬升;
  2. 顶分型,上升趋势中的第一个最高价回落;
  3. 底分型之后必为顶分型;顶分型之后必为底分型;
  4. 分型之间至少有3根k线;

另外,由于起止点不构成分型,这样线段两端就是空白的。为了美观起见,起止点这里采用第一根和最后一根k线的二分位作为线段的起止点。

通过上面的方法得到分型以及起止点,对应的函数是get_fx(adjusted_k_data)。有了分型就可以连成笔,并进一步将笔连成线段。绘制函数是plot_lines(ax, fx_plot, fx_offset)。绘制效果如下:

2.PNG

中枢判断

缠论中的中枢满足如下条件:

  1. 必须在一个完整的走势类型中(至少3笔);
  2. 价格范围是最小的最高价,以及最大的最低价;

根据上述条件,实现中枢判断函数,对应到get_pivot(fx_plot, fx_offset, fx_observe)。输入中的fx_observe为观测的分型位置,函数返回这个位置前面最近的一个中枢区间。

3.PNG

比如,输入是上图中咖啡色处的分型点位,那么函数输出这个分型位置前面最近的中枢。中枢绘制函数是plot_pivot(ax, pivot_date_interval, pivot_price_interval)。绘制效果如下:

5.PNG

可以看到,目前30分钟图上股价处于最近的中枢上方,如果下跌不进入中枢区就会形成第三类买点(这个第三类买点在本周没有出现)。第三类买点需要动量分析。下文介绍MACD背离的判断实现。

MACD背离判断

MACD背离根据不同人的使用习惯有以下几种类型(以顶背离为例):

6.PNG

  1. 驼峰背离:股价创新高,MACD红柱没有创新高(左图);
  2. 面积背离:股价创新高,MACD红柱面积没有扩大(中图);
  3. 快慢线背离:股价创新高,快慢线死叉点位没有创新高(右图3);

上述三类背离以快慢线背离最为准确,并且计算效率最高。因此本文实现快慢线背离。实现函数为check_deviating(scode, fastperiod=11, slowperiod=26, signalperiod=9)。该函数判断日线级别的背离。判断规则如下:

底背离判断:
最近的收盘价快慢线金叉,与上一次金叉相比,金叉点位提高,dif提高,收盘价下跌;

顶背离判断:
最近的收盘价快慢线死叉,与上一次死叉相比,死叉点位下降,dif下降,收盘价上升;

以华润三九(000999)为例,2017年以来日线级别的背离判断如下:

4.PNG

可以看出以快慢线背离进行判断,买点靠右,卖点靠左,因而风险较小。不过个股也容易出现不有效的情况。背离的判断对于指数更加有效。所以我也会尝试在ETF指数上用背离策略,看看效果如何。

总结

上述实现没有仔细推敲,代码也显得凌乱,个人水平也十分有限。往大神们批评指正!

标签:判断,线段,龙哥,MACD,缠论,分型,绘制,背离
From: https://www.cnblogs.com/long136/p/17990928

相关文章

  • 通达信极品MACD优化版副图指标公式源码
    该指标,简单实用,看盘必备指标金叉在点阵下方时,尽量不要参与 仅在点阵上方时,可大胆介入 在点阵上方金叉的,涨势会非常顺滑DIFF:=EMA(CLOSE,12)-EMA(CLOSE,26);DIF:EMA(CLOSE,12)-EMA(CLOSE,26),LINETHICK2;DEA:EMA(DIF,9),COLORWHITE;MACD:(DIF-DEA)*2,NODRAW;DRAWBAND(......
  • 通达信金牌MACD副图提示顶底源码
    XA:=DATE<=20240115;DIF:(EMA(C,12)XA-EMA(C,26))XA,COLORF0F0F0;DEA:EMA(DIF,9)XA,COLOR00DCDC;MACD:2(DIF-DEA)XA,COLORSTICK;STICKLINE(MACD>REF(MACD,1)ANDMACD>=0,MACD,0,10/3,0),COLORRED;STICKLINE(MACD>REF(MACD,1)ANDMACD<0,MACD,0,10/3,1),......
  • MACD标准背离公式和选股公式
    一、MACD底背离可靠买点1、底背离产生之后的第一个金叉为最佳买点(macd面积背离)2、前提条件:第一个macd涨幅动能要充足,这样成功率高二、MACD底背离失败买点1、MACD标准背驰公式源码如下:DIFF:EMA(CLOSE,12)-EMA(CLOSE,26);DEA:EMA(DIFF,9);MACD:2*(DIFF-DEA),COLORSTICK,LI......
  • 龙哥量化:通达信的macd改进优化方法及选股公式源码
    有很多同学是看macd的数值,遇到股价比较低的,macd数值变成0.00,就看不明白了,优化:第一步,给股价乘100,所有的哦源码:DIF:EMA(CLOSE*100,12)-EMA(CLOSE*100,26);DEA:EMA(DIF,9);MACD:(DIF-DEA)*2,COLORSTICK; 第二步,给macd画参考线,看macd波动幅度N1:=480;DIF:EMA(CLOSE*100,12)-......
  • C语言实现MACD指标
    只有实现了EMA,才能取得MACDEMA,指数移动平均线是一种IIR滤波器,很容易用C语言实现,并且使用最少的资源。与简单的移动平均线不同,它不需要RAM缓冲区来存储先前的样本。它只需要存储一个值(前一个平均值)。 指数移动平均线表示为以下等式:avg[n]=(in*alpha)+avg[n-1]*(1-a......
  • 支持13系统! MacDroid pro Mac连接安卓设备 安卓文件传输工具
    太棒了。。。MacDroid终于支持13系统了!!MacDroid是一款可以让你在Mac电脑上访问和管理Android设备的软件。它可以通过USB连接,让你在Mac上浏览Android设备上的文件,包括照片、音乐、视频、文档等等。同时,它也支持将文件从Mac传输到Android设备上。此外,它还可以让你在Mac上备份和......
  • 行业追踪,2023-07-17,静待减速器macd反转
    自动复盘2023-07-17凡所有相,皆是虚妄。若见诸相非相,即见如来。k线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让市场来告诉你跟踪板块总结:成交额超过100亿排名靠前,macd柱由绿转红成交量要大于均线有必要给每个行......
  • Python 量化投资(一):滑动均值、布林带、MACD、RSI、KDJ、OBV
    滑动均值和标准差为了更好利用向量化来加速,滑动窗口使用np.lib.stride_tricks.sliding_window_view(x,win)提取,它会返回所有x[i]开头并且长度为win的数组的数组。defrolling(x,win):r=np.lib.stride_tricks.sliding_window_view(x,win)pad=np.zeros([len(x)-......
  • 十六、区块量化 MACD策略
    新增cross_macd_order.py#-*-coding:utf-8-*-importtalibimportcross_orderasorderimporttimedefmain():print("任务开始时间:",time.strftime('%Y-%m-%d%H:%M:%S',time.localtime(time.time())))forsymbolinorder.symbol_pool:#设置杠杆倍数......
  • 第二十一篇——MACD与KDJ合二为一指标公式怎么编写?(从零起步编写通达信指标公式系列)
    在编写MACD与KDJ合二为一指标公式之前,先来了解一下技术指标共振。常见的技术指标共振有三种类型:单指标多周期共振、单指标多级别共振、多技术指标共振,今天主要介绍第三种。 多技术指标共振是指多个技术指标显示出相似的趋势或信号,这通常被视为市场趋势或价格变化的信号,并表......