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

2016年12月25日

easy?

本記事では、トレードステーションで使われる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 = baとbが等しければtrue
a <> baとbが等しくなければtrue
>aの方が大きければtrue
<bの方が大きければtrue
>=a≧bならtrue
<=a≦bならtrue
Crosses Above または Crosses Overaがbを追い越す(ゴールデンクロス)でtrue
Crosses Below または Crosses Underaが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;

EasyLanguage 基礎の基礎、最初の記事はこちら

EasyLanguage

Posted by auto-ts.net