@@ -151,7 +151,7 @@ if not spec(isTradeDay(i), 'SH000001') then continue;
|
||||
echo specDate(close(), i);
|
||||
end
|
||||
return 1;
|
||||
// 结果:times为函数运行的次数,seconds为运行时间,op为指令的优化信息,type为函数类型。
|
||||
// 输出:times为函数运行的次数,seconds为运行时间,op为指令的优化信息,type为函数类型。
|
||||
```
|
||||
|
||||
范例02:内置对象的优化信息返回
|
||||
@@ -190,98 +190,6 @@ return randomFrom(a);
|
||||
|
||||
返回:array
|
||||
|
||||
### `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
|
||||
|
||||
### `sp_SetSysParam1()`
|
||||
|
||||
设置系统参数教学范例,使用缺省系统参数,返回股票.基本信息
|
||||
|
||||
返回:any
|
||||
|
||||
### `sp_SetSysParam2()`
|
||||
|
||||
设置系统参数教学范例,指定系统参数(当前为SH600718),返回股票.基本信息
|
||||
|
||||
返回:any
|
||||
|
||||
### `ifThen3(left, right, r1, r2, r3)`
|
||||
|
||||
比较left与Right大小,若Left大,则返回r1;若相等,返回r2;若Right大,返回r3。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ---- | ------ |
|
||||
| `left` | real | 实数 |
|
||||
| `right` | real | 实数 |
|
||||
| `r1` | expr | 表达式 |
|
||||
| `r2` | expr | 表达式 |
|
||||
| `r3` | expr | 表达式 |
|
||||
|
||||
返回:expr
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
return ifThen3(1, 2, '左大', '相等', '右大');
|
||||
// 返回:’右大’
|
||||
```
|
||||
|
||||
### `safeEval(exp)`
|
||||
|
||||
表达式求值
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ----- | ----------- | ---------- |
|
||||
| `exp` | texpression | 表达式类型 |
|
||||
|
||||
返回:any
|
||||
|
||||
### `tsAppServerName()`
|
||||
|
||||
返回平台设置的名字,如果没有设置,默认是ip:进程路径。
|
||||
@@ -292,7 +200,7 @@ return ifThen3(1, 2, '左大', '相等', '右大');
|
||||
|
||||
```tsl
|
||||
return tsAppServerName();
|
||||
// 结果:192.168.101.26:z:\server\bin\exec64.exe
|
||||
// 输出:192.168.101.26:z:\server\bin\exec64.exe
|
||||
```
|
||||
|
||||
### `call(func_name, p1, pn)`
|
||||
@@ -360,65 +268,6 @@ return xml('<?xml version="1.0" encoding="GB2312"?>
|
||||
// 仅windows中支持,Linux中暂不支持。
|
||||
```
|
||||
|
||||
### `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格式字符串(含大数量级数据)
|
||||
|
||||
```tsl
|
||||
data := array(1, 2, "3", "A", 9, 1E15);
|
||||
ret := exportCsvne(data, s);
|
||||
if ret then return s;
|
||||
else return ret;
|
||||
// 输出:
|
||||
// 示例未提供可直接输出的返回表达式。
|
||||
```
|
||||
|
||||
范例02:二维数组转换成csv格式字符串
|
||||
|
||||
```tsl
|
||||
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格式字符串,结果包含数组下标信息
|
||||
|
||||
```tsl
|
||||
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格式字符串,结果不包含字段头部信息
|
||||
|
||||
```tsl
|
||||
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;
|
||||
// 输出:
|
||||
// 示例未提供可直接输出的返回表达式。
|
||||
```
|
||||
|
||||
### `callInArray(func_name, param_content)`
|
||||
|
||||
根据名称或者函数指针调用指定的函数,将参数放入一个数组中送入该函数,不支持变参。另外,天软的函数指针可以用thisfunction()获得。该函数与call函数功能类似,注意两个函数设置参数的区别。Call函数直接列举,CallInArray函数将调用的函数的参数放在Array中。
|
||||
@@ -473,75 +322,12 @@ return b;
|
||||
end;
|
||||
// 调用
|
||||
return callInArray("CCC", array("b": 1, "d": 4));
|
||||
// 返回:1
|
||||
// 输出:1
|
||||
// 打印结果:A: <NIL> B: 1 C: <NIL> D: 40
|
||||
// 解析:callINArray在通过数组传参数时,可以通过指定下标的方式给指定参数进行传参,下标对应函数定义中的变量名。
|
||||
// 上面示例中,只对参数b与d进行了传参,其它两参数没有进行传值,所以是nil。
|
||||
```
|
||||
|
||||
### `doubleVariableExecute(arr, sys_name, time_arr, exp)`
|
||||
|
||||
计算指定系统参数,指定时间序列下的指标表达式的值
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ---------- | ----------- | ---------------------------- |
|
||||
| `arr` | integer | 二维数组,设置的系统参数的值 |
|
||||
| `sys_name` | integer | 字符串,指定的系统参数名 |
|
||||
| `time_arr` | integer | 二维数组,需要计算的指定时间 |
|
||||
| `exp` | texpression | 表达式,指标表达式 |
|
||||
|
||||
返回:array
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
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
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
// 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
|
||||
|
||||
### `tsAppServer()`
|
||||
|
||||
获得当前运行的模型所在的运算服务器的标识。
|
||||
@@ -553,7 +339,7 @@ return singleVariableExecute(arr, pn_stock(), @close());
|
||||
```tsl
|
||||
a := rand(10, 10);
|
||||
return tsAppServer();
|
||||
// 结果:192.168.101.45:3328(Z:\server\bin5)
|
||||
// 输出:192.168.101.45:3328(Z:\server\bin5)
|
||||
```
|
||||
|
||||
### `dupValue(value)`
|
||||
@@ -607,7 +393,7 @@ end;
|
||||
a := 1;
|
||||
b := 2;
|
||||
return ifThen(a>b, a, b);
|
||||
// 返回:2。
|
||||
// 输出:2。
|
||||
```
|
||||
|
||||
### `integer(value)`
|
||||
@@ -727,24 +513,6 @@ return binary('111111'); // 返回值为二进制流。
|
||||
|
||||
## 错误与断言函数
|
||||
|
||||
### `assert(error)`
|
||||
|
||||
断言。若Check为假,返回出错信息
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
| ------- | ------ | ---------- |
|
||||
| `error` | string | 字符串类型 |
|
||||
|
||||
返回:string
|
||||
|
||||
#### 示例
|
||||
|
||||
```tsl
|
||||
return assert(0, '无效的语段');
|
||||
// 输出:
|
||||
// 示例包含说明文字,未作为可执行片段运行。
|
||||
```
|
||||
|
||||
### `getProfilerInfo(clear)`
|
||||
|
||||
获得记录的优化信息。
|
||||
|
||||
Reference in New Issue
Block a user