feat(skills): add tsl api reference skill

Bundle the TSL API index and markdown references under the skill, route TSL docs to use it, and update the codegen index generator to maintain the bundled data.
This commit is contained in:
csh
2026-07-07 16:36:15 +08:00
parent 4cd6b9410f
commit e1f7ce052c
267 changed files with 185908 additions and 11996 deletions
@@ -0,0 +1,406 @@
# Builtin - 外部交互 / COM
## `cverrget(v)`
获取NAN数据的错误号,出来的结果仅应使用低32位,也就是需要用 .& 0xFFFFFFFF,因为高字的数据是无法确定的。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `v` | double | |
返回:int64
## `cverr(v)`
将错误号转为包含错误号的特殊的NAN数据。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `v` | int64 | |
返回:real
### 示例
```tsl
return cverr(0x800A07E7); // 返回结果NAN
```
## `coInitialize()`
Ole初始化。
返回:any
## `coUnInitialize()`
Ole结束。
返回:any
## `pyPutVar(var_name, var_value)`
送入python变量
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `var_name` | string | |
| `var_value` | any | |
返回:integer
## `pyGetVar(var_name)`
从python 获得变量
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `var_name` | string | |
返回:any
## `pyRun(python_code, flag)`
简单运行Python的代码
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `python_code` | string | 字符串类型,Python代码串,可执行多行代码。注意,使用空格对齐来确定逻辑层级,相同空格数代表同一层级,一般推荐使用4个空格。 |
| `flag` | integer | 整型,可选参数,默认不被指定,该含义由PyCompileFlags指定组合的状态,处理UTF-8源代码等问题。具体请参考Python手册。 |
返回:integer
### 示例
```tsl
s := "a=1
b=1
if a==1:
b=2
";
pyRun(s);
return array("a": pyGetVar("a"), "b": pyGetVar("b"));
// 本地执行返回结果:
```
## `pyCall(call_flag)`
调用python 模块中的函数
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `call_flag` | integer | 结果输出方式与参数输入方式的设置,是一个按位(2位二进制)的状态组合值,即取值为二进制的00,01,10,11组合,具体含义如下: |
返回:any
### 示例
```tsl
rdo2 pyRun("import numpy");
// 不给状态值,默认方式下调用python的randint函数
return rdo2 pyCall('numpy.random', 'randint', 6, 9);
// 参数通过数组方式传入
return pyCall(2, 'numpy.random', 'randint', array('high': 9, 'low': 6));
// 一个个指定参数方式传入
return pyCall('numpy.random', 'randint', high: 9, low: 6);
```
## `pyRelease()`
释放python资源,多线程的时候可以提高效率
返回:bool
## `pyEnsure()`
锁定python资源;由于pyrun和pyPutVar,pyGetVar会智能锁定,所以用户一般来说不需要调用该函数。
返回:bool
## `pyError()`
获取当前运行 Python 语句时的报错信息
返回:string
### 示例
```tsl
// 本地执行以下脚本
pyRun("a=math.pi"); // 此处会报错因为没有 import math
return pyError();
// 返回: name 'math' is not defined
```
## `rEval(eval_string, code)`
执行R的字符串。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `eval_string` | string | 执行的串,例如”a=b+1”。 |
| `code` | integer | 返回是否成功,为0表示成功过,否则为错误码 |
返回:any
## `rGetVar(var_name)`
获得一个R的变量的值。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `var_name` | string | 设置的变量名,例如”a”。 |
返回:any
## `rPutVar(var_name, value)`
设置一个R的变量的值。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `var_name` | string | 设置的变量名,例如”a”。 |
| `value` | any | 设置的变量的值 |
返回:any
## `rEnsure()`
锁定R资源;由于REval和RPutVar,RGetVar会智能锁定,所以用户一般来说不需要调用该函数。
返回:bool
## `rRelease()`
释放R资源,多线程的时候可以提高效率
返回:bool
## `mEval(eval_string)`
执行MatLab的字符串。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `eval_string` | string | 执行的串,例如”a=b+1”。 |
返回:integer
## `mPutVar(var_name, value)`
设置一个MATLAB的变量的值。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `var_name` | string | 设置的变量名,例如”a”。 |
| `value` | any | 设置的变量的值 |
返回:integer
## `mGetVar(var_name)`
获得一个MATLAB的变量的值。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `var_name` | string | 要获得变量名,例如”a”。 |
返回:any
## `mGetBuf()`
返回MATLAB引擎的警告或者错误信息。
返回:string
## `mClose()`
关闭MATLAB引擎。
返回:any
## `mSetVisible(visible)`
设置MATLAB引擎是否可视。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `visible` | bool | 如果为真,则显示,为假则隐藏。 |
返回:integer
## `stock()`
字符串类型,当前证券代码系统参数,读写。
返回:any
## `cycle()`
字符串类型,当前周期系统参数,读写。
返回:any
## `rate()`
整数类型,当前复权类型系统参数,读写。
返回:any
## `rateDay()`
日期类型,复权基准日系统参数,读写。
返回:any
## `precision()`
整数类型,保留小数位数系统参数,读写。
返回:any
## `bk()`
字符串类型,默认板块系统参数,读写。
返回:any
## `stocks()`
股票组参数,如果调用REMOTECALLFUNC需要一次性调用多个股票进行返回,则设置该参数为数组,取消则设置Stock属性。主要用于EXCEL的表格提取数据。
返回:any
## `times()`
时间组参数,如果调用REMOTECALLFUNC需要一次性调用多个时间进行返回,则设置该参数为数组,取消则设置Time属性。主要用于EXCEL的表格提取数据。
返回:any
## `bks()`
板块组参数,如果调用REMOTECALLFUNC需要一次性调用多个板块进行返回,则设置该参数为数组,取消则设置BK属性。主要用于EXCEL的表格提取数据。
返回:any
## `nilTrans()`
设置TSL语言的NIL和COM转换的规则。
返回:any
## `i64Trans()`
设置TSL语言的Int64和COM转换的规则。
返回:any
## `keepRawData()`
由于在EXCEL单元格中以及MATLAB中送入数据的时候,均为二维数据,但TSL很多函数的参数需要一维的参数,因此需要有一个转换的原则。数据转换规则如下:
返回:any
## `standardArray()`
TSL返回的数组是一种array of olevariant结构,允许混合数据类型,可以将字符串,整数浮点混合在一个数组中,这样在某些其他系统中,会存在处理上的难度,为了兼容这些系统,允许指定返回的结果集为一个标准的数组。当使用这个设置的时候,必需保障返回的数据结果集是规范的类型一致的结果集,否则可能会出现错误。可设置的值定义为:
返回:any
## `textResult()`
某些系统无法处理复杂的结果集,在这种情况下,可以使用文本来返回的结果集,文本格式是TSL可解析的数据结构文本串。设置为1则任意类型均以文本串的模式返回。
返回:any
## `resultFileName()`
某些系统无法处理COM返回的复杂的结果集,在这种情况下,可以指定一个文件来返回结果集,调用完成后再由该系统从文件中读取数据。设置该文件名为非空的串则打开该模式,如果文件名以.csv或.xml结尾,会以CSV或XMLXML为TSL语言的标准XML格式)格式写入文件,否则,会写入EXCEL格式结构的文件。
返回:any
## `computebitsoption()`
计算的位数选项。0:自动选择,1:32位服务器计算,2:64位服务器计算。
返回:any
## `computeservice()`
计算的服务群组选择。空字符串为默认,’auto’为自动选择,否则为指定的服务群组名。
返回:any
## `remoteCallFunc(func_name, params)`
利用平台执行一个函数。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `func_name` | widestring | 字符串类型,需要调用的函数名。 |
| `params` | olevariant | Array of Variant的数组类型。用于存贮调用函数的参数。 |
返回:any
## `localCallFunc(func_name, params)`
利用本地解释器执行一个函数。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `func_name` | widestring | 字符串类型,需要调用的函数名。 |
| `params` | olevariant | Array of Variant的数组类型。用于存贮调用函数的参数。 |
返回:any
## `remoteExecute(execute_str)`
利用平台执行一段TSL脚本。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `execute_str` | widestring | 字符串类型,需要执行的脚本串。 |
返回:any
## `localExecute(execute_str)`
利用本地解释器执行一段TSL脚本。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `execute_str` | widestring | 字符串类型,需要执行的脚本串。 |
返回:any
## `resetSysParam()`
重置系统参数。时间设置为当前时间,证券为上证指数,周期为日线,设置为不复权,复权基准日为0,返回保留小数点位数为4,股票列表为空,时间列表为空。
返回:any
## `adminCommand(command, time_out, recv_string, broad_string, err_msg)`
提交管理员命令。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `command` | widestring | 字符串类型,提交的管理员命令串。 |
| `time_out` | integer | 整数类型,命令超时的毫秒数。 |
| `recv_string` | | 返回的命令结果串。 |
| `broad_string` | | 返回的广播消息串。 |
| `err_msg` | | 如果发生错误,返回的错误信息。 |
返回:olevariant
## `simplyAdminCommand(command, time_out, no_data_time_out)`
提交管理员命令。
| 参数 | 类型 | 说明 |
| --- | --- | --- |
| `command` | widestring | 字符串类型,提交的管理员命令串。 |
| `time_out` | integer | 整数类型,命令超时的毫秒数。 |
| `no_data_time_out` | integer | 整数类型,收到第一个数据开始多久没有数据则返回。 |
返回:olevariant