トレステ勉強会で頂いた「トレードステーション入門」が意外にイケてる! と 以前(リンクは下)ブログで紹介しました。

トレードステーション入門 を 自炊(自分で電子書籍化)しました

 

今回はその「トレードステーション入門」99ページ~106ページの記事に挑戦します。

□EasyLanguage の基本が分かる!! サンプルソース集

自分の手で EasyLanguage(イージーランゲージ)を 打ち込み、 投資戦略(ストラテジー)を作成する記事がありますので、 管理人 あしお が実際にやってみます。

記事を丸写しにはできないので、詳細は セミナーに参加するか、本屋さんで購入するなどして、書籍を手に入れてください。

参考文献:株式投資自動売買で儲ける システムトレード「トレードステーション入門」 (ブルーガイド・グラフィック) ムック 実業之日本社

 

□移動平均線クロスの投資戦略を書いてみる

(トレードステーション P101 サンプルソース1 より)

投資戦略の中で一番有名では?と思われる、株価の移動平均線クロスの戦略です。

〇戦略の概要

・短期の移動平均線が、長期の移動平均線を上に抜いたら 買い

・短期の移動平均線が、長期の移動平均線を下に抜いたら 売り

 

 

 

 

 

 

EasyLanguage(イージーランゲージ)のコードは下になります。

EasyLanguage(イージーランゲージ):以下 EL と 書く事もあります。

<ELコードは ここから>
Input: FastLen(13),SlowLen(30);
Vars: FastAvg(0),SlowAvg(0);

FastAvg = Average(Close,FastLen);
SlowAvg = Average(Close,SlowLen);

If FastAvg Crosses over SlowAvg then Buy next bar at market;
If FastAvg Crosses under SlowAvg then Sellshort next bar at market;

<ELコード ここまで>

始めて見る人は、何がなんだか分かりませんよね。

このコードを見ただけで、「もう無理っ!」て思いませんか

そうですよね~。 でも、もう少しだけ我慢してください。

このブログページの最後まで目を通してもらえれば、

 「今まで知らなかった(出来なかった)素晴らしい自動売買の世界に羽ばたけるかも」

と、思えるはずです。

※下の説明では、初心者(初学者)向けにあえて混乱を避けるために、簡素化して説明をしています。

<ELコード説明>

プログラム言語は、 人間とコンピュータが会話する「言葉」です。

人間と違って、コンピュータは少々頭が固いので、順を追って話さないと、うまく理解してくれません。 (当然ボディランゲージも通用しません・・・・笑うところです(*^^)v )

 

〇 Input: FastLen(13),SlowLen(30);

Input: は「これは後から変更できる変数ですよ」と言っています。

(Input: の後に続く FastLen(13),SlowLen(30) についての 宣言文)

 

FastLen(13) は

FastLen 短い移動平均の足数を入れる名前(名前はプログラムを作る人が勝手に決められます)

(13) カッコ内の数字が 何足分の移動平均にするかを指定しています。

 

つまりFastLen(13) とは 13足の移動平均 の 意味です。

 

SlowLen(30) は

SlowLen 長い移動平均の足数を入れる名前(名前はプログラムを作る人が勝手に決められます)

(30)   カッコ内の数字が 何足分の移動平均にするかを指定しています。

つまりSlowLen(30) とは 30足の移動平均 の 意味です。

 

上のコードでは  短期の移動平均 FastLen(13) と 長期の移動平均 SlowLen(30) を 同じ行に書くために カンマ ”,” で 繋いでいます。

の最後には 「文が終わりだよ」と トレステに教えるための 記号 セミコロン ” ; ” を入れます。

 

 

〇Vars: FastAvg(0),SlowAvg(0);

Vars: は「これは変数ですよ」と言っています。(Inputとの違いは後述)

FastAvg(0) は

FastAvg 短期の移動平均の数値を入れる変数の名前(名前はプログラムを作る人が勝手に決められます)

(0)   カッコ内の数字が 初期値(プログラム内で計算する前に最初に指定しておく数値)。

つまりFastAvg(0) とは FastAvg という 変数 です。 初期値は ゼロ の 意味です。

SlowAvg(0) 長い移動平均の数値を入れる変数の名前(名前はプログラムを作る人が勝手に決められます)

(0)   カッコ内の数字が 初期値(プログラム内で計算する前に最初に指定しておく数値)。

つまりSlowAvg(0) とは SlowAvg という 変数 です。 初期値は ゼロ の 意味です。

 

〇FastAvg = Average(Close,FastLen);

さて、ここからプログラムらしくなって来ました。

FastAvg = Average(Close,FastLen) 

変数 = 計算式   です。

イコール ”=” で 繋いでいますが、 イコールの 右側で計算した結果を 左側の変数に いれます。

イメージとしては こちらのほうが 分かりやすいと思います。

変数 ⇐ 計算式

計算式  Average(Close,FastLen) 

平均を計算しなさい計算する値は足の終値だぞ指定した足の数で) と 言っています。

指定した足の数は プログラム1行目で指定した Input: FastLen(13),SlowLen(30);  なので

平均を計算しなさい計算する値は足の終値だぞ足の数は13本だよ) と 言っています。

FastAvg = Average(Close,FastLen) の 意味は

FastAvg という名前の変数に 計算式 の答えを代入してね といっているのです。

 

〇SlowAvg = Average(Close,SlowLen);

こちらも同様です。

SlowAvg = Average(Close,SlowLen) の 意味は

SlowAvg という名前の変数に 計算式 の答えを代入してね といっているのです。

計算式は 平均を計算しなさい(計算する値は足の終値だぞ、足の数は30本だよ)

 

〇If FastAvg Crosses over SlowAvg then Buy next bar at market;

この文は長いのですが、言葉として分かりやすいと思います。(英単語が分かれば、意味が大体分かりますね)

If FastAvg Crosses over SlowAvg then Buy next bar at market;

もしも 短期の移動平均線が、長期の移動平均線を上に抜いたら 次の足で買い

このページ前半の戦略の概要で書いた文章そのままです。

EasyLanguage(イージーランゲージ)のプログラムコードは、トレードステーションのチャートの足毎に実行(プログラム命令が1行目から最終行まで実行)されます

チャートが 日足 の場合 このプログラムコードで自動売買したら、 翌日の前場の寄り付きで売買されることになります。

 

If FastAvg Crosses under SlowAvg then Sellshort next bar at market;

もしも 短期の移動平均線が、長期の移動平均線を下に抜いたら 次の足で売り

 

どうですか?

・ここまでなら余裕で分かった人

・うーん と ??マークだらけの人 色々だと思います。

??マークの人は、一日休んでからまたこのページを見てください。

きっと初日とは違う印象でプログラムコードが見えるはずです。

 

記事が長くなりましたので、この続きはまた後にしたいと思います。

もう少し先に進まないと、

「今まで知らなかった(出来なかった)素晴らしい自動売買の世界に羽ばたけるかも」

との思いは感じられないかもしれません。

ちょっと待ってくださいね。

それでは失礼します。