■超直感!MT4プログラミング講座■ 第21回 ボリンジャーバンドを作ろう(3)

スポンサーリンク

こんばんは!キリンです。
私は本日を持って、脱サラをしました。
もう二度とサラリーマン生活に戻らないという固い信念のもと
頑張っていきたいと思います。
「職業の道楽化」
この言葉を実践していければと思っています。
では、本日の講義です。
昨日がなかったので、22回も後で続けて書きます。


第21回 ボリンジャーバンドを作ろう(3)

前回まで出て、インディケーターの定義部分からinit()による初期設定までお話しました。
SetIndex関数シリーズはしっかり理解していただければと思います。
では、本日は待ちに待ったインディケーターの実働部、start()関数の中身についてお話します。
実際に僕が作成したstart()関数の中身は下記です。

int start()
{
int limit = Bars-IndicatorCounted();
for(int i=limit-1; i>=0; i–)
{
BufMain[i] = iBands(NULL, 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_MAIN, i);
BufUpper[i] = iBands(NULL, 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_UPPER, i);
BufLower[i] = iBands(NULL, 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_LOWER, i);
}
return(0);
}

今までこの講義を続けてみていただいている方であれば、
さほど難しい中身ではないのかなって思います。
では、要所の説明をしていきますね。
中身全体の説明としては、
「インディケーターのバッファにバンドのそれぞれの値を割り当てている。」
という要約ができるのですが、この言葉だけではなかなか伝わらないと思います。
各行の説明をします。
・int limit = Bars-IndicatorCounted();
・ for(int i=limit-1; i>=0; i–)
上記二つに関しては第16回を見ていただければと思います。
・BufMain[i] = iBands(NULL, 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_MAIN, i);
・BufUpper[i] = iBands(NULL, 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_UPPER, i);
・BufLower[i] = iBands(NULL, 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_LOWER, i);
ボリンジャーバンドを計算する関数はiBandsというのが用意されています。
簡単にご説明させていただきますね。

doubel iBands(string symbol, int timeframe, int period, int deviation, int bands_shift, int applied_price, int mode, int shift)

symbol, timeframe, period, shift, applied_priceについては、iMAと同じです。
第17回に詳しく記載しておりますので、よろしければご覧いただければと。
iMAとの違いは実はここだけなのです。
・doubel deviation
ボリンジャーバンドの偏差を入力します。
よく使われるのが2δですね。
・int mode
下記の大文字は全て、「MQL定義済み定数」です。
MODE_MAIN :ボリンジャーバンドの中間線を計算します
MODE_UPPER:ボリンジャーバンドの上位線を計算します
MODE_LOWER:ボリンジャーバンドの下位線を計算します
以外に簡単じゃないでしょうか?
これまでで、ボリンジャーバンドを表示するためのプログラムを全て作成してきました。
次回は、全てを組み合わせた際の動作について説明します。
最後までご覧いただきまして、誠にありがとうございます!

コメント

  1. ホネクス より:

    SECRET: 0
    PASS:
    MetaSysSeeker日本語リファレンスの
    iBandsの所
    applied_price の説明の項目が抜けてて 
    アレ? と思いましたね、
    http://www.metasys-seeker.net/MQL4_Reference_ver1/18-08_iBands.html
    英語リファレンスで調べた所
    applied_priceの説明の項目はあったので
    日本語リファレンスが記入漏れしてるだけでした。

  2. ホネクス より:

    SECRET: 0
    PASS:
    ・表示するインディケーターの数
    ・ini()で設定するインディケーターバッファの数
    バッファが3の為 曲線が3つ表示される
    ・iMAとiBandsの違い
    iMA(A適用される通貨ペア シンボル , B時間枠 , C計算する期間 ,Dラインの右へのシフト値 E,移動平均方式 ,F適用する価格 ,Gラインの左へのシフト値i)
    iBands(A ,B ,C ,本線からの偏差 ,D ,F ,ライン識別子の方式 ,G)
    iBandsはiMAにあったE,移動平均方式は無く
    本線からの偏差 と ライン識別子の方式が追加されている。
    でいいのだろうか…。

  3. ホネクス より:

    SECRET: 0
    PASS:
    ぁ 書き込む回間違えてしまった。

タイトルとURLをコピーしました