量化交易软件下载:赫兹量化使用 CCanvas 类绘制刻度表盘

1. 坐标和锚点

表盘在图表上的定位有两种类型: 绝对和相对。

在 绝对 定位情况下, 坐标代表自锚点边角沿 X 和 Y 数轴的像素距离。

在 相对 定位情况下, 坐标原点根据指定相对定位类型创建。当选择了垂直类型, 原点位于参考对象之下或之上 (如果分别选择了锚点上边角或下边角)。当选择了垂直类型, 它位于锚点边角方向的左侧或右侧。在此种情况下, 指定的坐标表示距其原点的偏移。正偏移量导致物体远离参考对象。当负偏移量的情况, 则物体侵占参照对象。

参照对象可以表示为另一个表盘对象。至关重要的是, 这两个对象将具有相同的锚点边角。

图例. 2 描绘相对定位的一个示例。

编辑

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

图例.2. 表盘的相对定位

让我们回顾一下每一个表盘的设置:

  • 表盘 "gg01": 相对定位被禁止。水平偏移 — 40, 垂直偏移 — 40。

  • 表盘 "gg02": 相对定位 — 水平, 参考对象 — "gg01"。自坐标原点 (点 A) 的水平偏移— 15, 垂直偏移 — 0。

  • 表盘 "gg03": 相对定位 — 垂直, 参照对象 — "gg01"。自坐标原点 (点 B) 的水平偏移— 0, 垂直偏移 — 15。

  • 表盘 "gg04": 相对定位 — 垂直, 参照对象 — "gg02"。自坐标原点 (点 C) 的水平偏移— 50, 垂直偏移 — 15。

如果图表上有若干指标含有表盘, 则相对定位有利于输入设置。如果您决定改变某一个表盘的大小, 其它表盘的坐标将会自动重新计算。

函数 GaugeCreate() 设置定位类型和坐标。

2. 表盘元素

刻度表盘由两类图形对象组成。其一称为 刻度层, 另一个称为 表针层。两类图形对象都有相同的坐标。表针层位于刻度层之上。再输入参数里设置的表盘名作为这两类对象的前缀。例如, 如果表盘名是 "Gauge01", 则刻度层将被称为 "Gauge01_s", 而表针层将名为 "Gauge01_n"。

图例.3 描绘表盘结构。

编辑切换为居中

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

图例.3. 表盘结构

刻度层 包括:

  • 边框 (1)

  • 刻度标记 (5, 6, 7)

  • 刻度标签 (4)

  • 高亮范围 (2, 12)

  • 图解 (3, 10, 11)

图解是以用途区分:

  • 表盘描述 (3)

  • 测量单位 (11)

  • 当前数值 (10)

  • 刻度标签倍数 (省略)

刻度划分为:

  • 主要 (7)

  • 中等 (5)

  • 次要 (6)

只有主要刻度点有标签。刻度步长设定为一个数字值。中等刻度步长依据指定的主要刻度之间的中等标记数量计算。次要刻度步长依据指定的中等刻度之间的次要标记数量计算。次要和中等刻度可以省略。

表针层 包括:

  • 表针 (8)

  • 表针中心 (9)

2.1. 大小

图例.3 描绘一些表盘元素的大小:

  • d — 表盘大小, 其与表盘外轮廓线的直径相对应

  • b — 边框大小

  • g — 边框与刻度元素之间的空间大小

  • c — 表针中心的大小。

注释。只有表盘直径以像素为单位设置大小 (图例.3 中的 "d")。所有其它元素和字体依照条件单位设置, 且它们的大小以直径的百分比计算。这样便于缩放。改变直径, 则所有其它尺寸将被按比例重新计算。计算系数已列于 宏替换 章节, 且可由用户修改。

2.2. 实体形状

表盘的形状有两种类型: 圆形和扇形。如果 刻度范围 角度小于 180 度, 扇形更加便利。

编辑切换为居中

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

图例.4. 表盘形状

图例.4 描绘一个圆形表盘 (a) 和两个扇形表盘 (b, c)。函数 GaugeSetCaseParameters() 用于设置期望的实体形状。

2.3. 刻度

这是表盘十分重要的元素。数据可读性依据其显示。刻度不应过于复杂, 但在同一时间, 它必须能足够体现信息。选择刻度极值, 以及主要标记的步长, 需要特别注意。函数 GaugeSetScaleParameters() 允许设置刻度范围, 它的旋转和极值 (最小值和最大值)。最小值可以在左侧 (顺时针) 或右侧 (逆时针)。

刻度范围 是两个刻度极值间由半径向量构成的扇形所包含的夹角。它的示范在图例.5.

编辑切换为居中

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

图例.5. 刻度范围

刻度旋转 是自表盘中心的向上垂直线, 与刻度范围的平分点的偏离角度。它的示范在图例.6.

编辑切换为居中

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

图利.6. 刻度旋转角度

结合刻度范围角度和旋转角度可以帮助您以十分灵活方式的设置表盘的外观。图例.4(c) 示范一个 90 度范围和 45 度旋转的表盘。

最大和最小刻度值 是重要参数, 它们应依据显示变化的允许数值范围进行选择。零标记为方便起见可以省略。如果您的变化范围从 400 到 600, 那么刻度零不会绘制任何点。图例.7 描绘最大和最小刻度值的例子。

编辑切换为居中

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

图例.7. 最大和最小刻度值

  • a) 数值从 0 到 500, 顺时针

  • b) 数值从 -200 到 400, 顺时针

  • c) 数值从 -400 到 0, 顺时针

  • d) 数值从 500 到 0, 逆时针

  • e) 数值从 200 到 800, 顺时针

  • f) 数值从 0 到 -800, 逆时针

2.4. 刻度线

刻度标记设置为选择的标记大小和排列方式。

对其可以如下:

  • 刻度的内边缘

  • 刻度的外边缘

  • 中心

图例.8 描绘刻度标记排列的例子:

  • a — 中心

  • b — 内边缘

  • c — 外边缘

函数 GaugeSetMarkParameters() 用于设置。

标记的标签定位参照刻度设置并使用 GaugeSetScaleParameters() 函数调整。

图例.8(a) 描绘刻度内的标签定位例子, 图例.8(b) 和 8(c) — 刻度外。

建议使用一个 倍数, 所有显示数值将会除以一个系数, 因此标签将不会在刻度上占据太多空间。倍数值可以从 0.0001 到 10000。图例.4(c) 描绘应用倍数等于 100 的例子, 它允许在标签里用一位数字替代原来的三位数字。图例.1 描绘我们用倍数等于 0.0001 用来显示 ATR 数值的情形, 它可以在标签里不用小数和零值。函数 GaugeSetScaleParameters() 设置倍数。

编辑切换为居中

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

图例.8. 标记和标签定位

2.5. 图解

图解都是为了显示附加信息, 可以是以下四种类型:

  • 表盘描述

  • 测量单位

  • 当前数值

  • 倍数

所有图解都可隐藏。省缺仅显示表盘描述。

图解定位通过角度和半径设置。角度按度数设置, 其值等于自表盘中心的向上垂直线与想象的表盘中心和图解中心连线的夹角。半径设置按条件单位。如果其值从 0 到 10, 则 0 与表针中心的半径相对应, 而 10 则与刻度的外半径相对应。

图例.9 描绘图解定位的例子。

  • 图解 "Profit" (表盘描述) 有以下坐标: 角度 - 0, 半径 - 3。

  • 图解 "0.00" (当前值) 有以下坐标: 角度 - 225, 半径 - 4。

  • 图解 "USD" (测量单位) 有以下坐标: 角度 - 215, 半径 - 8。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值