程序化交易策略开发语言:EasyLanguage
一、TradeStation开发环境:TDE
1.进入开发环境
2.字典
- 打开字典
- 字典信息:包含了所有的预留单词和函数
3.输出栏
- 输出栏在验证时会显示语法错误
4.语法着色器
- 用于识别特定单词分类,如预留单词、函数、文本、和其他使用特定颜色设置的类型
5.默认属性设置
- 用于设置已保存或新建的策略显示方式或元素计算的一般属性
- 打开方式:(“文件”->“属性”)或(“右键”->“属性”)
二、EL语法
1.基本语法
1.单词:一般分为5类
- 预留单词(保留字):如Open、Close、Buy
- 函数:由单词指定访问EL研究存储的公式(如:Average、RSI、Lowest)
- 用户定义单词:用户在编写过程中创建的单词,可用于图形命名、输出、参数和变量名
- 非执行单词:为了提高可读性,在执行中会被跳过(如:of、the、at)
- 属性词:用于设置分析技术或策略的执行、计算规则(如:LegacyColorValue)
2.EL语法不区分大小写,但用户编写程序时,区分大小写的可读性较好
3.语句及表达式
- 单词是所有语言的基本组成部分
- 所有的EL语言工具和规则类似于英语口语的句式表达
- 数值表达式:指向或计算出数值(如:Volume*2)
- 逻辑表达式:比较两个数值,得出真/假结论(如:Close = Open)
4.程序的运算顺序
- EL编辑的程序在运行时,从第一行到最后一行顺序运行
- 需要先运行的公式必须放在前面
5.程序从图标的第一根K线计算到最后一根K线
- TS以K线为基本单位,以图标上的Bars为分析基础
- TS从上至下执行EL指令,从左至右逐个Bar处理,直到最大索引数(MaxBarBack)
- MaxBarBack为所有引用历史数据的分析技术在计算之前需要设定的初始值,它限定最大的数据获取量,即在初次计算时引用的最多历史数据量
2.程序结构
- 语句必须包括4个部分:定义部、赋值部、控制部、执行部
- 程序4个部分的功能依次为:定义变量和参数->变量赋值->判断执行指令的条件->符合条件就执行指令
定义部:
- 由计算机程序计算动态赋值,用“Var:”定义
- 参数由人工外部输入,用“Input:”定义
- 数组,用“Array:”定义
3.程序运算符
1.算数运算符
- + - * /
2.关系运算符
- 等于:“=”
- 不等于:“<>”
- < > <= >=
3.逻辑运算符
- and or
- 条件判断同时使用时,必须加括号
4.赋值运算符
- =
5.标点符号与括号
- “;”:单个语句结束
- “,”:分隔项目
- “()”:设置初始值
- “ [ ] ”:用于指向K线历史去数据,或替换图形,或用于从数组中提取数据
- “ “ ” ”:文本或标签
- “:”:用于定义变量、参数
- “ { } ”:多行注释,大括号中间的语句不执行
- “// ”:单行注释
6.运算符的优先顺序
- 括号 > 算术运算符 > 比较运算符、关系运算符 > 逻辑运算符 > 赋值运算符
4.数据信息
- Open:K线开盘价
- Close:K线收盘价
- High:K线最高价
- Low:K线最低价
- Volume:K线交易量
- Ticks:成交件数
- Bids:委买量
- Asks:委卖量
- Date:K线的结束日期
- Time:K线的结束时间
以下在分钟K线中使用
- OpenD:日开盘价
- CloseD:日收盘价
- HighD:日最高价
- LowD:日最低价
- VolumeDay:日交易量