Files
playbook/docs/tsl/codegen/builtin/graphics/core.md
T
csh b6160676b4 ♻️ refactor(tsl): rebuild codegen taxonomy
Move generated builtin and dotnet function docs into the upgraded taxonomy, remove legacy route pages, and regenerate function_index.tsv from markdown headings.
2026-07-07 16:36:08 +08:00

11 KiB
Raw Blame History

Builtin - 图形 / 图形对象

graphGroup(graph1, graph_n, prop_m, value_m)

用于生成图形组合,可以指定任意多个单个图形作为参数生成一个图形组合,在其后面还可以指定图形组合的共有属性。

参数 类型 说明
graph1 tgraph TGraph 图形1
graph_n tgraph TGraph 图形N
prop_m string string 可选参数,TGraphGroup属性名称
value_m any 可选参数,TGraphGroup属性值

返回:tgraphgroup

示例

vol_data := nDay2(gfVol() , vol() , gfColor() , ifThen ( close()> open() , clRed() , clGreen() ) );
mavol := nDay2('MA5', ma ( vol() , 5 ) );
vol_graph := graph(gtBar(), 'VOLGraph', vol_data);
mavol_graph := graph(gtLine(), 'MA5Graph', mavol, gfColor(), clBlue());
return graphGroup(vol_graph, mavol_graph, gfMinValue(), 0);
// 输出:
// Execute script error at Line:3
// function:__main__:line 3:instruction:usercall: 执行函数 graph 出错。
// function:__main__:line 3:instruction:usercall: function execute error
// 输出:说明:GraphGroup包含了两个TGraph图形,一个是VOLGraph成交量图形,另一个是MAVOLGraph成交量的5日均线的折线图形。这两个图形具有的共有属性是gfMinValue(),就是最小值为0。gfColor在VolData中作为了数据字段,用来指示每一个数据点的颜色。因此柱子会根据开盘和收盘的差异来决定色彩的显示。而在MAVOLGraph又作为了图形的属性,因此MAVOLGraph在显示的时候会呈现出蓝色。gfMinValue在返回的图形组合里作为了图形组合的属性,因此决定了图形会用0来作为最小的值来显示,而不会用区间内的最小成交量作为最小值显示。
// 另外,我们可以注意到,作为gtLine类型的MAVOLGraph并不含有特殊的值来指定折线的点的位置,在没有特定的数据字段的时候,系统会使用第一个存在的数据字段当成默认的gfValue来显示。
gfMinValue():设定最小值。一般的,图形会用查找视图内最小最小值用于显示,同时,为了特殊显示,也可以指定其显示的最大最小值,通常成交量的图是用0作为最小值的。

encodeGraph(_type, name, data, prop)

返回根据指定的类型、名称、数据以及属性数组生成的图形。

参数 类型 说明
_type integer
name string
data array
prop array

返回:tgraph

示例

setSysParam(pn_stock(), 'SZ000002');
setSysParam(pn_date(), intToDate(20140117));
setSysParam(pn_nday(), 250);
t1 := nDay2(gfOpen(), open() ,
gfClose(), close(),
gfHigh(), high(),
gfLow(), low(),
gfTime(), dateTimeToStr(sp_time()),
// KLine颜色
gfColor(), ifThen3(close(), open(),
clRed() , // 涨颜色
clYellow() , // 平颜色
clBlue() // 跌颜色
),
gfFill(), ifThen3(close(), open(), flClear(), flSolid(), flSolid())
);
return encodeGraph(gtKLine(), 'KLine', t1, array());
// 输出:
// Execute script error at Line:17
// function:__main__:line 17:instruction:array: 执行函数 encodeGraph 出错。
// function:__main__:line 17:instruction:array: function execute error

gfColor()

颜色(数据字段或TGraph的属性),可以修饰单个数据点或者整个图形的颜色。

返回:string

gfFill()

填充状况(数据字段),用于设定柱线、K线、圆圈图等填充情况。

返回:string

gfFlag()

标示(数据字段),标示内容见图形标示函数

返回:string

gfZero()

