12 KiB
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或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