どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 1081

 
Pokrov:
こんにちは、SetIndexBufferでリンクされた配列から最後のバーのデータを取得する方法を教えてください。ありがとうございます。
massiv[1]です。
 
Foxonn:
こんにちは、M5タイムフレームで午前8時から午後3時のブローカータイムで、安値と高値を見つける方法を教えてください。
iBarShift()、iLowest()、iHighest()。
 
evillive:
massiv[1]です。
ループの中で、massiv[i+1]が範囲外の配列を 与えるのはどうでしょう

 
Pokrov:
ループの中で、massiv[i+1]が範囲外の配列を与えるのはどうでしょう

ループはこうしてみると、わかりにくいですね。
 
evillive:
この辺りのサイクルは、とても分かりにくいですね。
int i,limit;
   limit=rates_total-prev_calculated;
if(prev_calculated<1) limit=rates_total-1;
for(i=limit; i>0; i--)
   
{
internal_channelUp[i]= iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,internal_channel,i));
internal_channelDn[i]= iLow(NULL,0,iLowest(NULL,0,MODE_LOW,internal_channel,i));
}
最後のバーのデータが必要
 
Pokrov:
最後のバーのデータが必要
int i,limit;
   limit=rates_total-prev_calculated-1;
if(prev_calculated<1) limit=rates_total-1;
for(i=limit; i>0; i--)
   
{
internal_channelUp[i]= iHigh(NULL,0,iHighest(NULL,0,MODE_HIGH,internal_channel,i+1));
internal_channelDn[i]= iLow(NULL,0,iLowest(NULL,0,MODE_LOW,internal_channel,i+1));
}
 
evillive:
条件にはありませんでしたが、すみません、今全部チェックしてみます。
 
evillive:
iBarShift()、iLowest()、iHighest()。
これらを連動させ、高ポイントと低ポイントの時間幅を設定する方法をもう少し詳しく説明してください。(例題コードを生きられるなら)
P.s.: mqlの勉強を始めますので、気長にお待ちください =)
 
evillive:
すべてうまくいきました、ありがとうございました
 
Foxonn:
高値と安値を見つけるための時間範囲を設定する方法について、もう少し詳しく教えてください。(例題コードを生きられるなら)
P.s.: mqlの勉強を始めますので、気長にお待ちください =)

これらのキーワードによる興味深い情報をヘルプで読むことができます。サンプルコードでは、必要な単語の上でF1を押すだけです。

おおよそ、インジケータに埋め込むためのコードは以下のようなものになります。

input datetime timestart=D'2016.08.10 08:00'; //время поиска, от
input datetime timeend=D'2016.08.10 15:00';  //и до

int shiftstart=0,shiftend=0,diff=0; 
double hi=0,lo=0;

int OnCalculate()
{
/////
shiftstart=iBarShift(_Symbol,PERIOD_M5,timestart);                                 //выясняем индекс бара с временем старта поиска
shiftend=iBarShift(_Symbol,PERIOD_M5,timeend);                                     //выясняем индекс бара с временем финиша поиска 
diff=shiftstart-shiftend;                                                      //вычисляем кол-во баров для поиска экстремумов
lo=iLow(_Symbol,PERIOD_M5,iLowest(_Symbol,PERIOD_M5,MODE_LOW,diff,shiftend));  //выясняем минимум 
hi=iHigh(_Symbol,PERIOD_M5,iHighest(_Symbol,PERIOD_M5,MODE_HIGH,diff,shiftend)); //и максимум
//////
}