量化交易軟件下載:赫茲量化使用 CCanvas 類繪制刻度表盤
1. 坐標(biāo)和錨點(diǎn)
表盤在圖表上的定位有兩種類型: 絕對和相對。
在 絕對 定位情況下, 坐標(biāo)代表自錨點(diǎn)邊角沿 X 和 Y 數(shù)軸的像素距離。
在 相對 定位情況下, 坐標(biāo)原點(diǎn)根據(jù)指定相對定位類型創(chuàng)建。當(dāng)選擇了垂直類型, 原點(diǎn)位于參考對象之下或之上 (如果分別選擇了錨點(diǎn)上邊角或下邊角)。當(dāng)選擇了垂直類型, 它位于錨點(diǎn)邊角方向的左側(cè)或右側(cè)。在此種情況下, 指定的坐標(biāo)表示距其原點(diǎn)的偏移。正偏移量導(dǎo)致物體遠(yuǎn)離參考對象。當(dāng)負(fù)偏移量的情況, 則物體侵占參照對象。
參照對象可以表示為另一個(gè)表盤對象。至關(guān)重要的是, 這兩個(gè)對象將具有相同的錨點(diǎn)邊角。
圖例. 2 描繪相對定位的一個(gè)示例。
編輯
圖例.2. 表盤的相對定位
讓我們回顧一下每一個(gè)表盤的設(shè)置:
表盤 "gg01": 相對定位被禁止。水平偏移 — 40, 垂直偏移 — 40。
表盤 "gg02": 相對定位 — 水平, 參考對象 — "gg01"。自坐標(biāo)原點(diǎn) (點(diǎn) A) 的水平偏移— 15, 垂直偏移 — 0。
表盤 "gg03": 相對定位 — 垂直, 參照對象 — "gg01"。自坐標(biāo)原點(diǎn) (點(diǎn) B) 的水平偏移— 0, 垂直偏移 — 15。
表盤 "gg04": 相對定位 — 垂直, 參照對象 — "gg02"。自坐標(biāo)原點(diǎn) (點(diǎn) C) 的水平偏移— 50, 垂直偏移 — 15。
如果圖表上有若干指標(biāo)含有表盤, 則相對定位有利于輸入設(shè)置。如果您決定改變某一個(gè)表盤的大小, 其它表盤的坐標(biāo)將會(huì)自動(dòng)重新計(jì)算。
函數(shù) GaugeCreate() 設(shè)置定位類型和坐標(biāo)。
2. 表盤元素
刻度表盤由兩類圖形對象組成。其一稱為 刻度層, 另一個(gè)稱為 表針層。兩類圖形對象都有相同的坐標(biāo)。表針層位于刻度層之上。再輸入?yún)?shù)里設(shè)置的表盤名作為這兩類對象的前綴。例如, 如果表盤名是 "Gauge01", 則刻度層將被稱為 "Gauge01_s", 而表針層將名為 "Gauge01_n"。
圖例.3 描繪表盤結(jié)構(gòu)。
編輯切換為居中
圖例.3. 表盤結(jié)構(gòu)
刻度層 包括:
邊框 (1)
刻度標(biāo)記 (5, 6, 7)
刻度標(biāo)簽 (4)
高亮范圍 (2, 12)
圖解 (3, 10, 11)
圖解是以用途區(qū)分:
表盤描述 (3)
測量單位 (11)
當(dāng)前數(shù)值 (10)
刻度標(biāo)簽倍數(shù) (省略)
刻度劃分為:
主要 (7)
中等 (5)
次要 (6)
只有主要刻度點(diǎn)有標(biāo)簽??潭炔介L設(shè)定為一個(gè)數(shù)字值。中等刻度步長依據(jù)指定的主要刻度之間的中等標(biāo)記數(shù)量計(jì)算。次要刻度步長依據(jù)指定的中等刻度之間的次要標(biāo)記數(shù)量計(jì)算。次要和中等刻度可以省略。
表針層 包括:
表針 (8)
表針中心 (9)
2.1. 大小
圖例.3 描繪一些表盤元素的大小:
d — 表盤大小, 其與表盤外輪廓線的直徑相對應(yīng)
b — 邊框大小
g — 邊框與刻度元素之間的空間大小
c — 表針中心的大小。
注釋。只有表盤直徑以像素為單位設(shè)置大小 (圖例.3 中的 "d")。所有其它元素和字體依照條件單位設(shè)置, 且它們的大小以直徑的百分比計(jì)算。這樣便于縮放。改變直徑, 則所有其它尺寸將被按比例重新計(jì)算。計(jì)算系數(shù)已列于 宏替換 章節(jié), 且可由用戶修改。
2.2. 實(shí)體形狀
表盤的形狀有兩種類型: 圓形和扇形。如果 刻度范圍 角度小于 180 度, 扇形更加便利。
編輯切換為居中
圖例.4. 表盤形狀
圖例.4 描繪一個(gè)圓形表盤 (a) 和兩個(gè)扇形表盤 (b, c)。函數(shù) GaugeSetCaseParameters() 用于設(shè)置期望的實(shí)體形狀。
2.3. 刻度
這是表盤十分重要的元素。數(shù)據(jù)可讀性依據(jù)其顯示??潭炔粦?yīng)過于復(fù)雜, 但在同一時(shí)間, 它必須能足夠體現(xiàn)信息。選擇刻度極值, 以及主要標(biāo)記的步長, 需要特別注意。函數(shù) GaugeSetScaleParameters() 允許設(shè)置刻度范圍, 它的旋轉(zhuǎn)和極值 (最小值和最大值)。最小值可以在左側(cè) (順時(shí)針) 或右側(cè) (逆時(shí)針)。
刻度范圍 是兩個(gè)刻度極值間由半徑向量構(gòu)成的扇形所包含的夾角。它的示范在圖例.5.
編輯切換為居中
圖例.5. 刻度范圍
刻度旋轉(zhuǎn) 是自表盤中心的向上垂直線, 與刻度范圍的平分點(diǎn)的偏離角度。它的示范在圖例.6.
編輯切換為居中
圖利.6. 刻度旋轉(zhuǎn)角度
結(jié)合刻度范圍角度和旋轉(zhuǎn)角度可以幫助您以十分靈活方式的設(shè)置表盤的外觀。圖例.4(c) 示范一個(gè) 90 度范圍和 45 度旋轉(zhuǎn)的表盤。
最大和最小刻度值 是重要參數(shù), 它們應(yīng)依據(jù)顯示變化的允許數(shù)值范圍進(jìn)行選擇。零標(biāo)記為方便起見可以省略。如果您的變化范圍從 400 到 600, 那么刻度零不會(huì)繪制任何點(diǎn)。圖例.7 描繪最大和最小刻度值的例子。
編輯切換為居中
圖例.7. 最大和最小刻度值
a) 數(shù)值從 0 到 500, 順時(shí)針
b) 數(shù)值從 -200 到 400, 順時(shí)針
c) 數(shù)值從 -400 到 0, 順時(shí)針
d) 數(shù)值從 500 到 0, 逆時(shí)針
e) 數(shù)值從 200 到 800, 順時(shí)針
f) 數(shù)值從 0 到 -800, 逆時(shí)針
2.4. 刻度線
刻度標(biāo)記設(shè)置為選擇的標(biāo)記大小和排列方式。
對其可以如下:
刻度的內(nèi)邊緣
刻度的外邊緣
中心
圖例.8 描繪刻度標(biāo)記排列的例子:
a — 中心
b — 內(nèi)邊緣
c — 外邊緣
函數(shù) GaugeSetMarkParameters() 用于設(shè)置。
標(biāo)記的標(biāo)簽定位參照刻度設(shè)置并使用 GaugeSetScaleParameters() 函數(shù)調(diào)整。
圖例.8(a) 描繪刻度內(nèi)的標(biāo)簽定位例子, 圖例.8(b) 和 8(c) — 刻度外。
建議使用一個(gè) 倍數(shù), 所有顯示數(shù)值將會(huì)除以一個(gè)系數(shù), 因此標(biāo)簽將不會(huì)在刻度上占據(jù)太多空間。倍數(shù)值可以從 0.0001 到 10000。圖例.4(c) 描繪應(yīng)用倍數(shù)等于 100 的例子, 它允許在標(biāo)簽里用一位數(shù)字替代原來的三位數(shù)字。圖例.1 描繪我們用倍數(shù)等于 0.0001 用來顯示 ATR 數(shù)值的情形, 它可以在標(biāo)簽里不用小數(shù)和零值。函數(shù) GaugeSetScaleParameters() 設(shè)置倍數(shù)。
編輯切換為居中
圖例.8. 標(biāo)記和標(biāo)簽定位
2.5. 圖解
圖解都是為了顯示附加信息, 可以是以下四種類型:
表盤描述
測量單位
當(dāng)前數(shù)值
倍數(shù)
所有圖解都可隱藏。省缺僅顯示表盤描述。
圖解定位通過角度和半徑設(shè)置。角度按度數(shù)設(shè)置, 其值等于自表盤中心的向上垂直線與想象的表盤中心和圖解中心連線的夾角。半徑設(shè)置按條件單位。如果其值從 0 到 10, 則 0 與表針中心的半徑相對應(yīng), 而 10 則與刻度的外半徑相對應(yīng)。
圖例.9 描繪圖解定位的例子。
圖解 "Profit" (表盤描述) 有以下坐標(biāo): 角度 - 0, 半徑 - 3。
圖解 "0.00" (當(dāng)前值) 有以下坐標(biāo): 角度 - 225, 半徑 - 4。
圖解 "USD" (測量單位) 有以下坐標(biāo): 角度 - 215, 半徑 - 8。