Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/runtime/general.md
T
csh 1f19954dd7 ♻️ refactor(tsl-api-reference): reorganize function reference pages
Move runtime and document pages into their correct scope, remove obsolete pending entries, and regenerate the function index.\nUpdate agent test guidance and API skill routing to match the new reference layout.
2026-07-20 09:08:38 +08:00

18 KiB

运行时 / 通用

call(func_name, p1, pn)

根据名称或者函数指针调用指定的函数,后面带的参数将自动送入该函数。

参数 类型 说明
func_name string TFunction
p1 any 整数,参数1
pn any 整数,参数N。

返回:any

checkGlobalCacheExpired(value)

判断全局缓存引用是否已经过期。

参数 类型 说明
value any getGlobalCache(...) 取出的缓存引用

返回:bool

dbglocalcancel(id, return_value)

注销任务。该功能可以用来终止运行的WEB任务。 其任务ID为dbglocalrunning中返回信息中的id字段以十六进制模式转换为64位整数。

参数 类型 说明
id int 为dbglocalrunning中返回信息中的id字段以十六进制模式转换为64位整数
return_value bool object

返回:bool

divMod(dividend, divisor, remainder)

计算整数除法的整数商和余数。也就是用参数Dividend除以参数Divisor,得到的整数商存到参数Result中,把余数存到参数Remainder中

参数 类型 说明
dividend int 整数,被除数
divisor int 整数,除数
remainder int 整数,余数

返回:float

eastrq(b, c, q)

Eastrq 相关函数。

参数 类型 说明
b array 一维数字数组类型
c array 一维数字数组类型
q array 二维数字数组类型

返回:int

ensureRange(amin, amax)

这个函数可以保证返回某个区间之内的数,参数Amin和参数Amax是这个区间的上限和下限。 如果参数Avalue大于等于参数Amin并且小于等于参数Amax,则返回Avalue 如果参数Avalue大于参数Amax,则返回Amax的值 如果参数Avalue小于参数Amin,则返回Amin的值

参数 类型 说明
amin float 实数
amax float 实数

返回:float

exportJsonStringMbcs(data, n, return_value)

将TSL结构数据转换为json串。和ExportJSONString不同的是,该函数不会对中文进行转码处理,保留中文原码。

参数 类型 说明
data AnyType 天软数据,任意数据类型。
n int 可选参数,要保留的小数位数。为0时保留1位小数,大于16或小于0时保留全部小数位数
return_value string 字符串,json串

返回:string

frameconcat(arrdic, _type)

数据表-拼接

参数 类型 说明
arrdic array Array of number,数组的数组,需要拼接的数组集合
_type Usrdefine Usrdefine,数组拼接方式,默认为0行并=0;列并=1;非完全矩阵列并=2

返回:array

示例

a := ones(3,3);
b := ones(2,3);
frameconcat(array(a,b));

getEigenValue(a, eigen_value)

通过赋值得到EigenValue

参数 类型 说明
a array 二维数字数组类型
eigen_value array 一维数字数组类型

返回:any

H_J_Method_Pgm(call_back)

H_J算法测试

参数 类型 说明
call_back string 字符串类型,计算目标值的回调

返回:array

inRange(amin, amax)

判断Avalue是否在[Amin, Amax]范围内

参数 类型 说明
amin float 实数
amax float 实数

返回:bool

interestRate(nperiods, payment, present_value, future_value, payment_time)

返回要求收益率,使得这项投资从现值PresentValue实现终值FutureValue,在共NPeriods个周期后实现。如果周期定义为一年,那么结果就是要求的年收益率。

参数 类型 说明
nperiods int 整数,表示还款的总期数
payment float 实数,表示投资期内,每期投入值,一般为负
present_value float 实数,表示贷款总额
future_value int 实数,表示投资的未来值
payment_time int PaymentTime决定现金流是在期初或期末发生

返回:float

invoke(obj, member_name, member_value, p1, pn)

调用类的成员方法或对类的成员变量进行赋值操作。支持对重载方法的调用。

参数 类型 说明
obj TSLObject TSLObject,实例对象
member_name string 字符串(小写),成员(方法或属性)的名称
member_value bool object
p1 any 任意值,成员属性时需要赋的值或成员方法时的第一个参数;…
pn any 任意值,成员方法的第n个参数

返回:any

未细分函数

logined()

判定是否已经登录成功。只读属性。

返回:any

milliSecondSpan()

范围生成函数相关函数。

返回:float

mswap(value, dim1, dim2)

交换多维 FMArray 的两个维度。

