程序化交易策略开发语言:EasyLanguage

一、TradeStation开发环境:TDE

1.进入开发环境

程序化交易策略开发语言:EasyLanguage

程序化交易策略开发语言:EasyLanguage

2.字典

  •  打开字典

程序化交易策略开发语言:EasyLanguage

  • 字典信息:包含了所有的预留单词和函数

程序化交易策略开发语言:EasyLanguage

3.输出栏

  •  输出栏在验证时会显示语法错误

4.语法着色器

  •  用于识别特定单词分类,如预留单词、函数、文本、和其他使用特定颜色设置的类型

5.默认属性设置

  •  用于设置已保存或新建的策略显示方式或元素计算的一般属性
  • 打开方式:(“文件”->“属性”)或(“右键”->“属性”)

程序化交易策略开发语言:EasyLanguage

二、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:日交易量