# 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个独立文件**,便于浏览和维护。 ---
📖 函数使用说明(点击展开) ## 类型声明说明 注意: 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并不支持用户函数重名,如果存在用户函数与其他类型函数重名,则用户函数优先。在以下文档中,有函数重名现象,这表示该系统函数有多种参数模式。
--- **原始文档**:本文档由 221,389 行的 `function.md` 拆分而来,原始大文件不在当前仓库保留;如需查看,请从历史版本获取。