MQL関数リファレンス

MQL4MQL5 時系列データ(バー・価格)

iBarShift()

できること
時刻から、そのバーの位置(shift)を求める
対応
MQL4・MQL5

iBarShift() とは

時刻を指定して、その時刻を含むバーの位置(shift)を返す関数です。上位足の値を下位足の各バーに対応させるマルチタイムフレームのインジケーターや、特定の時刻のバーを探すときに使います。

iBarShift() の書式と引数

MQL4 の場合MT4

int iBarShift(
   string symbol,
   int timeframe,
   datetime time,
   bool exact=false
)
引数型省略時説明
symbolstring必須銘柄名。
timeframeint必須時間足。
timedatetime必須探す時刻。
exactboolfalsetrue なら、その時刻ちょうどに始まるバーがないとき -1 を返します。false なら最も近い(その時刻を含む)バーを返します。

戻り値(MQL4)

バーの位置(0 が現在のバー)。見つからなければ -1。

MQL5 の場合MT5

int iBarShift(
   const string symbol,
   ENUM_TIMEFRAMES timeframe,
   datetime time,
   bool exact=false
)
引数型省略時説明
symbolconst string必須銘柄名。
timeframeENUM_TIMEFRAMES必須時間足。
timedatetime必須探す時刻。
exactboolfalsetrue なら、その時刻ちょうどに始まるバーがないとき -1 を返します。false なら最も近い(その時刻を含む)バーを返します。

戻り値(MQL5)

バーの位置(0 が現在のバー)。見つからなければ -1。

iBarShift() の使い方(コード例)

MQL4・MQL5 共通

// 現在の足(1時間足チャート想定)を含む日足の位置と、その日足の高値
datetime t = iTime(_Symbol, PERIOD_CURRENT, 0);
int d = iBarShift(_Symbol, PERIOD_D1, t);
if(d >= 0)
   Print("日足の位置=", d, " その日の高値=", iHigh(_Symbol, PERIOD_D1, d));

OnTick()・OnStart() などの関数の中に書いて使う例です。MetaEditor でコンパイルできることを確認済みです。

関連する関数

時系列データ(バー・価格)の関数一覧

← MQL関数リファレンスで、ほかの関数を探す

サイバーシグナルインジケーターと8大特典プレゼント

MT4/MT5自動売買EAサイバーラッシュ無料プレゼント

MT4/MT5自動売買EAサイバードラゴン無料プレゼント

グルグルトレイン(グルトレ)EAを無料プレゼント

ライントレードEAサイバートレナビを無料プレゼント

ゴトー日の東京仲値が狙える自動売買EA

LINE友だち追加

注目記事ランキング

  1. 1

    【サクソバンクチャート】月曜日の早朝から動く為替レート

  2. 2

    【MT4/MT5対応】チャート上に手書きできる描画インジケーターの無料配布

  3. 3

    【サンデーダウ・サンデードル円】土日に動く中東レートの表示方法と見方を解説

  4. 4

    【先着50名】グルトレEAを無料プレゼントしています!

  5. 5

    保護中: 【勝率UP!】曜日や日・月別為替相場の動きでFXを見極める

  6. 6

    【MT4/MT5対応】「sign_alert」シグナルアラートやメール送信するインジケーターの無料配布

  7. 7

    無料メールマガジン「マナブ式FX」|毎朝6時、今日の為替相場予想が届く

  8. 8

    【原油・金】WTIとゴールドの商品レート一覧と見やすいチャート

  9. 9

    VQインジケーターとは?MT4/MT5版を無料配布【設定例つき】

  10. 10

    【バイナリーオプション攻略法】全勝!+497,363円の利益が出た手法とは?

TOP
CLOSE