没有合适的资源?快使用搜索试试~ 我知道了~
首页EasyLanguage 重要功能指令及语法解析
EasyLanguage 重要功能指令及语法解析
需积分: 46 555 浏览量
更新于2023-05-28
评论
收藏 242KB PDF 举报
EasyLanguage 重要功能指令及语法解析,Easy Language是TradeStation证券公司所开发的专属程序化语言,并内建于TradeStation 交易平台[1]上。该语言主 要被用来建立金融图表上的客制化指标,以及建立金融市场的算法交易逻辑。外部的动态链结程序库(DLL) 可以透过Easy Language进行调用,大幅延伸其功能性。
资源详情
资源评论
资源推荐

1
單元五 EasyLanguage 重要功能、指令及語法解析
本單元內容主要取材自 EasyLanguage 原版手冊。
EasyLanguage 語法介紹
EasyLanguage PowerEditor 可提供程式編輯、顏色管理、語法檢查、線上輔助、程式檢
察與線上偵錯等多功能的整合式程式開發環境;而 StrategyBuilder 用以結合多操作信號,形
成完整交易策略;透過 EasyLanguage 程式「在 TradeStation 線圖中掃描資料」,即可完成回
測。
交易信號的基本語法由許多「If (條件判斷式) Then (交易行動)」規則所組成,使用
「If-Then」的邏輯判斷式處理交易線圖上的回測,「條件判斷式」可由算術、比較或邏輯運
算式組成,而「交易行動」用以作建立部位,最簡單的交易行動如 Buy/Sell。例如,「If Close
> High[1] Then Buy Next Bar at Market;」(或簡寫為「If C > H[1] Then Buy」可形成「若(If)
今日收盤(C)大於(>)昨日最高價(H[1]),則(Then)買(Buy)在當日收盤」。
本單元將詳細介紹 EasyLanguage 的語法,包括以下主題:運算子(算術、邏輯)與複合
運算式、數值變數與自定變數宣告、動態參數輸入、內建函數、區塊指令、買賣命令種類、
多資料策略、客製函數、環境條件與觸發條件之運用、相關輔助系統的使用等。
關於變數(不先講不知道,除非預設變數…)
常用變數包括邏輯值(True/False)與數值(Numeric)變數。
邏輯值變數可用 ConditionN (N=1..99)儲存;數值變數可用 ValueN (N=1..99,預設值為
0))儲存。數值變數的使用,如:
Value1 = (High[1] – Low[1])/2;
Close > High[1] – Value1;
邏輯值變數的使用,如:
Condition1 = Close > 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 Close > High[1] + PreBarRange/2 Then Buy Next Bar at Market;
Y=f(x)
算術、比較與邏輯運算子與複合運算式
1. 同時使用算術與比較運算子。
If Close > High[1] + (High[1] – Low[1])/2 Then Buy Next Bar at Market;
2. 使用複合運算式

2
Condition1 = Close > High[1] + High[1] – Low[1])/2;
If Condition1 Then Buy Next Bar at Market;
其中,Condition 變數可由 Condition1~Condistion99,預設值為 False。
3. 使用邏輯運算子(AND, OR)
Condition1 = Close > 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(Close, 5);」可取得最近 5 天收盤最高。又如:
If Average(Close, 9) Crosses Over Average(Close, 18) Then Buy Next Bar at Market;
函數亦可於執行時才取得參數輸入(動態輸入),例如:
Inputs: FastLen(9), SlowLen(18);
If Average(Close, FastLen) Crosses Over Average(Close, SlowLen) Then Buy Next Bar at
Market;
使用 Input 指令可以藉由介面改變參數,並做參數最佳化。
多前提條件(Conditions)與多執行行動(Actions)的處理(也可藉由多 Signal 組合)
當買賣條件與其指令眾多時,可使用區塊指令(Begin…End),如:
Variable: CountTheBuy (0);
Condition1 = Close > 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 Close < Close[1] Then Begin
ExitLong Next Bar at Market;
ExitShort Next Bar at Market;
End;
End;
下單(Orders)種類(何時、何價、何量)
Buy 建立長部位;Sell 建立短部位;ExitLong 結清長部位;ExitShort 結清短部位。

3
買賣可在當日收盤或隔日開盤,分別如:
If Condition1 Then Buy; 與 If Condition1 Then Buy This Bar on Close;
相同,均為當日。
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)
也可指定量(Quantity),如:
If Condition1 Then Sell 100 Shares at 66 or Higher;
If Condition1 Then Buy 12 Contracts Next Bar at Market;
MarketPosition 用以確認市場部位狀況,1,-1,0 分別表示買進、賣出或無部位。可藉由繼
續加碼或連續減碼(pyramiding),分批進出,做資金管理。
前提(Setup)條件與進場(Entry)條件
交易條件之執行可分為環境設定(Set-up)與觸發(Entry),Set-up 用以確認觸發的前提條
件,但並不實際觸發行動;可以 Setup 條件評估市況,再由 Entry 實際下單。通常會以一個
Set-up「AND」連結多個以「OR」連結的 Entry 訊號,如:
If FastAvg Crosses Above SlowAvg AND Close > Open Then Buy Next Bar at Market;
前面為 Setup 條件,後者為 Entry 條件。
進場信號(Entry Signal)與離場信號(Exit Signal)
最基本的交易策略應該包含進場策略以及停利加上停損的策略;部位結清條件可能為:
「出場條件滿足」、「停利」、「停損」或「市場過度震盪」。
建立部位方式可藉由 Buy 與 Sell。Buy 與 Sell 分別建立多頭與空頭策略,無論如何均會
建立部位,而非只是平倉而已,因此不能在同一個 Bar 中又 Sell 又 Buy。
剩余10页未读,继续阅读




安全验证
文档复制为VIP权益,开通VIP直接复制

评论0