407 lines
12 KiB
Markdown
407 lines
12 KiB
Markdown
# 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或XML(XML为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
|