第5回 楕円テクニカルを作ってみよう~
久しぶりにメタトレードのプログラム講座です。
題材が無いと、なかなか講義に移れないので、
今回は先日UPさせていただいた、楕円インジケータ を
この場で作っていきたいと思います。
楕円チャートの作り方としては、ZIGZAGチャートと同じで
高値と安値を抽出して、そこに楕円を持っていくイメージです。
ちなみにZIGZAGチャートはこんな感じです。
上記のインジケータでもそうですが、
やはり難所は
区間の高値と安値を抽出する
というところです。
そこで今回は、第5回 ブレイクアウト にも示しているMT_breakout(mt4)の、
移動平均線基準で、区間を決定し、極大極小を抽出するという部分を流用したいと思います。
メタトレーダで線を描いている部分は、SetIndexBufferではなく、
- ObjectCreateでオブジェクトで描いています。
メタトレードが優れている点は、グラフとオブジェクトを
同じ座標系にリンクさせて描くことができる点です。
エクセルに例えて言えば、SetIndexBufferはセルのデータを参照して書かれたグラフ、
ObjectCreateはDRAWで書かれるオブジェクトのイメージです。
プログラミングの要としては、下記の二つのコマンドです。
ObjectMove オブジェクトを指定の場所に動かす
ObjectGetValueByShift オブジェクトから値を取り出す
楕円オブジェクト
楕円オブジェクトのプロパティを調べてみましょう。
http://www.metatrader5.com/en/terminal/help/analytics/objects/shapes/ellipse
これを見ると、3つのバリューで決まっていますね。
1番目、2番目が楕円の長辺側の頂点、3番目が短辺側の頂点となっているようです。
最初に、長辺側をロングスパンで極大極小を抽出し、
さらに、その極地の間で、短辺側の極大極小を抽出するという、
2段構えのアルゴリズムでなんとかなりそうな気がしてきました。
ということで、さっそくプログラミングの骨格に入っていきましょう~
この続きは次回に