ある条件を満たしたら売買するのがトレードで、トレーダーはその条件を持っています。EasyLanguageでは条件を表現するときに使うのが真偽式とIf文です。
If~then文と真偽式
If~then文は~のところに真偽(True/False)文を入れてtrue(真)だった場合にthen以下を実行するという構文(シンタックス)です。真偽式に使われる記号や語句を以下に示します。それぞれの条件を満たすとTrueを返します。
> 左が右より大きい
< 右が左より大きい
>= 左が右以上
<= 右が左以上
<> 右と左が一致しない
= 右と左が同じ
A crosses over B 1足手前ではA<Bだが現在の足ではA>B
A crosses under B 1足手前ではA>Bだが現在の足ではA<B
真偽式は自分で変数宣言することも可能です。その際、初期値はFalseが便利です。
Vars: NetChange(0), UpBar(false);
UpBar = Close > Close[1];
条件がTrueになったらアラート(Alert)で知らせてもらうようにする方法
EasyLanguageには関数のように単語に機能を持たせた『予約語』が組み込まれておりたくさん覚えてコード中で使用することで、自由にやりたいことを表現できるようになります。例えばAlertという予約語は条件を満たしたときにメッセージやEメール、ビープ音/音声でアラート通知を出すことができます。アラート方法の選択等はプロパティ設定で行います。プロパティ設定の仕方は設定>分析テクニック>自分で作成したアラート文を選んで設定を押してください。タブにアラートがあるのでそこでさまざまなアラートの設定が可能です。
グローバルメッセージの設定をクリックすると以下のようなウィンドウが出ますのでここで好みに応じて設定します。
もし現在の足の終値が 1 足前における10足の終値の最高値より高ければアラートを通知させるコードはこのようになります。
では現在足の安値が過去20足の高値の移動平均線(上限線)より高くなる、または現在足の高値が過去20足の安値の移動平均線(下限線)より安くなった場合にアラートを出す。というコードを書いてみましょう。
Input: Length(20);
Vars: AveHi(0), AveLo(0);
AveHi = Average(High, Length);
AveLo = Average(Low, Length9;
If Low > AveHi then
Alert;
If High < AveLo then
Alert;
さらにアラートにメッセージを付けてポップアップさせるようにしてみましょう。例えば価格が移動平均の 1 標準偏差上限線を上抜け、または移動平均の 1 標準偏差上限線を下抜けた場合に、アラートで任意のメッセージを通知するコードを書いてみます。移動平均線の期間は18日としてみます。標準偏差の関数はStdDev(価格, 期間)です。
Input: Price(Close), Length(18);
Vars: MAve(0), SD(0), UpLine(0), LoLine(0);
MAve = Average(Price, Length);
SD = StdDev(Price, Length);
UpLine = MAve + SD;
LoLine = MAve – SD;
If Price cross over UpLine then
Alert(“終値が1標準偏差を上抜け”);
If Price cross under LoLine then
Alert(“終値が1標準偏差を下抜け”) ;
参考文献: