Files
playbook/docs/tsl/codegen/builtin/external/com.md
T

12 KiB
Raw Blame History

Builtin - 外部交互 / COM

cverrget(v)

获取NAN数据的错误号,出来的结果仅应使用低32位,也就是需要用 .& 0xFFFFFFFF,因为高字的数据是无法确定的。

参数 类型 说明
v double

返回:int64

cverr(v)

将错误号转为包含错误号的特殊的NAN数据。

参数 类型 说明
v int64

返回:real

示例

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

示例

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

示例

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

示例

// 本地执行以下脚本
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