参数 类型 说明
value array 输入 FMArray
dim1 any 第一个维度下标
dim2 any 第二个维度下标

返回:array

数学函数 / 矩阵运算及分解

nils(length)

生成元素为 nil 的一维结果。

参数 类型 说明
length any 一维长度

返回:array

noTechCacheDo()

和TechCacheDo相反的是,在NoTechCacheDo语句段中调用的所有相关计算,将均取消缓存。

返回:any

ones(length)

生成元素为 1 的一维结果。

参数 类型 说明
length any 一维长度

返回:array

outPutGrowRatio(v1, v2)

增长率(%)

参数 类型 说明
v1 float 实型,期末值
v2 float 实型,期初值

返回:float

示例

//返回13到14的增长率(%)
outPutGrowRatio(14,13);
//结果:7.69

outPutGrowRatio2(v1, v2)

增长率(%)

参数 类型 说明
v1 float 实型,期末值
v2 float 实型,期初值

返回:float

示例

//返回13到14的增长率(%)
outPutGrowRatio2(14,13);
//结果:7.69

outPutGrowValue2(v1, v2)

增长

参数 类型 说明
v1 float 实型,期末值
v2 float 实型,期初值

返回:float

示例

//返回13与14差值
outPutGrowValue2(13,14);
//结果:-1

raiseError(func_name, err_str)

显示调试出错信息

参数 类型 说明
func_name string 字符串类型,出错的函数名称
err_str string 字符串类型,出错提示

返回:Error

reIndexCopy(data, index_info1, index_info1_2, index_info_n)

ReIndexCopy和Reindex的差异:ReIndex修改原有的结果集,而ReIndexCopy不修改原结果集返回一个新结果集。

参数 类型 说明
data array 数组,需重构的数组;
index_info1 array Array
index_info1_2 array Array
index_info_n any Array

返回:array

未细分函数

示例

实现:将指定列下标转为数组的行下标--可用于快速建立哈希表
setsysparam(pn_stock(),"SH000001");
setsysparam(pn_date(),20240822T);
t:=nday(10,'time',datetostr(sp_time()),'close',close());
return reindexcopy(t,t[:,"time"]);

reportSeriesSplit(table_name)

报告期数据处理。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑。

参数 类型 说明
table_name string 字符串,用户数据名称

返回:any

rotatedComponentMatrix(cm, eigen_value, eigen_vector)

该函数已废弃

参数 类型 说明
cm array 二维数字数组,相关系数矩阵
eigen_value array 一维数字数组,特征根
eigen_vector array 二维数字数组,特征向量

返回:array

示例

//设置样本矩阵
zt:=array((0.7592,1.7593,21.9279,48.5626,55.1679),
(0.0490,0.4457,2.2255,82.2658,192.4348),
(-2.2313,-1.3096,-59.8883,3.9922,-80.2419),
(0.1364,0.539,4.3910,55.1438,46.0612),
(0.7233,1.9467,15.6127,111.3018,58.3969));
z_t_s:=Standarize_II(z_t);  //标准化
mt_Transposition(z_t_s,z);  //转置
r:=correlationMatrix(z);  //相关系数矩阵
Eigen_Jacobi(r,eigen_value,eigen_vector); //特征值&特征向量
cm:=componentMatrix(eigen_value,eigen_vector,max_eigen_value); //载荷矩阵
rotatedComponentMatrix(cm);
//结果:

sendRunningData(data, nwdow)

直接函数相关函数。

参数 类型 说明
data any 要发送到运行结果窗口的数据
nwdow string 结果窗口名称;省略时在原窗口输出

返回:any

错误处理

setUid(uid)

设置当前的用户为指定的用户,需要有特殊权限,如果成功则返回真。

参数 类型 说明
uid string 字符串,用户名。

返回:bool

techCacheDo()

TechCacheDo打开技术类缓存 相关函数。

返回:any

user(name)

执行指定用户的函数,只有当你已经得到该用户的授权才可以 例如:如果已经被用户user1授权,且user1拥有函数sample,那么我们可以用user('user1').sample来执行user1的sample函数。

参数 类型 说明
name string 字符串,用户名。

返回:any

Logger_debug(msg)

打印带执行节点的调试信息

参数 类型 说明
msg string 任意数据类型,如果是字符串原样打印,如果非字符串按tostn打印

返回:any

logger_info(msg)

打印带执行节点的提示信息

参数 类型 说明
msg string 任意数据类型,如果是字符串原样打印,如果非字符串按tostn打印

返回:any

logger_warning(msg)

