playbook/docs/tsl/syntax_book/function/index.md

4.2 KiB
Raw Blame History

TSL 函数参考Function Reference

本章从天软金融分析 .NET 函数大全整理而来,保留原始函数说明结构。

⚠️ 重要提示由于函数数量庞大22万+行),已按功能模块拆分为多个文件。建议使用编辑器的全局搜索功能查找特定函数。

快速导航

核心函数库

专业领域

开发工具

使用建议

  1. 新手入门:从 TSL函数 → 基础函数 开始
  2. 金融分析:查阅 金融函数
  3. 搜索函数:使用编辑器全局搜索 function/ 目录(推荐使用 Ctrl+Shift+FCmd+Shift+F
  4. API查询:按功能模块浏览对应文件

拆分说明

function.md 文件有 221,389 行,已拆分为:

  • 9个独立章节文件(数据仓库、算法交易、服务器交互等)
  • TSL函数 → 10个子文件数学、基础、系统等
  • 金融函数 → 23个子文件股票、行情、技术分析等

共计 42个独立文件,便于浏览和维护。


📖 函数使用说明(点击展开)

类型声明说明

注意:

  1. 类型声明TSL的函数定义无需参数类型声明也无需返回类型声明在以下函数说明里我们采用了PASCAL的函数声明模式只是为了让用户更容易地理解各个函数的具体含义和对参数的要求。

  2. VAR在函数参数声明中有的使用了VAR作为前缀这表示该函数会修改该VAR管辖的定义域内的参数如果没有VAR前缀则表示其变量不会被该函数修改。在TSL中所有的函数变量都是允许被修改的也不支持VAR前缀。

表达式类型说明

  1. 表达式类型许多系统函数的参数类型是表达式类型系统为了方便用户使用这些参数并不需要使用表达式类型而只需要使用表达式语句TSL语言会直接为用户将表达式语句转换为表达式类型典型函数如:Spec,SpecDate,Ma,hhv,llv等例如我们要求SZ000001的收盘价我们使用 Spec('SZ000001',Close()) 而不是 Spec('SZ000001',@Close())如果我们由于应用需要而必需使用表达式类型变量我们可以配合使用Eval函数例如exp为表达式类型其值为@Close(),我们可以 Spec('SZ000001',eval(exp)) 来求值;一般地在系统函数里除了isExpeval等明显必需使用表达式类型作为参数的函数以外大部分符合以上规则。

  2. 重名函数TSL并不支持用户函数重名如果存在用户函数与其他类型函数重名则用户函数优先。在以下文档中有函数重名现象这表示该系统函数有多种参数模式。


原始文档:本文档由 221,389 行的 function.md 拆分而来,原始大文件不在当前仓库保留;如需查看,请从历史版本获取。