株式投資をするうえで、現在最強のトレードツールは マネックス証券の トレードステーション です。(個人評価)
その、トレードステーションを自由自在に操るには、イージーランゲージ[EasyLanguage]の知識が必要です。
イージーランゲージ[EasyLanguage]?
※すぐに実習(解説)記事に進みたい方は、このページ最初の 目次 3.<実習…> をクリックしてください。
イージーランゲージ[EasyLanguage]はプログラム言語
プログラム言語!? 「そんなの出来るはずない」 「聞いただけで鳥肌が立つ」と思う方が大半ですよね。
EasyLanguageとは?
トレードステーション上のほぼ全てのアクションは、EasyLanguageという独自の言語で構成されます。”Easy”と名付けられている通り、初歩的な英文で記述される非常にシンプルなプログラム言語になります。
たとえば、移動平均線がゴールデンクロスした場合に買い注文を出すプログラムは、以下の一文で済むほどシンプルです。
”If FastAvg crosses over SlowAvg then Buy next bar at market ”
出所:https://info.monex.co.jp/tradestation/features/other/ マネックス証券の機能紹介ページ
簡単なんです。だって”Easy”って名前だから。。。。
イージーランゲージ[EasyLanguage]を学ぶには
簡単と言っても、EasyLanguageはプログラム言語です。
しっかり学びたい方にオススメなのが、マネックス証券の公開しているマニュアル
EasyLanguage ホームスタディコース(ガイドブック) です。
https://info.monex.co.jp/tradestation-support/manual.html#01; こちらのページでもらえます。
このブログでは、「EasyLanguage ホームスタディコース」の演習問題を実際に操作しながら解いてゆく、過程を紹介したいと思います。
前回に引き続き EasyLanguageでアラートを出す方法を学習します。
前回の学習を復習しましょう。
アラートとは?
注意を促したり警告を与えたりするために表示されるメッセージの事です。
Easy Languageには 予約語 として 「Alert」 が最初から準備されています。
設定によって 音声や、 ダイアログ、 そしてEメール で通知することができます。
※アラートの選択はプロパティで行います
スポンサーリンク
アラート命令は If…then 文を使用して書きます。
次のように、予約語の Alert を 書くだけです。
例
If Close > Highest(Close, 10)[1] then Alert;
この式の意味は、
もし現在の終値が、その前までの10本の足の終値の最高値を超えていれば、アラートを出す、となります。
・ インジケーター、ショウミー、ペイントバーのプロパティ設定はアラート通知設 定を備えています。ストラテジーのプロパティ設定自体にはアラート通知設定は ありませんが、トレードマネージャの機能を利用してアラート通知を出すことが できます。
・ アラートは最新の足で条件が真になった場合にのみ動作します。 プログラムの中でアラート通知を出す任意の条件が定義されている必要がありま す。
・ プロパティ設定でアラート通知が有効になっている必要があります。
出所:Easy Languageホームスタディコース P58
ここからが新しい内容です。
<練習問題: *17 移動平均&バンド>
学習の目的1: If…then を使用してアラート条件を設定する。
学習の目的2: インプット、変数、関数を複数利用する。
目的2が今回の練習問題で新しく追加された目的です。
詳細: このインジケーターは次の 3つの線を描画します
移動平均線
移動平均線の 1標準偏差上限線
移動平均線の 1標準偏差下限線
また新しい言葉がでてきましたね。
1標準偏差上限線 と 1標準偏差下限線
大丈夫!
ちゃんと関数が用意されています。
説明は下でしっかりします。
アラートは、価格が移動平均の 1標準偏差上限線を上抜け、または移動平均の 1標準偏 差上限線を下抜けた場合に、任意のメッセージを通知します。
実習の完成イメージはこちら
出所:Easy Languageホームスタディコース P65
EasyLanguage開発環境(エディタ)にコードを書き込みます
※EasyLanguage開発環境を起動させる方法は、この連載1のページ中頃をご覧ください。
17 Mov Avg & Bands と言う名前をつけて、新しくインジケーターを作成します。
プログラムコードの中身はこちら===
Inputs: Price(Close), Length(18);
Vars: MAvg(0), StDv(0), HiBand(0), LoBand(0);
MAvg = Average(Price, Length);
StDv = StdDev(Price, Length);
HiBand = MAvg + StDv;
LoBand = MAvg – StDv;
Plot1(MAvg, “平均”);
Plot2(HiBand, “上バンド”);
Plot3(LoBand, “下バンド”);
If Close crosses over HiBand then Alert ( “終値が上バンドを上抜け ” + Description );
If Close crosses under LoBand then Alert ( “終値が下バンドを下抜け ” + Description);
プログラムコードここまで===
さて、上のプログラムコード
分かる人には分かるけど、分からない人にはさっぱり分かりませんね。
分からなくても結構。 まず手を動かしてみましょう。
エディターに打ち込んだら、いつものチェックです。
この記事のプログラムコードを、コピーして貼り付けてもOKですが、できるだけ自分の手で打ち込むようにしましょう。
プログラムコードの意味
Inputs: Price(Close), Length(18);
インプット宣言文で初期値を指定して宣言しています。
インプット名が Price 初期値は Close です。
今までは、初期値は数値でしたが、数値以外の初期値も設定できます。
もうひとつ、
インプット名が Length 初期値 18 です。
Vars: MAvg(0), StDv(0), HiBand(0), LoBand(0);
Vars: で ユーザー定義数値変数 を宣言します。
この一文で下の4つの変数を宣言しています。
初期値はそれぞれ 0 です。
(覚えていますか? 初期値は ユーザー定義数値変数の後ろにカッコを付けて書きます)
MAvg
StDv
HiBand
LoBand
MAvg = Average(Price, Length);
ユーザー定義数値変数 MAvg に関数を使った計算結果を代入します
Average(Price, Length);
平均(終値、18足)
Price と Length は インプットで指定した、初期値の 終値 と 18 を入れています。
StDv = StdDev(Price, Length);
ユーザー定義数値変数 StDv に関数を使った計算結果を代入します
さて、はじめて出てくる関数 StdDev です。
この関数の意味は、Easy Language開発環境のエディターでサクッと調べましょう。
調べるのは簡単です。 調べたい関数(今回はStdDev)にカーソルを合わせ右クリック。 「の定義(D)StdDev」をクリックします。
ヘルプが日本語で表示されます。
StdDev 関数は、値の母集団の標準偏差を計算します。
どうやら StdDev 関数は、標準偏差を求める関数のようです。
ヘルプの詳細は各自確認してください。
ヘルプに記載してある使用例は下です。
例
Value1 に、10 バーの Close の標準偏差を代入します。
Value1 = StdDev(Close, 10);
つまり、今回のプログラムコード StDv = StdDev(Price, Length); は、
ユーザー定義数値変数 StDv に標準偏差を求める関数を使った計算結果を代入します
StdDev(Price, Length);
標準偏差(終値、18足)
Price と Length は インプットで指定した、初期値の 終値 と 18 を入れています。
HiBand = MAvg + StDv;
先ほど数値を代入した MAvg と StDv を合計して
ユーザー定義数値変数 HiBand に 代入します。
LoBand = MAvg – StDv;
先ほど数値を代入した MAvg から StDv を引いて
ユーザー定義数値変数 LoBand に 代入します。
Plot1(MAvg, “平均”);
MAvg をプロットします
Plot2(HiBand, “上バンド”);
HiBand をプロットします
これが 1標準偏差上限線 になります
Plot3(LoBand, “下バンド”);
LoBand をプロットします
これが 1標準偏差下限線 になります
If Close crosses over HiBand then Alert ( “終値が上バンドを上抜け ” + Description );
終値が上バンドを上抜けしたら、アラートを表示します
(Description の説明は後述します)
If Close crosses under LoBand then Alert ( “終値が下バンドを下抜け ” + Description);
終値が下バンドを下抜けしたら、アラートを表示します
(Description の説明は後述します)
アラートの設定
アラートはEasy Languageでプログラムを書いただけでは、表示されません。
設定を行います。
チャート上で右クリックし、「分析テクニックの設定」 「名称 #17 Mov Avg & Band」を選択し 「設定ボタン」を押します。
アラートタブをクリックし、画面からアラートを有効化してください。
アラートが表示されます。
出所:Easy Languageホームスタディコース P65
銘柄名の表示
上のアラートには、銘柄名が表示されています。
これは、 アラートを出すプログラムコードの後半に Description と記載することで、表示させることができます。( + を忘れずに)
If Close crosses under LoBand then Alert ( “終値が下バンドを下抜け ” + Description);
動画で解説
以上です。
お疲れ様でした。
この続きはこちらからどうぞ。
EasyLanguageで If…thenブロック分をつかう。 トレードステーションとイージーランゲージ[EasyLanguage]を学んで、株式投資で差をつける。16
この記事を書いた人
ゆたかドットらいふ編集部
あしおゆたか
投資歴20年の個人投資家
机上の理論ではなく、実体験に基づいた記事作りをモットーにしています。
スポーツクラブに毎週2日~3日通い、サウナ後の暴飲暴食が趣味。
◇主な投資対象
日本株式
株式ETF(上場投資信託)
日経225先物
日経225先物オプション
◇運営者情報はこちら
スポンサーリンク