单元五 EasyLanguage 重要功能、指令及语法解析
本单元内容主要取材自 EasyLanguage 原版手册。
EasyLanguage 语法介绍
EasyLanguage PowerEditor 可提供程序编辑、颜色管理、语法检查、在线辅助、程序检 察与在线侦错等多功能的整合式程序开发环境;而 Stra小剧场话剧tegyBuilder 用以结合多操作信号,形 成完整交易策略;透过 EasyLanguage 程序「在 TradeStation 线图中扫描资料」,即可完成回
测。
交易信号的基本语法由许多「If (条件判断式) Then (交易行动)」规则所组成,使用
「If-Then」的邏辑判断式处理交易线图上的回测,「条件判断式」可由算术、比较或邏辑运 算式组成,而「交易行动」用以作建立部位,最简单的交易行动如 Buy/Se做梦梦到亲人去世ll。例如,「If Clo
> High[1] Then Buy Next Bar at Market;」(炖胖头鱼或简写为「If C > H[1] Then Buy」可形成「若(If)
今日收盘(C)大于(>)昨日最高价(H[1]),则(Then)买(Buy)在当日收盘」。
本单元将详细介绍 EasyLanguage 的语法,包括以下主题:运算符(算术、邏辑)与复合 表达式、數值变數与自定变數宣告、动态參數输入、内置函數、区块指令、买卖命令种類、
多资料策略、客制函數、环境条件与触发条件之运用、相关辅助系统的使用等。
关于变數(不先讲不知道,除非默认变數…)
培训体会常用变數包括邏辑值(True/Fal)与數值(Numeric)变數。
邏辑值变數可用 ConditionN (N=1..99)储存;數值变數可用 ValueN (N=1..99,默认值为
0))储存。數值变數的使用,如:
Value1 = (High[1] – Low[1])/2; Clo > High[1] – Value1;
邏辑值变數的使用,如:
Condition1 = Clo > High[1] + (High[1] – Low[1]) / 2; Condition2 = Volume > Volume[1] * 1.5;
If Condition1 And Condition2 Then Buy Next Bar at Market; Value1 = (High[1] – Low [1]) / 2;
Variables 则可以同时储存邏辑值与數值,需做变數宣告同时可做起始值设定,如:
Variables: PreBarRange (0); PreBarRange = High[1] – Low[1]
If Clo > High[1] + PreBarRange/2 Then Buy Next Bar at Market; Y=f(x)
算术、比较与邏辑运算符与复合表达式
1. 同时使用算术与比较运算符。
If Clo > High[1] + (High[1] – Low[1])/2 Then Buy Next Bar at Market;
2. 使用复合表达式
1
Condition1 = Clo > High[1] + High[1] – Low[1])/2; If Condition1 Then Buy Next Bar at Market;
其中,Condition 变數可由 Condition1~Condistion99,默认值为 False。
3. 使用邏辑运算符(AND, OR)
Condition1 = Clo > High[1] + High[1] – Low[1])/2; Condition2 = Volumn > Volumn[1] * 1.5;
辞工书怎么写If Condition1 AND Condition2 Then Buy Next Bar at Market;
内置函數使用(在哪裡找?程序代码是什么?)
EasyLanguage 中包含大量内置函數用于建立技术分析指标,例如:「Value1 = Highest(Clo, 5);」可取得最近 5 天收盘最高。又如:
If Average(Clo, 9) Cross Over Average(Clo, 18) Then Buy Next Bar at Market;
函數亦可于执行时才取得參數输入(动态输入),例如:
Inputs: FastLen(9), SlowLen(18);
If Average(Clo, FastLen) Cross Over Average(Clo, SlowLen) Then Buy Next Bar at
Market;
使用 Input 指令可以藉由接口改变參數,并做參數优化。
多前提条件(Conditions)与多执行行动(Actions)的处理(也可藉由多 Signal 组合)
当买卖条件与其指令众多时,可使用区块指令(Begin…End),如:
Variable: CountTheBuy (0);
Condition1 = Clo > High[1] + Range[1]; If Condition1 Then Begin
Buy Next Bar at Market; CountTheBuys = CountTheBuys +1;
End;
又如:
Variable: BarCount (0);
If MarketPosition <> 0 Then Begin BarCounter = BarCounter + 1; If Clo < Clo[1] Then Begin
ExitLong Next Bar at Market; ExitShort Next Bar at Market;
End;
End;
陈奎元儿子
下单(Orders)种類(何时、何价、何量)
Buy 建立多头部位;Sell 建立空头部位;ExitLong 结清多头部位;ExitShort 结清空头部位。
2
买卖可在当日收盘或隔日开盘,分别如:
If Condition1 Then Buy; 与 If Condition1 Then Buy This Bar on Clo;
相同,均为当日。
If Condition1 Then Sell at Market;
则以隔日开盘价交易。
此外,Or Higher,用于 Buy-Stop 与 Sell-Limit,例:
If Condition1 Then Buy at 45 or Higher;
表「>=45」则 Buy Stop。
If Condition1 Then Sell at 68 or Higher;
表「>=68」则 Sell Limit。
Or Lower,用于 Buy-Limit神经损伤修复 与 Sell-Stop,例:
If Condition1 Then Buy at 33 or Lower;
表「>=33」则 Buy Limit。
If Condition1 Then Sell at 42 or Lower;
表「>=42」则 Sell Stop。
买进卖出可指定点數,分为 Point(为最小增减量,Minimum movement,在 EasyLanguage 中股票以钥匙丢了 0.001 之便量为 point)与 Big Points(期货选择权使用之,在在
EasyLanguage 中最小 跳动单位对应的价值衡量),如:
If Condition1 Then Buy Next Bar at High + 1 point or Higher;
If Condition1 Then Buy Next Bar at High + 1 Stop; (不写默认为 Big Point)