# Dotnet - 客户端函数 ## `assert(error)` 声明:function 断言。若Check为假,返回出错信息 | 参数 | 类型 | 说明 | | ------- | ------ | ---------- | | `error` | string | 字符串类型 | 返回:string ### 示例 ```tsl return assert(0, '无效的语段'); // 输出:错误信息(触发断言) ``` ## `checkDataCanBeExtract(data)` 声明:function 检查是否存在可展开的数据 | 参数 | 类型 | 说明 | | ------ | ----- | -------------- | | `data` | array | 数据表类型数据 | 返回:integer ## `delPrecode()` 声明:function 将第一列的8位标准代码转为6位标准代码。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array,tablearray ## `delPrecodeCallBack(s)` 声明:function 去除证券代码前面的"SH"、"SZ"、"OF"、"BK"标识 | 参数 | 类型 | 说明 | | ---- | ------ | ------ | | `s` | string | 字符串 | 返回:string ### 示例 ```tsl return delPrecodeCallBack('SH600000'); // 输出:600000 ``` ## `extractData(data, check, code)` 声明:function 展开表格;系统使用,用于客户端展开表格。扩展填充模式为'扩展部分保留为空'。该函数的功能即结果页面工具栏中的按钮的功能 | 参数 | 类型 | 说明 | | ------- | ----------------- | ------------------------ | | `data` | array,table_array | 数据表数据 | | `check` | boolean | 标识是否检查要展开的数据 | | `code` | boolean | 返回 | 返回:array,table_array ### 示例 ```tsl r := query("", "SH600000;SZ000002", true, "", "代码", defaultStockId(), "名称", currentStockName(), "股票.分红送股", infoArray(18)); return extractData(r, 1, 0); // 输出:展开后的数据表(需相应客户端运行环境) ``` ## `extractDataEx(data, check, code, fill_method)` 声明:function 展开表格,系统使用,用于客户端展开表格 | 参数 | 类型 | 说明 | | ------------- | ------- | ------------------------------ | | `data` | array | 数组,数据表数据 | | `check` | integer | 布尔,标识是否检查要展开的数据 | | `code` | integer | 布尔,是否返回 | | `fill_method` | integer | 整数,扩展填充模式 | 返回:integer ### 示例 ```tsl r := query("", "SH600000;SZ000002", true, "", "代码", defaultStockId(), "名称", currentStockName(), "名称2", currentStockName(), "名称3f", currentStockName(), "股票.分红送股", infoArray(18)); return extractDataEx(r, 1, 0, 1); // 输出:展开后的数据表(需相应客户端运行环境) ``` ## `extractDataEx2(data, check, code, fill_method, if_cartesian)` 声明:function 展开表格 | 参数 | 类型 | 说明 | | -------------- | ------- | ---------------------------------- | | `data` | array | 数组类型,数据 | | `check` | bool | 布尔类型,标识是否检查要展开的数据 | | `code` | bool | 布尔类型,布尔类型, | | `fill_method` | integer | 整数,扩展填充模式 | | `if_cartesian` | bool | 布尔类型,是否做笛卡尔积展开 | 返回:array ### 示例 ```tsl // 数据展开 r := query("", "SH600000;SZ000002", true, "", "代码", defaultStockId(), "名称", currentStockName(), "名称2", currentStockName(), "名称3f", currentStockName(), "股票.分红送股", infoArray(18)); return extractDataEx2(r, 1, 0, 1, 1); ``` ## `extractDataLocalRun(fill_method)` 声明:function 展开表格;用于客户端展开表格,扩展会产生一些空的内容;如果需要把空内容补上,例如需要补上其股票代码、名称等信息,则可以选择扩充字段;扩充了的信息往往在对字段进行排序之后非常有用 | 参数 | 类型 | 说明 | | ------------- | ------- | ------------ | | `fill_method` | integer | 扩展填充模式 | 返回:array ## `extractDataLocalRun2(fill_method, if_cartesian)` 声明:function 展开表格(考虑笛卡尔) | 参数 | 类型 | 说明 | | -------------- | ------- | ---------------------------- | | `fill_method` | integer | 整数,扩展填充模式 | | `if_cartesian` | bool | 布尔类型,是否做笛卡尔积展开 | 返回:array ### 示例 ```tsl // 数据展开 r := query("", "SH600000;SZ000002", true, "", "代码", defaultStockId(), "名称", currentStockName(), "名称2", currentStockName(), "名称3f", currentStockName(), "股票.分红送股", infoArray(18)); setSysParam(pn_data(), r); return extractDataLocalRun2(0, 1); ``` ## `getDefaultFuncNameByStock(stock_id)` 声明:function 默认函数名,对于不同类型的证券代码,返回的默认函数名称不一致 | 参数 | 类型 | 说明 | | ---------- | ------ | -------- | | `stock_id` | string | 证券代码 | 返回:string ## `getTypeOfStock(stock_id)` 声明:function 获取证券品种 | 参数 | 类型 | 说明 | | ---------- | ------ | -------- | | `stock_id` | string | 证券代码 | 返回:integer ### 示例 ```tsl return getTypeOfStock('OF000001'); // 输出:4 ``` ## `gu_extractResultData()` 声明:function 穿透展示数组,用于展示<量化分析>结果专用嵌套数组结构的分析结果,结构为「键名:数组值」的键值对格式,支持一维/二维数组嵌套 注意:该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array ## `gu_simpleDataTransform(mtype, nodatecol)` 声明:function 时序数据简单处理变形,譬如:累加、累乘、单期转多期。基于列名(含截止日、日期、date),跳过日期列 注意:该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ----------- | ----------- | ----------------------------- | | `mtype` | user_define | 用户自定义,处理方式 | | `nodatecol` | boolean | 真假,跳过疑似日期列(基于列名) | mtype 取值 - `累加`:1 - `单期收益累乘(源单位%)`:11 - `单期收益累乘(源单位1)`:12 - `累计收益转单期(源单位%)`:21 - `累计收益转单期(源单位1)`:22 - `反向单期收益累乘(源单位%)`:31 - `反向单期收益累乘(源单位1)`:32 返回:array ## `incPrecode()` 声明:function 6位代码->8位代码;注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array,tablearray ## `incPrecodeCallBack(s)` 声明:function 将"000002.SZ"的代码转化为"SZ000002" | 参数 | 类型 | 说明 | | ---- | ------ | ------ | | `s` | string | 字符串 | 返回:string ### 示例 ```tsl return incPrecodeCallBack('000002.SZ'); // 输出:SZ000002 ``` ## `isTwoDim(t)` 声明:function 判断是否为二维表。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ---- | ----- | -------------- | | `t` | array | 任意类型的数据 | 返回:bool ## `processField(field_name, call_back)` 声明:function 对相应的数据进行处理,注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ------------ | ------ | ---------------- | | `field_name` | string | 字符串,字段名称 | | `call_back` | string | 字符串,函数名称 | 返回:array,tablearray ## `processFirstField(call_back)` 声明:function 对相应数据进行处理。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ----------- | ------ | ---------------- | | `call_back` | string | 字符串,函数名称 | 返回:array,tablearray ## `raiseError(func_name, err_str)` 声明:function 显示调试出错信息 | 参数 | 类型 | 说明 | | ----------- | ------ | -------------------------- | | `func_name` | string | 字符串类型,出错的函数名称 | | `err_str` | string | 字符串类型,出错提示 | 返回:error ## `sendRunningData(data[, nwdow])` 声明:function 向运行结果窗口发送数据,省略 `nwdow` 时发送到当前窗口,指定 `nwdow` 时发送到名称对应的窗口,函数发送结果后,脚本仍可继续执行 | 参数 | 类型 | 说明 | | ------- | ------ | -------------------------- | | `data` | any | 要发送到运行结果窗口的数据 | | `nwdow` | string | 可选,结果窗口名称 | 返回:any ### 示例 ```tsl echo sendRunningData(1), "\n"; ``` ## `simpleStat(data)` 声明:function 简单统计;对数据进行简单统计,得到最小值,最大值,和,平均值,样本标准差,总体标准差,样本偏差,整体偏差,总体偏差 | 参数 | 类型 | 说明 | | ------ | ----- | ------------------------ | | `data` | array | 表格或者一维数字数组数据 | 返回:array ### 示例 ```tsl data := array(1, 2, 3, 4, 5); return simpleStat(data); // 输出:统计结果数组 ``` ## `simpleStatLocal()` 声明:function 简单统计;对数据进行简单统计,得到最小值,最大值,和,平均值,样本标准差,总体标准差,样本偏差,整体偏差,总体偏差,平方和,NORM,偏度,峰度 返回:统计之后的数据值,数据表结构类型的数据 ## `thisFuncOnlyForBond()` 声明:function 返回'本模型只适用于债券!'字符串 返回:string ## `thisFuncOnlyForFund()` 声明:function 返回'本模型只适用于基金!'字符串 返回:string ## `thisFuncOnlyForStock()` 声明:function 返回'本模型只适用于股票!'字符串 返回:string ## `thisFuncUnderConstruction()` 声明:function 返回"本模型正在维护中.....请稍候再使用"出错信息 返回:string ## `thisFunOnlyForIndex()` 声明:function 返回'本模型只适用于指数!'字符串 返回:string ## `threeDimFormat2()` 声明:function 公司为主,指标为辅格式。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:any ## `threeDimFormat3()` 声明:function 指标为主,年份为辅格式。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array,table_array ## `threeDimFormat4()` 声明:function 指标为主,公司为辅格式。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array,table_array ## `threeDimFormat5()` 声明:function 年份为主,公司为辅格式。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:any ## `threeDimFormat6()` 声明:function 年份为主,指标为辅格式。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array,table_array ## `timeSeriesSplit()` 声明:function 时间序列数据处理;将时间序列数据:时间、数据、(股票)处理成为(时间股票数据)的格式。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array ## `transDataStandardize(nil_v)` 声明:function 空(NIL)数据标准化。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ------- | ------- | ------------------------- | | `nil_v` | integer | Nil类型的数据标准化后的值 | 返回:array ## `transForm(data)` 声明:function 数组转置。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ------ | ----- | -------------- | | `data` | array | 数据表类型数据 | 返回:integer ## `transPose(data)` 声明:function 数组转置。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ------ | ----- | ----------------------------------------------------- | | `data` | array | 数据表结构数据,第一列数据必须为字符串并且列数要大于3 | 返回:array ## `transPoseForChart(data)` 声明:function 表格转置。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 | 参数 | 类型 | 说明 | | ------ | ----- | ---------- | | `data` | array | 数据表类型 | 返回:array ## `transPoseForChartSysParam()` 声明:function 表格转置。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array ## `transPoseForChartSysParamEx()` 声明:function 表格转置。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array ## `twoDimFormat2()` 声明:function 指标为主(二维表)。注意,该函数主要用于客户端结果处理,不提供给用户程序编辑 返回:array,tablearray