iBarShift()

 iBarShift()関数は、指定した通貨ペア・時間軸・日時におけるバーの位置を取得するために使用します。

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

int iBarShift(
string symbol,
int timeframe,
datetime time,
bool exact
);

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

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

    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
    月 足
  • datetime time
    バーの位置を取得したい日時を指定します。
  • bool exact
    指定した日時におけるバーが存在しない場合に返される値を指定します。
    false」と指定した場合は、指定した日時に最も近いバーの位置を返します。
    true」と指定した場合は、「-1」を返します。

戻り値

 指定した通貨ペア・時間軸・日時におけるバーの位置を返します。

 バーの位置は、指定した日時が現在のバーに相当する場合は「」、1本前のバーに相当する場合は「」、2本前のバーに相当する場合は「」……と表されます。

 指定した通貨ペア・日時におけるバーが存在しない場合は、第4引数の指定に従って、指定した日時に最も近いバーの位置又は-1」が返されます。

具体例

 「ドル/円」の1時間足チャートにおける「2015/06/15 12:00」時点のバーの位置を取得したい場合は、以下のように記述します。


datetime sometime = D’2015.06.15 12:00′;

int shift =
iBarShift(“USDJPY”,PERIOD_H1,sometime,false);

Print(“Index of the bar for the time “,
      TimeToStr(somtime),” is “,shift);
  • Print()関数の詳細については「こちら」を参照してください。
  • TimeToStr()関数の詳細については「こちら」を参照してください。

関連手法

通貨相関で実践的且つ効率よく押し目買い戻り売りを狙う専業トレーダー手法!
通貨相関を使った効率的トレンドフォロー手法『C TRADE』公式販売ページ
通貨相関を使った効率的トレンドフォロー手法『C TRADE』公式販売ページ | fx-on.com

通貨相関を使った効率的トレンドフォロー手法『C TRADE』公式販売ページ
通貨相関を使った効率的トレンドフォロー手法『C TRADE』公式販売ページ | fx-on.com

 上記手法(C TRADE通貨相関を使った効率的トレンドフォロー手法『C TRADE』公式販売ページ | fx-on.com)の詳細については「こちら通貨相関を使った効率的トレンドフォロー手法『C TRADE』公式販売ページ | fx-on.com」を参照してください。


MT4の使い方からプログラミングまで、わかりやすく解説