695 lines
16 KiB
Markdown
695 lines
16 KiB
Markdown
# Builtin - 图形对象
|
||
|
||
以下示例使用内存中的静态数组作为图形输入,不调用行情函数,也不需要登录账户。图形对象需在图形运行环境中显示。
|
||
|
||
## `decodeGraph(grap, _type, name, data, prop)`
|
||
|
||
声明:function
|
||
|
||
分解单个图形,将图形类型、名称、数据和属性分别写入输出参数
|
||
|
||
<!-- tags: 图形对象 解析 parse 图形 图表 graph 对象 实例 object -->
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------- | ------------ |
|
||
| `grap` | tgraph | 待分解的图形 |
|
||
| `_type` | integer | 输出图形类型 |
|
||
| `name` | string | 输出图形名称 |
|
||
| `data` | array | 输出图形数据 |
|
||
| `prop` | array | 输出图形属性 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
source_data := array(("value": 1), ("value": 2));
|
||
source_graph := encodeGraph(gtLine(), "Series", source_data, array());
|
||
decodeGraph(source_graph, graph_type, graph_name, graph_data, graph_prop);
|
||
echo graph_type, ",", graph_name, ",", length(graph_data), ",", length(graph_prop);
|
||
// 输出:1,Series,2,0
|
||
```
|
||
|
||
## `decodeGraphGroup(graph_group, graph_array, graph_group_prop)`
|
||
|
||
声明:function
|
||
|
||
分解图形组合,将其中的图形和组合属性分别写入输出参数
|
||
|
||
<!-- tags: 图形对象 解析 parse 图形 图表 graph 对象 实例 object -->
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------ | ----------- | ---------------- |
|
||
| `graph_group` | tgraphgroup | 待分解的图形组合 |
|
||
| `graph_array` | array | 输出 TGraph 数组 |
|
||
| `graph_group_prop` | array | 输出图形组合属性 |
|
||
|
||
返回:integer
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
source_data := array(("value": 1), ("value": 2));
|
||
source_graph := encodeGraph(gtLine(), "Series", source_data, array());
|
||
source_group := graphGroup(source_graph);
|
||
decodeGraphGroup(source_group, graph_array, graph_group_prop);
|
||
echo length(graph_array), ",", length(graph_group_prop);
|
||
// 输出:1,0
|
||
```
|
||
|
||
## `encodeGraph(_type, name, data, prop)`
|
||
|
||
声明:function
|
||
|
||
根据指定的类型、名称、数据和属性数组生成图形并返回
|
||
|
||
<!-- tags: 图形对象 转换 编码 图形 图表 graph 对象 实例 object -->
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------- | ------- | ---- |
|
||
| `_type` | integer | |
|
||
| `name` | string | |
|
||
| `data` | array | |
|
||
| `prop` | array | |
|
||
|
||
返回:tgraph
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
t1 := array(
|
||
("open": 9.3, "close": 9.24, "high": 9.35, "low": 9.23, "time": "2012-12-11", "color": 65280, "fill": -1),
|
||
("open": 9.24, "close": 9.24, "high": 9.33, "low": 9.06, "time": "2012-12-12", "color": 65535, "fill": -1),
|
||
("open": 9.23, "close": 9.32, "high": 9.42, "low": 9.12, "time": "2012-12-13", "color": 255, "fill": 0));
|
||
return encodeGraph(gtKLine(), 'KLine', t1, array());
|
||
```
|
||
|
||
## `encodeGraphGroup(graph_array, graph_group_prop)`
|
||
|
||
声明:function
|
||
|
||
根据 TGraph 数组和组合属性生成图形组合
|
||
|
||
<!-- tags: 图形对象 转换 编码 图形 图表 graph 对象 实例 object -->
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| ------------------ | ----- | ------------ |
|
||
| `graph_array` | array | TGraph 数组 |
|
||
| `graph_group_prop` | array | 图形组合属性 |
|
||
|
||
返回:tgraphgroup
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
source_data := array(("value": 1), ("value": 2));
|
||
source_graph := encodeGraph(gtLine(), "Series", source_data, array());
|
||
source_group := encodeGraphGroup(array(source_graph), array());
|
||
decodeGraphGroup(source_group, graph_array, graph_group_prop);
|
||
echo length(graph_array), ",", length(graph_group_prop);
|
||
// 输出:1,0
|
||
```
|
||
|
||
## `fgDown()`
|
||
|
||
声明:function
|
||
|
||
下
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `fgLeft()`
|
||
|
||
声明:function
|
||
|
||
左
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `fgLeftDown()`
|
||
|
||
声明:function
|
||
|
||
左下
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `fgLeftUp()`
|
||
|
||
声明:function
|
||
|
||
左上
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `fgNone()`
|
||
|
||
声明:function
|
||
|
||
无标识
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `fgRight()`
|
||
|
||
声明:function
|
||
|
||
右
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `fgRightDown()`
|
||
|
||
声明:function
|
||
|
||
右下
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `fgRightUp()`
|
||
|
||
声明:function
|
||
|
||
右上
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `fgUp()`
|
||
|
||
声明:function
|
||
|
||
上
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `flBDiagonal()`
|
||
|
||
声明:function
|
||
|
||
反斜线填充
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `flClear()`
|
||
|
||
声明:function
|
||
|
||
空心体
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `flCross()`
|
||
|
||
声明:function
|
||
|
||
交叉线填充
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `flDiagCross()`
|
||
|
||
声明:function
|
||
|
||
交叉斜线填充
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `flFDiagonal()`
|
||
|
||
声明:function
|
||
|
||
正斜线填充
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `flHorizontal()`
|
||
|
||
声明:function
|
||
|
||
横线填充
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `flSolid()`
|
||
|
||
声明:function
|
||
|
||
实心填充
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `flVertical()`
|
||
|
||
声明:function
|
||
|
||
竖线填充
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `gfAmount()`
|
||
|
||
声明:function
|
||
|
||
成交金额(数据字段),也可用于指定柱线,细柱线的值
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfClose()`
|
||
|
||
声明:function
|
||
|
||
收盘(数据字段),一般用于K线,美国线,宝塔线
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfColor()`
|
||
|
||
声明:function
|
||
|
||
颜色(数据字段或TGraph的属性),可以修饰单个数据点或者整个图形的颜色
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfCoordinate()`
|
||
|
||
声明:function
|
||
|
||
图形的坐标系模式。设置为0为普通坐标,1为对数坐标,2为百分比坐标
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfFill()`
|
||
|
||
声明:function
|
||
|
||
填充状况(数据字段),用于设定柱线、K线、圆圈图等填充情况
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfFlag()`
|
||
|
||
声明:function
|
||
|
||
标示(数据字段),标示内容见图形标示函数
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfHigh()`
|
||
|
||
声明:function
|
||
|
||
最高(数据字段),用于K线,宝塔线,美国线
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfLeftTitleCaption()`
|
||
|
||
声明:function
|
||
|
||
图形辅助标题文字
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfLow()`
|
||
|
||
声明:function
|
||
|
||
最低(数据字段),用于K线,宝塔线,美国线
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfLtp()`
|
||
|
||
声明:function
|
||
|
||
流通盘(TGraphGroup的属性字段),TGraphGroup的属性,用于换手率的计算,暂时未使用,将来扩展用
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfMaxValue()`
|
||
|
||
声明:function
|
||
|
||
设定显示的最大值(TGraphGroup的属性字段),TGraphGroup的属性。一般的,图形会用查找视图内最小最小值用于显示,同时,为了特殊显示,也可以指定其显示的最大最小值,例如成交量的图是用0作为最小值的
|
||
|
||
<!-- tags: 图形对象 查找 搜索 lookup 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfMinValue()`
|
||
|
||
声明:function
|
||
|
||
设定显示的最小值(TGraphGroup的属性字段),TGraphGroup的属性。一般的,图形会用查找视图内最小最小值用于显示,同时,为了特殊显示,也可以指定其显示的最大最小值,例如成交量的图是用0作为最小值的
|
||
|
||
<!-- tags: 图形对象 查找 搜索 lookup 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfOpen()`
|
||
|
||
声明:function
|
||
|
||
开盘(数据字段),用于K线,宝塔线,美国线
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfRateFlag()`
|
||
|
||
声明:function
|
||
|
||
除权标示(数据字段),指示是否为除权日
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfTime()`
|
||
|
||
声明:function
|
||
|
||
时间坐标(数据字段),用于X坐标轴的显示
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfTitleCaption()`
|
||
|
||
声明:function
|
||
|
||
图形的标题文字,TGraphGroup的属性
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfTowerHigh()`
|
||
|
||
声明:function
|
||
|
||
宝塔线中的高值(数据字段),宝塔线也可以不需要使用此三个字段,该三个字段的内容可以被自动根据gfClose,gfOpen,gfHigh,gfLow计算出来
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfTowerLow()`
|
||
|
||
声明:function
|
||
|
||
宝塔线中的低值(数据字段),宝塔线也可以不需要使用此三个字段,该三个字段的内容可以被自动根据gfClose,gfOpen,gfHigh,gfLow计算出来
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfTowerMid()`
|
||
|
||
声明:function
|
||
|
||
宝塔线中的中值(数据字段),宝塔线也可以不需要使用此三个字段,该三个字段的内容可以被自动根据gfClose,gfOpen,gfHigh,gfLow计算出来
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfValue()`
|
||
|
||
声明:function
|
||
|
||
值(数据字段),可指定折线,柱线,细柱线,圆圈图的值
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfVol()`
|
||
|
||
声明:function
|
||
|
||
成交量(数据字段),也可用于指定柱线,细柱线的值
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:string
|
||
|
||
## `gfZero()`
|
||
|
||
声明:function
|
||
|
||
零轴(TGraphgroup的属性字段),TGraphGroup的属性,用于标示中间值,特别用于MACD类的图形
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object MACD -->
|
||
|
||
返回:string
|
||
|
||
## `graph(_type, graph_name, data, prop1, prop1_value, prop2, prop2_value, ..., prop_n, prop_n_value)`
|
||
|
||
声明:function
|
||
|
||
用于生成单个图形。单个图形的含义是一条折线、K线或成交量柱壮图。函数的具体的功能是:用指定的数据Data生成一个类型为Type的图形,并且用后面指定的属性参数PropN和PropNValue为图形指定修饰属性。注意,如果横坐标要显示出数据,需要把横坐标设置列名为'time'
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| -------------- | ---------- | ---- |
|
||
| `_type` | integer | |
|
||
| `graph_name` | string | |
|
||
| `data` | tablearray | |
|
||
| `prop1` | string | |
|
||
| `prop1_value` | any | |
|
||
| `prop2` | string | |
|
||
| `prop2_value` | any | |
|
||
| `...` | | |
|
||
| `prop_n` | string | |
|
||
| `prop_n_value` | any | |
|
||
|
||
返回:tgraph
|
||
|
||
### 示例
|
||
|
||
范例01:K 线与 MA10
|
||
|
||
```tsl
|
||
t1 := array(
|
||
("open": 9.3, "close": 9.24, "high": 9.35, "low": 9.23, "time": "2012-12-11", "color": 65280, "fill": -1),
|
||
("open": 9.24, "close": 9.24, "high": 9.33, "low": 9.06, "time": "2012-12-12", "color": 65535, "fill": -1),
|
||
("open": 9.23, "close": 9.32, "high": 9.42, "low": 9.12, "time": "2012-12-13", "color": 255, "fill": 0),
|
||
("open": 9.34, "close": 9.7, "high": 9.73, "low": 9.29, "time": "2012-12-14", "color": 255, "fill": 0),
|
||
("open": 9.68, "close": 9.57, "high": 9.9, "low": 9.49, "time": "2012-12-17", "color": 65280, "fill": -1),
|
||
("open": 9.51, "close": 9.22, "high": 9.67, "low": 9.16, "time": "2012-12-18", "color": 65280, "fill": -1),
|
||
("open": 9.21, "close": 9.31, "high": 9.36, "low": 9.01, "time": "2012-12-19", "color": 255, "fill": 0),
|
||
("open": 9.25, "close": 9.48, "high": 9.51, "low": 9.18, "time": "2012-12-20", "color": 255, "fill": 0),
|
||
("open": 9.5, "close": 9.43, "high": 9.6, "low": 9.33, "time": "2012-12-21", "color": 65280, "fill": -1),
|
||
("open": 9.45, "close": 9.55, "high": 9.61, "low": 9.43, "time": "2012-12-24", "color": 255, "fill": 0),
|
||
("open": 9.55, "close": 10.12, "high": 10.26, "low": 9.5, "time": "2012-12-25", "color": 255, "fill": 0));
|
||
t2 := array(
|
||
("MA10": 8.946),
|
||
("MA10": 9.036),
|
||
("MA10": 9.125),
|
||
("MA10": 9.22),
|
||
("MA10": 9.297),
|
||
("MA10": 9.324),
|
||
("MA10": 9.341),
|
||
("MA10": 9.362),
|
||
("MA10": 9.385),
|
||
("MA10": 9.406),
|
||
("MA10": 9.494));
|
||
g1 := graph(gtKLine(), 'KLine', t1);
|
||
g2 := graph(gtLine(), 'MA10', t2);
|
||
return graphGroup(g1, g2);
|
||
```
|
||
|
||
范例02:收盘价与均线
|
||
|
||
```tsl
|
||
g_data1 := array(
|
||
("close": 9.24),
|
||
("close": 9.32),
|
||
("close": 9.7),
|
||
("close": 9.57),
|
||
("close": 9.22));
|
||
g_data2 := array(
|
||
("MA5": 9.24),
|
||
("MA5": 9.28),
|
||
("MA5": 9.42),
|
||
("MA5": 9.46),
|
||
("MA5": 9.41));
|
||
g_data3 := array(
|
||
("MA20": 9.1),
|
||
("MA20": 9.15),
|
||
("MA20": 9.2),
|
||
("MA20": 9.25),
|
||
("MA20": 9.3));
|
||
g1 := graph(gtLine(), 'Close', g_data1, gfColor(), clBlue());
|
||
g2 := graph(gtLine(), 'MA5', g_data2, gfColor(), clGreen());
|
||
g3 := graph(gtLine(), 'MA20', g_data3, gfColor(), clRed());
|
||
return graphGroup(g1, g2, g3);
|
||
```
|
||
|
||
## `graphGroup(graph1, graph_n, prop_m, value_m)`
|
||
|
||
声明:function
|
||
|
||
用于生成图形组合,可以指定任意多个单个图形作为参数生成一个图形组合,在其后面还可以指定图形组合的共有属性
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
| 参数 | 类型 | 说明 |
|
||
| --------- | ------ | -------------------------- |
|
||
| `graph1` | tgraph | TGraph 图形1 |
|
||
| `graph_n` | tgraph | TGraph 图形N |
|
||
| `prop_m` | string | 可选。TGraphGroup 属性名称 |
|
||
| `value_m` | any | 可选。TGraphGroup 属性值 |
|
||
|
||
返回:tgraphgroup
|
||
|
||
### 示例
|
||
|
||
```tsl
|
||
vol_data := array(
|
||
("vol": 1200, "color": 255),
|
||
("vol": 980, "color": 65280),
|
||
("vol": 1350, "color": 255),
|
||
("vol": 1100, "color": 65280),
|
||
("vol": 1420, "color": 255));
|
||
mavol := array(
|
||
("MA5": 1200),
|
||
("MA5": 1090),
|
||
("MA5": 1177),
|
||
("MA5": 1158),
|
||
("MA5": 1210));
|
||
vol_graph := graph(gtBar(), 'VOLGraph', vol_data);
|
||
mavol_graph := graph(gtLine(), 'MA5Graph', mavol, gfColor(), clBlue());
|
||
return graphGroup(vol_graph, mavol_graph, gfMinValue(), 0);
|
||
```
|
||
|
||
`GraphGroup` 包含成交量柱图 `VOLGraph` 和五日均量线 `MA5Graph`,共有属性 `gfMinValue()` 将纵轴最小值设为 `0`。`vol_data` 中的 `color` 字段控制各柱颜色;`MA5Graph` 的 `gfColor()` 属性将整条折线设为蓝色。折线数据未显式提供 `gfValue()` 字段时,系统使用第一个数据字段作为折线值。
|
||
|
||
## `gtAmerican()`
|
||
|
||
声明:function
|
||
|
||
美国线类型
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `gtBar()`
|
||
|
||
声明:function
|
||
|
||
柱线类型
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `gtCircle()`
|
||
|
||
声明:function
|
||
|
||
圆圈图类型
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `gtKLine()`
|
||
|
||
声明:function
|
||
|
||
K线类型
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `gtLine()`
|
||
|
||
声明:function
|
||
|
||
折线类型
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `gtSingleBar()`
|
||
|
||
声明:function
|
||
|
||
细柱线类型
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|
||
|
||
## `gtTower()`
|
||
|
||
声明:function
|
||
|
||
宝塔线类型
|
||
|
||
<!-- tags: 图形对象 图形 图表 graph 对象 实例 object -->
|
||
|
||
返回:integer
|