打印带执行节点的调试信息

参数 类型 说明
msg any 任意数据类型,如果是字符串原样打印,如果非字符串按tostn打印

返回:any

logger_info2(p1, p2, p3, pn)

打印带执行节点的提示信息

参数 类型 说明
p1 any 第一个参数的内容
p2 any 第二个参数的内容,可省略
p3 any 第三个参数的内容,可省略
pn any 第N个参数的内容,可省略

返回:any

sp_UserSysParam2()

用户自定义函数教学范例,获得当前系统参数

返回:string

ifThen3(left, right, r1, r2, r3)

比较left与Right大小,若Left大,则返回r1;若相等,返回r2;若Right大,返回r3。

参数 类型 说明
left real 实数
right real 实数
r1 expr 表达式
r2 expr 表达式
r3 expr 表达式

返回:expr

示例

return ifThen3(1, 2, '左大', '相等', '右大');
// 返回:’右大’

safeEval(exp)

表达式求值

参数 类型 说明
exp texpression 表达式类型

返回:any

exportCsvne(data, csv_str, include_index, include_header)

将指定数组Data转换为csv格式字符串并存储在csvStr参数中。仅支持一维及二维数组的转换。和ExportCsv的区别:在处理浮点数据时,ExportCsvne的结果不会输出为1E15等格式。

参数 类型 说明
data array
csv_str string
include_index
include_header bool

返回:bool

示例

范例01:一维数组转换成csv格式字符串(含大数量级数据)

data := array(1, 2, "3", "A", 9, 1E15);
ret := exportCsvne(data, s);
if ret then return s;
else return ret;
// 输出:
// 示例未提供可直接输出的返回表达式。

范例02:二维数组转换成csv格式字符串

data := array((2, 5, 0), (3, 2, 1), (4, 7, 2));
ret := exportCsvne(data, s);
if ret then return s;
else return ret;
// 输出:
// 示例未提供可直接输出的返回表达式。

范例03:转换成csv格式字符串,结果包含数组下标信息

data := array("A": (2, 5, 0), "B": (3, 2, 1), "C": (4, 7, 2));
ret := exportCsvne(data, s, 1);
if ret then return s;
else return ret;
// 输出:
// 示例未提供可直接输出的返回表达式。

范例04:转换成csv格式字符串,结果不包含字段头部信息

data := array((2, 5, 0), (3, 2, 1), (4, 7, 2));
ret := exportCsvne(data, s, 0, 0);
if ret then return s;
else return ret;
// 输出:
// 示例未提供可直接输出的返回表达式。

doubleVariableExecute(arr, sys_name, time_arr, exp)

计算指定系统参数,指定时间序列下的指标表达式的值

参数 类型 说明
arr integer 二维数组,设置的系统参数的值
sys_name integer 字符串,指定的系统参数名
time_arr integer 二维数组,需要计算的指定时间
exp texpression 表达式,指标表达式

返回:array

示例

stocks := array(getBk('上证50'));
timer := marketTradeDayQk(20220101T, 20221211T);
return doubleVariableExecute(stocks, pn_Stock(), timer, @close());
// 返回: (部分结果截图)

multipleExecute(exp)

表达式求值

参数 类型 说明
exp texpression 表达式

返回:array

singleVariableExecute(arr, sys_name, exp)

设置系统变量SysName的值为Arr中的元素,执行表达式exp,将表达式的值放到数组Arr中。

参数 类型 说明
arr array 数组,
sys_name string 字符串,指定系统参数名称
exp texpression 表达式

返回:array

示例

// Arr中存储的是代码,获取2019年3月1日,Arr中所有代码的收盘价
arr := array('SZ000001', 'SZ000002');
return singleVariableExecute(arr, pn_stock(), @close());

safeSetSysParam(systype, value)

设置系统参数。主要是将value的值转化为正确的对应于systype数据类型,再通过setsysparam进行设置setysparam(systype,value),保证系统参数设置成功。

参数 类型 说明
systype string 字符串,系统参数名称
value real 实数或字符串,系统参数值

返回:integer

assert(error)

断言。若Check为假,返回出错信息

参数 类型 说明
error string 字符串类型

返回:string

示例

return assert(0, '无效的语段');
// 输出:
// 示例包含说明文字,未作为可执行片段运行。

sp_SetSysParam1()

设置系统参数教学范例,使用缺省系统参数,返回股票.基本信息

返回:any

sp_SetSysParam2()

设置系统参数教学范例,指定系统参数(当前为SH600718),返回股票.基本信息

返回:any