零轴(TGraphgroup的属性字段)TGraphGroup的属性,用于标示中间值,特别用于MACD类的图形

返回:string

gfMaxValue()

设定显示的最大值(TGraphGroup的属性字段)TGraphGroup的属性。一般的,图形会用查找视图内最小最小值用于显示,同时,为了特殊显示,也可以指定其显示的最大最小值,例如成交量的图是用0作为最小值的。

返回:string

gfMinValue()

设定显示的最小值(TGraphGroup的属性字段)TGraphGroup的属性。一般的,图形会用查找视图内最小最小值用于显示,同时,为了特殊显示,也可以指定其显示的最大最小值,例如成交量的图是用0作为最小值的。

返回:string

gfLtp()

流通盘(TGraphGroup的属性字段)TGraphGroup的属性,用于换手率的计算,暂时未使用,将来扩展用。

返回:string

gfTitleCaption()

图形的标题文字,TGraphGroup的属性。

返回:string

gfLeftTitleCaption()

图形辅助标题文字。

返回:string

gfCoordinate()

图形的坐标系模式。设置为0为普通坐标,1为对数坐标,2为百分比坐标。

返回:string

gfValue()

值(数据字段),可指定折线,柱线,细柱线,圆圈图的值

返回:string

gfClose()

收盘(数据字段),一般用于K线,美国线,宝塔线

返回:string

gfOpen()

开盘(数据字段),用于K线,宝塔线,美国线

返回:string

gfHigh()

最高(数据字段),用于K线,宝塔线,美国线

返回:string

gfLow()

最低(数据字段),用于K线,宝塔线,美国线

返回:string

gfTowerLow()

宝塔线中的低值(数据字段),宝塔线也可以不需要使用此三个字段,该三个字段的内容可以被自动根据gfClose,gfOpen,gfHigh,gfLow计算出来

返回:string

gfTowerHigh()

宝塔线中的高值(数据字段),宝塔线也可以不需要使用此三个字段,该三个字段的内容可以被自动根据gfClose,gfOpen,gfHigh,gfLow计算出来

返回:string

gfTowerMid()

宝塔线中的中值(数据字段),宝塔线也可以不需要使用此三个字段,该三个字段的内容可以被自动根据gfClose,gfOpen,gfHigh,gfLow计算出来

返回:string

gfVol()

成交量(数据字段),也可用于指定柱线,细柱线的值

返回:string

gfAmount()

成交金额(数据字段),也可用于指定柱线,细柱线的值

返回:string

gfTime()

时间坐标(数据字段),用于X坐标轴的显示

返回:string

gfRateFlag()

除权标示(数据字段),指示是否为除权日

返回:string

flSolid()

实心填充。

返回:integer

flClear()

空心体。

返回:integer

flHorizontal()

横线填充

返回:integer

flVertical()

竖线填充

返回:integer

flFDiagonal()

正斜线填充

返回:integer

flBDiagonal()

反斜线填充

返回:integer

flCross()

交叉线填充

返回:integer

flDiagCross()

交叉斜线填充

返回:integer

gtLine()

折线类型

返回:integer

gtKLine()

K线类型

返回:integer

gtTower()

宝塔线类型

返回:integer

gtAmerican()

美国线类型

返回:integer

gtBar()

柱线类型

返回:integer

gtSingleBar()

细柱线类型

返回:integer

gtCircle()

圆圈图类型

返回:integer

fgNone()

无标识

返回:integer

fgUp()

返回:integer

fgDown()

返回:integer

fgLeft()

返回:integer

fgRight()

返回:integer

fgLeftUp()

左上

返回:integer

fgLeftDown()

左下

返回:integer

fgRightUp()

右上

返回:integer

fgRightDown()

右下

返回:integer

graph(_type, graph_name, data, prop1, prop1_value, prop2, prop2_value, ..., prop_n, prop_n_value)

用于生成单个图形。单个图形的含义是一条折线、K线或成交量柱壮图。函数的具体的功能是:用指定的数据Data生成一个类型为Type的图形,并且用后面指定的属性参数PropN和PropNValue为图形指定修饰属性。注意,如果横坐标要显示出数据,需要把横坐标设置列名为'time'

