k线系列目录
查看目录请点击这儿
补充知识
K线虽然看上去复杂,但仔细观察就会知道几乎所有的k线无非由以下几种组成:
(1)蜡烛
(2)OHLC
(3)线段
(4)带状
(5)圆形
除此之外还有其他的,都是比较少见的。
蜡烛绘制
补充了一点知识后,我们来进入主题。绘制上述所说的第一种,蜡烛。如果不懂什么是蜡烛,点这里补一下基础知识。
首先来分解蜡烛,其实它是由一个长方形加上两根线段(如果长方形是非空心的话,就是一根)。长方形是由开盘价坐标点、收盘价坐标点计算生成,线段是由最高价坐标点、最低价坐标点连接而成。
所以代码逻辑也就很简单了:
- 绘制一个长方形(实心)
- 然后再绘制一条线段
OK!上代码:
/**
生成蜡烛Layer
@param model 蜡烛坐标模型
@return 返回layer
*/
+ (CAShapeLayer *)getCandleLayerWithPointModel:(YKCandlePointModel *)model
{
//判断是否为涨跌
BOOL isRed = model.oPoint.y >= model.cPoint.y ? YES : NO;
//生成柱子的rect
CGRect candleFrame = CGRectMake(isRed ? model.cPoint.x - 6 : model.oPoint.x-6,isRed ? model.cPoint.y : model.oPoint.y,12,ABS(model.oPoint.y - model.cPoint.y));
UIBezierPath *path = [UIBezierPath bezierPathWithRect:candleFrame];
//绘制上下影线
[path moveToPoint:model.lPoint];
[path addLineToPoint:model.hPoint];
CAShapeLayer *layer = [CAShapeLayer layer];
layer.path = path.CGPath;
//判断涨跌来设置颜色
if (isRed)
{
//涨,设置红色
layer.strokeColor = [UIColor redColor].CGColor;
layer.fillColor = [UIColor redColor].CGColor;
} else
{
//跌,设置绿色
layer.strokeColor = [UIColor greenColor].CGColor;
layer.fillColor = [UIColor greenColor].CGColor;
}
return layer;
}
代码效果如下:
最后把Demo献上,点这里下载。
作者:yunkai666 发表于2017/5/24 23:21:41 原文链接
阅读:153 评论:0 查看评论