このページは下の↓記事の続きです。
参考文献:株式投資自動売買で儲ける システムトレード「トレードステーション入門」 (ブルーガイド・グラフィック) ムック 実業之日本社
(トレードステーション P100 サンプルソース2 より)
皆さん、先の記事はご理解いただけましたか? 私のつたない文章力のせいで、簡単な内容がより難しく感じられたらごめんなさい。
私は一度で覚えられないタイプなので、新しい事を学ぶときには、
1歩進んで2歩下がる「365歩のマーチ戦法で」何とか攻略しています。(365歩のマーチ 知りませんか? これまた古い話題ですいません)
分からなくても、進んでみる。 少し戻って復習して、また進んでの繰り返し。 だんだん最初の頃が理解できて・・・・。 頑張りすぎないように頑張りましょう!
実際のトレードをする為には、このページで紹介するような知識は重要です。
□発注株数の指定
(トレードステーション P100 サンプルソース2 より)
サンプルソース1 で作成した 発注のプログラムコードはこれでした。
If FastAvg Crosses over SlowAvg then Buy next bar at market
このプログラムコードに XXX shares を追加するだけです。(xxxは発注株数)
今回は 発注株数を 500株にしてみます。
If FastAvg Crosses over SlowAvg then Buy 500 shares next bar at market;
同様に 短期の移動平均線が、長期の移動平均線を下に抜いたら 売り のコードにも追加します。
If FastAvg Crosses under SlowAvg then Sellshort 500 shares next bar at market;
□発注足種を固定する
トレードステーションの イージーランゲージは チャートを元にプログラムが実行されます。
日足を想定した 投資戦略が 5分足で 実行されてしまっては大変です。
〇日足の戦略を有効 BarType = 2
チャートの足種が日足の場合のみ、戦略を有効にするには。
BarType = 2 を プログラムコードに追加します。
BarType = 2 とは 「チャートの足種が日足」の 意味です。
※BarType の説明は このページの最下段を参照してください
If BarType = 2 then begin
If FastAvg Crosses over SlowAvg then Buy 500 shares next bar at market;
If FastAvg Crosses under SlowAvg then Sellshort 500 shares next bar at market;
end;
おっと! ここで応用問題です。
if の文 のおさらい : もしも ~ だったら ~ しなさい です。
If BarType = 2 then begin
もしも、チャートの足種が日足だったら 次のコードを実行しなさい(さぁはじめ!)⇐ 意地悪な女王様の口調を想像するとイメージがつかみやすい
XXXXXXXXXXXXXX(実行されるプログラムコード)
XXXXXXXXXXXXXX(実行されるプログラムコード)
end; ここで終わりよ! ⇐ 同じく女王様の口調で
今回は if 文に bigin が新しく追加されました。 bigin から 始まって End までを実行 します。 例では bigin から end の間に挟まれる 文は 2行ですが、 3行でも、4行でも end; ここで終わりよ! と 指示されるまで トレードステーションは従順に従いプログラムを実行しつづけます。
〇ここまでに書いたプログラムコードはこちら
<ELコードは ここから>
Input: FastLen(13),SlowLen(30);
Vars: FastAvg(0),SlowAvg(0);
FastAvg = Average(Close,FastLen);
SlowAvg = Average(Close,SlowLen);
If BarType = 2 then begin
If FastAvg Crosses over SlowAvg then Buy 500 shares next bar at market;
If FastAvg Crosses under SlowAvg then Sellshort 500 shares next bar at market;
end;
<ELコード ここまで>
□戦略の有効性確認
せっかくなので、この戦略を 試してみます。(もちろんバックテストですよ)
日経225連動型上場投資信託 1321-TS で バックテストをした結果が下のチャートです。
おやおや、成績は良くありませんね。 もっとも、書籍のトレードステーション入門の P101にも、「パフォーマンスは期待できません」「あくまで(中略)ストラテジーを自分で書いてみるという趣旨」としっかり書いてあります。
でも、もうちょっと粘ってみたくなります。
チャートのデータ範囲を、 2年から 10年に延長 します。
チャート上で 「右クリック」- 「銘柄コードの設定」- 設定タブ から
データの範囲を 10年に変更します。
〇投資戦略の最適化
今回の投資戦略はこれです
・短期の移動平均線が、長期の移動平均線を上に抜いたら 買い
・短期の移動平均線が、長期の移動平均線を下に抜いたら 売り
移動平均線の 長期、短期 足数は
Input: FastLen(13),SlowLen(30); で指定しました。
覚えていますか? Input は
Input: は「これは後から変更できる変数ですよ」と言っています。
プログラムを書き直さなくても、後から移動平均の足数を変更できるのです。
チャート上で 「右クリック」- 「ストラテジーの設定」- 「ストラテジータブ」
適応させるストラテジーを選んで、設定ボタンをクリック。
入力タブをクリックすると、下の画面が表示され、ここで数値を入力すると、移動平均の足数が指定できます。
ここで、ひとつづつ手入力して結果を確認しても良いのですが、地道な作業はトレードステーションに任せましょう。
左下に 最適化 のボタンがありますね。 「最適化」なにか夢のある響きです。
自動で最適な数値を算出してくれるのですが、数値を動かす範囲などを指定できます。
今回はデフォルトのまま OK ボタンを押すと、最適な数値を求めて計算が始まります。
私の環境では、10秒もしないうちに結果が出ました。
メニューから 「表示」ー「ストラテジーパフォーマンスレポート」ー「パフォーマンスグラフ」
見事に、利益が出ているチャートになりました。
適応された移動平均の足数
|
メニューから 「表示」ー 「ストラテジー最適化レポート」 で 最適化の詳細を見ることが出来ます。
1 2 3 4 |
<strong><span style="color: #ff6600;"> ※絶対にこの投資戦略で実取引をしないでください。</span></strong> <strong><span style="color: #ff6600;">この結果はたまたまでたものです。 詳細の設定条件によっても結果が異なりますし。 過剰最適化 されている可能性が極めて高いと思われます。</span></strong> |
<BarType の説明ここから ヘルプより>
BarType (Reserved Word)
分析テクニックを適用する価格データの間隔設定を示す数字を返します。
備考
返される数字は、価格データのデータインターバルに基づきます。BarType は、以下の値を返します。
0 = ティック足
1 = Minute
2 = 日
3 = 週
4 = 月
5 = ポイントアンドフィギュア
6 = (予約済み)
7 = (予約済み)
8 = カギ足
9 = KASE
10 = 新値足
11 = モメンタム
12 = レンジ
13 = 練行足
14 = 秒
<BarType の説明ここまで>
ここまで読んでいただいてありがとうございます。
「今まで知らなかった(出来なかった)素晴らしい自動売買の世界に羽ばたけるかも」
と感じていただける方が一人でも多く生まれれば幸いです。
◆日課の発声:「 マネックス証券版 トレステ / トレードステーション (TradeStation) を使った 株式自動売買 で生活を豊かにするぞ! 」