参数 类型 说明
_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

示例

范例一:

// K线图
setSysParam(pn_stock(), 'SZ000002');
setSysParam(pn_date(), intToDate(20140117));
setSysParam(pn_nday(), 250);
t1 := nDay2(gfOpen(), open() ,
gfClose(), close(),
gfHigh(), high(),
gfLow(), low(),
gfTime(), dateTimeToStr(sp_time()),
// KLine颜色
gfColor(), ifThen3(close(), open(),
clRed() , // 涨颜色
clYellow() , // 平颜色
clLime() // 跌颜色
),
gfFill(), ifThen3(close(), open(), flClear(), flSolid(), flSolid())
);
t2 := nDay2('MA10', ma(close(), 10));
g1 := graph(gtKLine(), 'KLine', t1);
g2 := graph(gtLine(), 'MA10', t2);
return graphGroup(g1, g2);
// 输出:
// Execute script error at Line:19
// function:__main__:line 19:instruction:usercall: 执行函数 graph 出错。
// function:__main__:line 19:instruction:usercall: function execute error

范例二:

// 折线图
setSysParam(pn_stock(), 'SZ000002');
setSysParam(pn_date(), intToDate(20140117));
setSysParam(pn_nday(), 250);
g_data1 := nDay2(gfClose(), close());
g_data2 := nDay2('MA5', ma(close(), 5));
g_data3 := nDay2('MA20', ma(close(), 20));
g1 := graph( gtLine(), gfClose(), gdata1, gfColor() , clBlue());
g2 := graph( gtLine(), "MA5", gdata2, gfColor() , clGreen());
g3 := graph( gtLine(), "MA20", gdata3, gfColor() , clRed());
return graphGroup(g1, g2, g3);
// 输出:
// Execute script error at Line:8
// function:__main__:line 8:instruction:usercall: 执行函数 graph 出错。
// function:__main__:line 8:instruction:usercall: function execute error

gfBiasEval(l1)

乘离率绘图教学函数。返回指定股票在截止日N(默认180)个序列的L1乘离率图形,与系统参数(股票,周期,时间,复权相关)

参数 类型 说明
l1 any 整数

返回:any

mergeGraph(g1, g2, g3, gn)

将运行结果为图像的多个参数图像叠加,返回叠加后的图形组合。

参数 类型 说明
g1 graph 图形1,一般是由graph函数返回的图形
g2 graph 图形2,一般是由graph函数返回的图形
g3 graph 图形3,一般是由graph函数返回的图形
gn graph 图形n,一般是由graph函数返回的图形

返回:graph

示例

setSysParam(pn_stock(), 'SZ000063');
setSysParam(pn_date(), 20190301T);
setSysParam(pn_nday(), 100);
t1 := nDay2(gfOpen(), open() ,
gfClose(), close(),
gfHigh(), high(),
gfLow(), low(),
gfTime(), dateTimeToStr(sp_time()),
// KLine颜色
gfColor(), ifThen3(close(), open(),
clRed() , // 涨颜色
clYellow() , // 平颜色
clLime() // 跌颜色
),
gfFill(), ifThen3(close(), open(), flClear(), flSolid(), flSolid())
);
t2 := nDay2('MA5', ma(close(), 5)); // 5日均线
t3 := nDay2('MA10', ma(close(), 10)); // 10日均线
t4 := nDay2('MA20', ma(close(), 20)); // 20日均线
g1 := graph(gtKLine(), 'KLine', t1);
g2 := graph(gtLine(), 'MA5', t2);
g3 := graph(gtLine(), 'MA10', t3);
g4 := graph(gtLine(), 'MA20', t4);
return mergeGraph(g1, g2, g3, g4);
// 返回:

getColorByIndex(index)

依据Index值,获得颜色数组内的指定颜色整数代号。

参数 类型 说明
index integer 整数,颜色索引号

返回:integer

示例

return getColorByIndex(1);
// 返回:16711680