inputdatetime timestart=D'2016.08.10 08:00'; //время поиска, отinputdatetime timeend=D'2016.08.10 15:00'; //и доint shiftstart=0,shiftend=0,diff=0;
double hi=0,lo=0;
intOnCalculate()
{
/////
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)); //и максимум
//////
}
こんにちは、SetIndexBufferでリンクされた配列から最後のバーのデータを取得する方法を教えてください。ありがとうございます。
こんにちは、M5タイムフレームで午前8時から午後3時のブローカータイムで、安値と高値を見つける方法を教えてください。
massiv[1]です。
ループの中で、massiv[i+1]が範囲外の配列を与えるのはどうでしょう
この辺りのサイクルは、とても分かりにくいですね。
最後のバーのデータが必要
iBarShift()、iLowest()、iHighest()。
P.s.: mqlの勉強を始めますので、気長にお待ちください =)
高値と安値を見つけるための時間範囲を設定する方法について、もう少し詳しく教えてください。(例題コードを生きられるなら)
P.s.: mqlの勉強を始めますので、気長にお待ちください =)
これらのキーワードによる興味深い情報をヘルプで読むことができます。サンプルコードでは、必要な単語の上でF1を押すだけです。
おおよそ、インジケータに埋め込むためのコードは以下のようなものになります。