量化交易软件:用于 Renko 制图的指标

介绍

赫兹量化点数图指标 和 Kagi 制图指标 描述了 点数图 和 "Kagi" 指标制图的原理。让我们来学习一种创建 图表的编程方式。

这个名字 "Renko" 是来自日本的一个词 "红砖",一种砖块。Renko 图表由一系列价格波动确定的砖块构建。当价格上涨, 一块向上的砖块放置在图表中, 当下跌则加一块向下的砖块。"Renko" 在日语中是 "步调缓慢" 的意思。此 Renko 图表大概是在 19 世纪出现在日本的某处。在美国和欧洲首次听到它,是在 1994,由 Steeve Nison 发表在他的书中 Beyond Candlesticks: New Japanese Charting Techniques - 超越蜡烛条: 新日本制图技术揭密。

此 Renko 图表如以上提及的那样,忽略了时间线,并只关注价格走势。不像点数图图表, 此 Renko 在新柱线中放置一块 "砖块" (在新的垂直平面), 其余的, 它们有通用创建方法: "砖块" 尺寸 ("点", "轮廓") 已经固定, 价格分析以及内在轮廓都用同样方式制作。

所以, Renko 图表是一组垂直柱线 ("砖块")。白色 (空心) 砖块用在趋势向上的时候, 而黑色 (实心) 砖块用在趋势下降时。构建由价格行为调整。取周期当前价格,与前一块砖的最高和最低比较 (白色或黑色)。如果股票收盘价高于它的开盘价, 绘制一块空心 (白色) 砖,其呈现出的实体底部是开盘价,实体顶部是收盘价。如果股票收盘价低于它的开盘价, 绘制一块实心 (黑色) 砖,其呈现出的实体顶部是开盘价,实体底部是收盘价。

图表的首块砖,依据价格行为绘制, 其柱线的开盘价取自前一块砖的最大最小值。

一个标准 Renko 图表的例子, 图例. 1:

编辑切换为居中

添加图片注释,不超过 140 字(可选)

图例. 1. 一个标准 Renko 图表的例

1. 制图例子

一个 Renko 图表是在收盘价的基础上绘制。首先, 选择时间帧和箱体尺寸。

在本例中使用 EURUSD (H4 时间帧), 以及一个 30 点的箱体尺寸。此 Renko 制图的结果从 03.01.2014 至 31.01.2014 (一个月左右) 显示在图例. 2 中, 在左边, 是给定时间帧的图表 (此处您可以看到砖块的水平延伸线), 在右边, 是 Renko 图表的结果:

添加图片注释,不超过 140 字(可选)

图例.2. 此为 Renko 绘图结果 EURUSD (H4, 箱体是 30 点)

让我们贴近观察图表原理。在图例. 2 中红色水平线根据价格的变化(30 点)显示每块砖的尺寸, 蓝色则指示感兴趣的实际日期。

如您图中所见,在 03.01.2014 结束时,一个蜡烛条的收盘价低于 1.3591,之前定义的价格范围 (红色水平线) 处于 1.3589 (标记价格), 因此在图表中创建一块向下的砖块。

之后价格横盘 (它并未收盘低于 1.3561 或高于 1.3651), 它开盘直到 20:00 10.01.2014 (蜡烛条创建在 16:00) 并收盘于 (高于 1.3651 标记价格) at 1.3663 (标记价格)。之后价格在 20:00 14.01.2014 (蜡烛条开盘于 16:00) 再次变为横盘, 此时它已经超越价格范围, 创建一块新砖并收盘于 1.3684。

然后您可以看到一个下探,价格四次突破图表的下降范围。在 12:00 23.01.2014 (蜡烛条开盘于 08:00) 此处一个向上突破两个价格范围, 反过来, 两块砖收盘于 1.3639。第一块砖清楚可见, 第二块砖则拉成一条长的垂直线 (由于和第一块砖并行开盘)。进一步构造则继续同样的原则。

2. Renko 绘图原理

当开发此指标时,所有函数均被尽可能的独立实现。其中一个主要的目的是最大限度地提高指标的潜能,更容易地进行市场分析。

