トレードステーション EasyLanguage 基礎の基礎 まとめ

本記事では、トレードステーションで使われるEasyLanguageの基礎を、詳細を省いて1記事にてまとめています。
基本
Buy 100 shares next bar //文は改行可能
at market; //文の終わりにはセミコロンをつける
{ダブルスラッシュの後はコメント扱いになり、無視
このように波括弧を使うと複数行まとめてコメント}
代表的な予約語
Open[x] または O[x] | x本前の始値 |
High[x] または H[x] | x本前の高値 |
Low[x] または L[x] | x本前の安値 |
Close[x] または C[x] | x本前の終値 |
Volume[x] または V[x] | x本前のでき高 |
Ticks[x] | x本前のでき高、Volumeと々 |
Time[x] または T[x] | x本前の時刻、HHMM形式(例えば9:15なら915) |
Date[x] または D[x] | x本前の日付、XYYMMDD形式。Xは1999年以前なら0、2000年以降なら1。 |
MarketPosition[x] | x個前のポジションの方向、ノーポジなら0、買いなら1、売りなら-1。 |
CurrentShares | 現在保有中のポジションの数量 |
スキップ語、スキップワード
式中に書いても無視される言葉です。
- a
- an
- at
- by
- the
- is
- of
- on
- than
変数とパラメータ
変数の定義
下記のいずれでも可。
- Var 変数名(初期値);
- Vars 変数名(初期値);
- Variable 変数名(初期値);
- Variables 変数名(初期値);
型
変数の型は3つあり、自動的に認識される。
- Var : num( 1.23 ); // 数値
- Var : str( “sample" ); // 文字列
- Var : boolean(true); // ブール値
定義済み変数
数値のValueN、ブール値のConditionN (Nは0〜99)は、定義しなくても使用可能
パラメータ
Input : パラメータ名(初期値); または Inputs : パラメータ名(初期値); で定義
配列
Array : 配列名[要素数-1](初期値); または Array : 配列名[要素数-1](初期値) で定義
多次元配列はArray : sample[ 3, 4 ]( 0 ); のように定義
※要素数に注意。Array : sample[10](0); は、0から10までの11の要素を持つ。
if
a = b | aとbが等しければtrue |
a <> b | aとbが等しくなければtrue |
> | aの方が大きければtrue |
< | bの方が大きければtrue |
>= | a≧bならtrue |
<= | a≦bならtrue |
Crosses Above または Crosses Over | aがbを追い越す(ゴールデンクロス)でtrue |
Crosses Below または Crosses Under | aがbを下回る(デッドクロス)でtrue |
if条件はANDやORで結合可能。例えば
if Close > Open AND Close[1] > Open[1] AND Close[2] > Open[2] then Print(“てすと");
処理が複数行になる時はbeginとendをつける。
if 条件式 then begin
条件がtrueの場合の処理
end
else begin
条件がfalseの場合の処理
end;
once構文
1度だけ処理したい文を記述
once begin
…
end;
Switch構文
switch (変数) begin
default: どれにも一致しない時
case 1: 1のとき
case 5 to 10: 5〜10のとき
case 10,11,15: 10、11、15いずれかのとき
end;
for構文
For 変数 = 初期値 to(またはdownto) 上限値 begin
処理
end;
//break;で構文を抜け出すことが可能。//例えば
Vars : x(0), sum(0);
For x = 0 to 5 begin
sum += x;
If sum > 9 then break;
end;
While構文
条件式がtrueである間、繰り返し処理が行われる。
while 条件式 begin
処理
end;//例えば
Vars : count(0), sum(0);
count = 0;
sum = 0;
While count < 5 begin
count += 1;
sum += count;
if sum > 9 then break;
end;
Repeat+Until構文
until 評価式=trueになるまで繰り返し処理が行われる。
While文と異なり、最初の1回は必ず実行される。また、begin〜endで囲む必要はない。
Vars : count(0), sum(0);
count = 0;
sum = 0;
Repeat
count += 1;
sum += count;
if sum > 9 then break;
Until count = 5;