スポンサーリンク
検索
カスタム検索
MQL4リファレンスツリー
iHighest


iHighest


特定期間の指定したタイプのデータの最大値を持っているバーシフトを返します




関数書式:
int  iHighest(
   string          symbol,          // 通貨ペア
   int              timeframe,       // 時間軸
   int              type,            // データタイプ
   int              count,           // バーカウント数
   int              start            // バースタート位置
   );



■引数
引数名 初期値 I/O 詳細
symbol - In 通貨ペア名
NULL指定は現在の通貨ペアを意味します。
timeframe - In 時間軸
ENUM_TIMEFRAMES列挙の値を指定します。0は現在の時間軸を意味します。
type - In データタイプ。
時系列配列識別子列挙の値で指定します。
count WHOLE_ARRAY In 検索を行うバー数
start 0 In 検索を開始するバー位置



■戻り値
最大値を持つバーシフトを返します。
エラーの場合は-1を返します。
エラーコードの確認はGetLastError()関数を使用します。


■備考
無し


サンプルソース:
void OnInit() {

    // 現在の通貨ペア・日足軸のチャートで最高値を検索。
    // 4日〜24日前の範囲で出来高の最高値を持つバーを検索。
    
    int val_index= iHighest(Symbol(),PERIOD_D1,MODE_VOLUME,20,4);
    
    if(val_index!=-1) {
        printf("出来高[4]〜[23]間で最高値を持つ出来高[%d] = %d\n",val_index, 
                iVolume(Symbol(),PERIOD_D1,val_index));
    } else {
        printf("エラーコード = %d",GetLastError());
    }
    
    int icount;
    
    for ( icount = 0 ; icount < 26; icount++ ) {
        printf("出来高[%d] = %d",icount, iVolume(Symbol(),PERIOD_D1,icount));
    }
}


結果:
出来高[4]〜[23]間で最高値を持つ出来高[23] = 162111

出来高[0] = 5214
出来高[1] = 158572
出来高[2] = 131828
出来高[3] = 102446
出来高[4] = 96219
出来高[5] = 115355
出来高[6] = 120043
出来高[7] = 106964
出来高[8] = 104875
出来高[9] = 95052
出来高[10] = 127315
出来高[11] = 125142
出来高[12] = 117788
出来高[13] = 131805
出来高[14] = 109722
出来高[15] = 93324
出来高[16] = 99336
出来高[17] = 121492
出来高[18] = 98466
出来高[19] = 64748
出来高[20] = 68425
出来高[21] = 106532
出来高[22] = 151998
出来高[23] = 162111
出来高[24] = 139685
出来高[25] = 175270





違う時間軸の高値を取得するサンプルソース

サンプルソース:
   int    mh_index = 0;    // 高値のインデックス
   double mh_high  = 0;    // 高値の価格

   // 5分足で直近20本のローソク足の中で高値が最高値となっているインデックスを取得する
   mh_index = iHighest(            // 指定した通貨ペア・時間軸の最高値インデックスを取得
                       Symbol(),   // 通貨ペア
                       PERIOD_M5,  // 時間軸[5分足を指定]
                       MODE_HIGH,  // データタイプ[高値を指定]
                       20,         // 検索カウント
                       0           // 開始インデックス
   );
 
   // 高値インデックスが取得出来た場合
   if ( mh_index >= 0 ) {

        mh_high = iHigh(           // 指定した通貨ペア・時間軸の高値を取得
                        Symbol(),   // 通貨ペア
                        PERIOD_M5,  // 時間軸[5分足を指定]
                        mh_index    // インデックス[iHighestで取得したインデックスを指定]
        );

        printf( "[%d]インデックス=%d, 高値 = %f" , __LINE__, mh_index , mh_high );
    }



結果:



スポンサーリンク

スポンサーリンク
スポンサーリンク


Copyright ©2015 MT4でEA自作しちゃお〜 All Rights Reserved.


Top

inserted by FC2 system