计算并非在当前时间帧中进行, 即,时间帧是设置中被选择的, 并且不论指标在哪个时间帧启动, 它都显示设置的数据。它可以通过复制获取周期的数据至分离的缓存区数组来实现,之后进行计算,并填充指标输出缓冲器。

标准 Renko 图表构建于收盘价, 然而, 开盘价, 最高价, 最低价数值也用于改进分析。

由于在 Renko 图表中砖块的大小近似,比较有用的是了解更多动态的强烈价格行为驱动的市场点 (在少数砖块中)。出于这个目的,在砖块中有一个 (禁止的) 指示呈现一个小的垂直影线 (像 日本蜡烛条) , 表示选择时间帧柱线的最后一块砖的级别是升高或降低。

可以在主图之上构建 ZigZag,用来扩展图形分析。

图例. 3 展示指标的完整功能:

添加图片注释,不超过 140 字(可选)

图例 3. 此指标用于 EURUSD 图表 (日线, 步长是 25 点)

 

3. 指标代码和算法

指标代码相当庞大,它由 900 行构造。如前所述,函数的最大化分离,可能对理解算法变得复杂。一些来自以前文章的函数将作为基础。若在某些方面有误解,你可以参考 Kagi 制图建设指标 或者你可以给我发电子邮件。

每个函数的代码都将在文章中解释。所有函数均将顺便描述。

3.1. 指标输入参数

此 Renko 指标是不同颜色向上或向下砖块的范围。这个构造类型需要五个缓存区组合到一个 "彩色蜡烛条" 图形构造。剩下的四个缓冲区收集计算指标所需的数据。

取输入参数 (25), 分成组。

  • step - 砖块尺寸或步长;

  • type_step - 步长类型, 按点数或百分比 (后者的计算依据当前价);

  • magic_numb - 需要魔幻数字来分隔图形对象,并用于从图表中删除它们;

  • levels_number - 级别 (0- 无级别) 用来在指标窗口中分隔砖块;

  • levels_color - 指标窗口中的级别颜色

  • time_frame - 用来设置图表构建周期 (分析周期);

  • time_redraw - 图表更新时间;

  • first_date_start - 开始时间;

  • type_price - 价格构造类型: 收盘价 - 标准方法基于收盘价; 开盘价 - 开盘价格; 最高价 - 最大价格 以及 最低价 - 最小价格;

  • shadow_print - 如果您设置选项 true, 阴影表示致使砖块开盘的最大或最小价格;

  • filter_number - 用于图表反转的砖块值 (一个额外选项负责反转图表所需的砖块数量);

  • zig_zag - 用于在主图表上绘制 ZigZags (在主图表上额外绘制,以便于分析或者图表更新);

  • zig_zag_shadow - 用于根据最大和最小价格绘制 ZigZags (使用最接近的最大和最小价格来构建 zigzags 的端点);

  • zig_zag_width - ZigZag 的线宽;

  • zig_zag_color_up - ZigZag 上行线颜色;

  • zig_zag_color_down - ZigZag 下行线颜色;

  • square_draw - 用来在主图表上画砖块 (在此模式中您可以看到已开砖块的价格走势);

  • square_color_up - 上行砖块颜色;

  • square_color_down - 下行砖块颜色;

  • square_fill - 砖块着色;

  • square_width - 主图表中砖线宽度;

  • frame_draw - 用于绘制砖的边界 (此额外选项很少使用);

  • frame_width - 砖线宽度;

  • frame_color_up - 上行砖块边界颜色;

  • frame_color_down - 下行砖块边界颜色.

然后,代码声明缓冲区:五个主要的缓冲区用于图形绘制,其余四个用于保存设计和计算的数据。Price[] - 保存复制价格的缓存区,用来构建, Date[] - 保存复制数据的缓存区,用来在主图表上绘图, Price_high[] 和 Price_low[] - 保存最大最小数值的缓存区,用来在主图表上绘制 ZigZags。

在计算缓存区数组和辅助函数之后,声明变量: unc_draw_renko, func_draw_zig_zag, func_draw_renko_main_chart。它们将会在稍后解释。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值