83 lines
4.2 KiB
Markdown
83 lines
4.2 KiB
Markdown
# TSL 函数参考(Function Reference)
|
||
|
||
本章从天软金融分析 .NET 函数大全整理而来,保留原始函数说明结构。
|
||
|
||
> ⚠️
|
||
> **重要提示**:由于函数数量庞大(22万+行),已按功能模块拆分为多个文件。建议使用编辑器的全局搜索功能查找特定函数。
|
||
|
||
## 快速导航
|
||
|
||
### 核心函数库
|
||
|
||
- **[01 TSL函数](./01_tsl_functions.md)** - 数学、系统、基础、图形等通用函数
|
||
- 详细内容:[tsl/index.md](./tsl/index.md) (10个子文件,34,113行)
|
||
- **[02 金融函数](./02_financial_functions.md)** - 股票、行情、技术分析、财务等金融专用函数
|
||
- 详细内容:[financial/index.md](./financial/index.md) (23个子文件,169,893行)
|
||
- **[03 数据仓库函数](./03_datawarehouse.md)**
|
||
(7,270行) - 数据查询、时间序列、市场板块函数
|
||
|
||
### 专业领域
|
||
|
||
- **[算法交易支撑函数](./04_algo_trading.md)**
|
||
(2,913行) - 算法交易服务器支撑、交易开发类
|
||
- **[服务器交互函数](./05_server_interaction.md)**
|
||
(312行) - 连接、登录、执行、订阅等服务器交互
|
||
- **[文档处理函数](./06_document_processing.md)** (10,790行) -
|
||
Office访问、Excel/Word/PDF处理、图片导出
|
||
- **[金融报表分析](./10_financial_reports.md)**
|
||
(10,382行) - 个股、板块、基金、债券报表分析
|
||
|
||
### 开发工具
|
||
|
||
- **[CGI控制台相关函数](./07_cgi_console.md)** (185行) - CGI输入输出、环境变量
|
||
- **[GUI函数](./08_gui.md)** (1,244行) - 消息对话框、图形界面交互
|
||
- **[TSL编译工具](./09_compiler.md)** (936行) - 编译范围、TSL指令、依赖关系
|
||
- **[Web开发支撑](./11_web_development.md)** (747行) - TSL的Web支持、Web Tools
|
||
|
||
## 使用建议
|
||
|
||
1. **新手入门**:从 [TSL函数 → 基础函数](./tsl/base.md) 开始
|
||
2. **金融分析**:查阅 [金融函数](./financial/index.md)
|
||
3. **搜索函数**:使用编辑器全局搜索 `function/` 目录(推荐使用 `Ctrl+Shift+F` 或
|
||
`Cmd+Shift+F`)
|
||
4. **API查询**:按功能模块浏览对应文件
|
||
|
||
## 拆分说明
|
||
|
||
原 `function.md` 文件有 221,389 行,已拆分为:
|
||
|
||
- **9个独立章节文件**(数据仓库、算法交易、服务器交互等)
|
||
- **TSL函数** → 10个子文件(数学、基础、系统等)
|
||
- **金融函数** → 23个子文件(股票、行情、技术分析等)
|
||
|
||
共计 **42个独立文件**,便于浏览和维护。
|
||
|
||
---
|
||
|
||
<details>
|
||
<summary>📖 函数使用说明(点击展开)</summary>
|
||
|
||
## 类型声明说明
|
||
|
||
注意:
|
||
|
||
1. **类型声明**:TSL的函数定义无需参数类型声明,也无需返回类型声明,在以下函数说明里,我们采用了PASCAL的函数声明模式,只是为了让用户更容易地理解各个函数的具体含义和对参数的要求。
|
||
|
||
2. **VAR**:在函数参数声明中,有的使用了VAR作为前缀,这表示该函数会修改该VAR管辖的定义域内的参数,如果没有VAR前缀,则表示其变量不会被该函数修改。在TSL中,所有的函数变量都是允许被修改的,也不支持VAR前缀。
|
||
|
||
## 表达式类型说明
|
||
|
||
3. **表达式类型**:许多系统函数的参数类型是表达式类型,系统为了方便用户使用,这些参数并不需要使用表达式类型,而只需要使用表达式语句,TSL语言会直接为用户将表达式语句转换为表达式类型,典型函数如:Spec,SpecDate,Ma,hhv,llv等,例如我们要求SZ000001的收盘价,我们使用
|
||
`Spec('SZ000001',Close())` 而不是
|
||
`Spec('SZ000001',@Close())`,如果我们由于应用需要而必需使用表达式类型变量,我们可以配合使用Eval函数,例如exp为表达式类型,其值为@Close(),我们可以
|
||
`Spec('SZ000001',eval(exp))`
|
||
来求值;一般地,在系统函数里,除了isExp,eval等明显必需使用表达式类型作为参数的函数以外,大部分符合以上规则。
|
||
|
||
4. **重名函数**:TSL并不支持用户函数重名,如果存在用户函数与其他类型函数重名,则用户函数优先。在以下文档中,有函数重名现象,这表示该系统函数有多种参数模式。
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
**原始文档**:本文档由 221,389 行的 `function.md` 拆分而来,原始大文件不在当前仓库保留;如需查看,请从历史版本获取。
|