本文主要是介绍缠论再研究1-顶底分型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
由于现在不是全职写程序了,看起来不是那么辛苦,终于有点精力重新研究缠论了。
之前做过几个月期货,发现真是太难了,布鲁克斯的书写的好是好,终归还是太过复杂,一时半会吸收不了,加之我们程序员出身,没有办法将之程序化,最终又兜回来研究缠论,应该算是重新写。目的是未来应用到量化交易中。
当前刚刚写到顶分型,底分型,看起来也不是很难,只不过一直想做一个学习缠论可视化的东西,之前做了一个kline-chart的软件,形像是形象,可惜的是每次用不同数据或是不同算法时就需要修改程序,然后前面做的就又丢掉了,这一次做了一个多模块版本的集合类,然后将之前做的kline-chart集成了进来放在common中,然后每个工程引用common中的图形显示,通过各工程的配置实现显示不同图形的目的。
整体目录如下所示:
这样只需很少的代价便可搭建一新工程,保留原先特别的配置和算法调用,对于可视化研究帮助很大。
当前写到底分型和顶分型,
如图所示:
1处应该是一个底分型,目前不知道哪里出了问题,根据逻辑,应该是先找出独立K线,即将能合并的K线合并成一个K线,然后再依据独立K线进行底分型和顶分型的判断。
考虑做一个K线合并的图形化显示,将合并在一个K线中的用半透明阴影框表达出来。
其实半透明的显示很容易,如下代码即可显示半透明的矩形框:
if bar:count = bar[4] - bar[3] + 1for i in range(count):if i == 0:shadow_rect = QtCore.QRectF(ix + i - (BAR_WIDTH + 0.1),bar[1], # Lowest price(BAR_WIDTH + 0.1) * 2,bar[2] - bar[1])else:shadow_rect = QtCore.QRectF(ix + i - (BAR_WIDTH + 0.1 + 0.1 + 0.1),bar[1], # Lowest price(BAR_WIDTH + 0.2) * 2,bar[2] - bar[1])painter.fillRect(shadow_rect, self._shadow_brush)
大致解释一下,循环中如只有1个K线,代码没有合并K线,则在当前K线外框向左0.1的位置画透明阴影,若count超过1个,说明有合并K线,BAR_WIDTH定义为0.3,达到0.5时表示预留空间画满,想要第二个开始的和第一根合并K线看起来在一起,就要把空余的空间填满,else中的代码就是填满的逻辑。
最后贴上K线合并后的视觉效果图:
从图上看1,2是两根K线的合并,3是3根K线的合并,4,5都是独立K线,没有合并,当然,图形化后一眼就看出来1的合并有问题,应该是向下合并,而图形上表达出向上合并了
最后附上github上的地址:GitHub - luhouxiang/algo-multiple-pro-ui: 带界面的量化工程,可以同时运行多个设置的应用,诚邀志同道合之人一起研究。
这篇关于缠论再研究1-顶底分型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!