前回『作成したストラテジーでバックテストをしてみよう』までで、ストラテジーを作って、バックテストをして、パラメーターの最適化までしてきました。
すでにかなりトレードステーションおよびEasy Languageを使いこなせてきています。
ここからは、より高度な取引をしたいという方向けに、紹介していきたいと思います。
そのためには、オブジェクト指向に慣れる必要があります。
マネックス証券が、オブジェクト指向によるEasy Languageのプログラミングに関して、マニュアルを出してくれています。
そのマニュアルはたくさんの例題があって、実践的に学べるのですが、あまり詳しく書かれていません。
あくまでも、他のプログラム言語(C#とかJavaとか)をある程度知っている前提で話が進められています。
私のように、「高校とか大学の授業でちょっとやっただけで、全然知識がない。。」という方は置いていかれます。。
なので、マニュアルの補足説明も兼ねて、より高度なストラテジーが書けるように順を追って紹介したいと思います。
今回は、オブジェクト指向のマニュアルの「例題1」をやってみましょう。
ここでは、マネックス証券のマニュアルを使いますので、まだ持っていない方は以下よりダウンロードしてください。


目次
そもそもオブジェクト指向とは
そもそもオブジェクト指向とは何でしょうか。ネットで調べると、いろいろと解説されているのがありますが、多くのサイトで「概念だから説明が難しい」とされています。
というわけで、ぶっちゃけ私もこれという回答はできません。。(笑)
ですが、やっていくうちにこんなもんかと思えるようになるかと思います。
そもそも名前を知らなくてもなんとかなるので大丈夫です(笑)
例題に取りかかろう
早速ですが、例題に取りかかってみましょう。
とりあえずやってみたらなんとなくわかってきます。学生の頃やった勉強と一緒です。手を動かしてみるのが、一番早く習得できると思います。
マネックス証券のマニュアルの例題01(#01_DailyBarClose)をやってみましょう。
ストラテジーを作ったときのように、トレードステーションのEasy Languageを立ち上げてください。
その後、新規作成で「インジケーター」を選んでください。
新規作成できたら以下の画像のようになると思います。左の方にある、「ツールボックス」をクリックしてください。

ツールボックスが開くので、その中にある「PriceSeriesProvider」をダブルクリックしてください。

この「PriceSeriesProvider」がオブジェクトの第一歩です。
ダブルクリックすると、以下の画像のように、下の方に「PriceSeriesProvide1」が追加されます。
追加されているのが確認できたら、右の方にある「プロパティ」をクリックしてください。

以下の画像のように、①が「PriceSeriesProvide1」となっていることを確認して、マニュアル通りに赤枠を書いてください。
ここで注意してもらいたいのは、以下の画像の②にあるように、「Load」を「False」から「True」に変えるのを忘れないようにしてください。
マニュアルではいつのまにか「True」に変わっていますので気を付けてください。

それでは、プログラムを書く準備ができたので、マニュアル通り書いてみましょう。
例題1なので、非常にシンプルです。
Plot1(PriceSeriesProvide1.Close[0],”DailyClose”);
「PriceSeriesProvide1」には、先ほどまでに設定した情報が盛り込まれています。
つまり、Symbol(銘柄)、InterbalType(どの間隔で参照するか(足種))、InterbalSpan(その間隔はいくつか)、Range(対象範囲はどこか)の情報が入っており、その条件での、株価の情報が入っています。
いまの設定の場合、
銘柄…チャート分析に表示されている銘柄
データを参照する間隔…1日ごと
データ取得範囲…2年間分
となっています。
「PriceSeriesProvide1」のあとに、「.」がついています。これは、「PriceSeriesProvide1」の中にある「Close」を参照するという意味になります。
「PriceSeriesProvide1」という箱の中から「Close」を持ってきてね。という表現になります。
箱の中に複数の情報があれば、それぞれ呼び出せるようになっています。
この辺りが、これまでになかった表現方法ですね。
Closeは足の終値でしたね。Plotは描画するコマンドなので、このプログラムの内容は、
「チャート分析ウィンドウに現れている銘柄に足して、1日ごとに、足の終値を結んでください」というプログラムになります。
プログラムの記述を終えたら、以下の画像のように、画面上で右クリックをして、「プロパティ」を選択してください。

「スケーリング」タブを開いて、スケール位置を「元データの軸に合わせる」としてください。そして「OK」をクリックしてください。
最後に「F3」キーを押して、プログラムを検証してください。エラーがでなければプログラム完成です。
チャート分析上に、分析テクニックを挿入してください。(方法の詳細は前回を見てください)

無事、インジケーターが挿入されました。

「Load」が「False」のままだったら?
「Load」は「True」にしてくださいと上の方で書きました。
ちなみに、「False」のままならどういったことが起こるでしょうか。つまり、以下の画像のように、「False」のままとしたらどうなるでしょうか。

「チャート分析」ウィンドウで、インジケーターを挿入しようとしてみると、「[プロバイダー]のデータは、オブジェクトが[ロード済み]になるまでアクセスできません」というエラーが出ます。
ロードできませんよ。というエラーです。
なので、「Load」の設定を「True」にする必要があります。
このエラーが出たときには、プロパティの設定を確認してみてください。

さいごに
オブジェクトによる記述は、プログラムに慣れていない方には難しいかと思いますが、いかがでしたか?
「なんとなく追ってはいけるけど詳しくはわかっていない」という方が多いかもしれません。
でも大丈夫です!徐々に例題に親しんでいけば、誰でも身に付けることができます。
次回もマニュアルに載っている例題を解説していきたいと思います。
