【MQL4学習】iBullsPower()関数とは?勝てるEA作成アイディアに!

ザフナーラボブログ

iBullsPower()関数は、ブルパワーの値を取得するために使用します(ブルパワーの詳細については「こちら」を参照してください。)。

iBullsPower()関数とは?

iBullsPower()関数は、以下のように定義されています。

サンプルコード

double iBullsPower(
string symbol,
int timeframe,
int period,
int applied_price,
int shift
);

各引数の意味は、以下のとおりです。

  • string symbol
    ブルパワーの値を計算する通貨ペア名を指定します。
    通貨ペア名は、「気配値表示ウィンドウ」に表示されているとおりに記述します。
    特定の通貨ペア名を指定せず、EA等を適用したチャートの通貨ペアのブルパワーの値を取得したい場合は、「NULL」と記述します。
  • int timeframe
    以下の表に従って、ブルパワーの値を計算する時間軸を指定します。

    種 類
    定 数
    内 容
    PERIOD_CURRENT
    現在の時間足
    PERIOD_M1
    1分足
    PERIOD_M5
    5分足
    PERIOD_M15
    15
    15分足
    PERIOD_M30
    30
    30分足
    PERIOD_H1
    60
    1時間足
    PERIOD_H4
    240
    4時間足
    PERIOD_D1
    1440
    日 足
    PERIOD_W1
    10080
    週 足
    PERIOD_MN1
    43200
    月 足
  • int period
    ブルパワーの値を計算する期間を指定します。
  • int applied_price
    以下の表に従って、ブルパワーの値の計算に用いる価格データを指定します。

    計算に使用する価格データの種類

    種 類
    定数
    内 容
    PRICE_CLOSE
    終 値
    PRICE_OPEN
    始 値
    PRICE_HIGH
    高 値
    PRICE_LOW
    安 値
    PRICE_MEDIAN
    中央値

    (高値+安値)÷2
    PRICE_TYPICAL
    代表値

    (高値+安値+終値)÷3
    PRICE_WEIGHTED
    加重終値

    (高値+安値+終値+終値)÷4
  • int shift
    ブルパワーの値を取得したいバーの位置を指定します。
    ブルパワーの値を取得したいバーが現在のバーであれば「0」、1本前のバーであれば「1」、2本前のバーであれば「2」……と記述します。

注意点

ブルパワーは、通常はそれ単独で用いるものではなく、「ベアパワー」(ベアパワーの詳細については「こちら」を参照してください。)と併用して相場の強弱(=買い方と売り方のどちらが優勢か)を判断します。

サンプルコード

1本前のバーのブルパワーとベアパワーの値が共に「正」であれば買いエントリーしたい場合は、以下のように記述します。

サンプルコード


double Bull_1 = iBullsPower(Symbol(),0,13,0,1);
double Bear_1 = iBearsPower(Symbol(),0.13,0,1);

if(Bull_1 > 0 && Bear_1 > 0)
  {
   int Ticket
   = OrderSend(Symbol(),OP_BUY,0.1,Ask,10,0,0,
               NULL,1359,0,Magenta);
  }
  • iBearsPower()関数の詳細については「こちら」を参照してください。
  • OrderSend()関数の詳細については「こちら」を参照してください。
  • Symbol()関数の詳細については「こちら」を参照してください。
  • Askの詳細については「こちら」を参照してください。