# 运行时 / 通用 ### `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 #### 示例 ```tsl a := ones(3,3); b := ones(2,3); frameconcat(array(a,b)); ``` ### `getEigenValue(a, eigen_value)` 通过赋值得到EigenValue | 参数 | 类型 | 说明 | | ------------- | ----- | ---------------- | | `a` | array | 二维数字数组类型 | | `eigen_value` | array | 一维数字数组类型 | 返回:any ### `hJMethodPgm(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 #### 示例 ```tsl //返回13到14的增长率(%) outPutGrowRatio(14,13); //结果:7.69 ``` ### `outPutGrowRatio2(v1, v2)` 增长率(%) | 参数 | 类型 | 说明 | | ---- | ----- | ------------ | | `v1` | float | 实型,期末值 | | `v2` | float | 实型,期初值 | 返回:float #### 示例 ```tsl //返回13到14的增长率(%) outPutGrowRatio2(14,13); //结果:7.69 ``` ### `outPutGrowValue2(v1, v2)` 增长 | 参数 | 类型 | 说明 | | ---- | ----- | ------------ | | `v1` | float | 实型,期末值 | | `v2` | float | 实型,期初值 | 返回:float #### 示例 ```tsl //返回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 ## 未细分函数 #### 示例 ```tsl 实现:将指定列下标转为数组的行下标--可用于快速建立哈希表 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 #### 示例 ```tsl //设置样本矩阵 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