MT4/5でプログラムを作成する過程でiHigh()やiHighest()を利用する機会が多くあります。iLow()やiLowest()についても同様です。
EAやIndicatorを作成するほとんどの方が、iHigh(1)がチャート上、ローソク足1本前の高値の値を教えてくれる関数であることをご存じです。ところが、「それではiHighetdt(1)とどう異なるのですか」と尋ねるとどことなく怪訝な表情をされることが間々あります。
応用問題です。過去の5本のローソク足の中で、一番の高値を知りたいという場合には、この二つの関数が大活躍します。例えば、「過去5本のローソク足の中での最高値はいくら」を知りたい場合は、iHigh(_Symbol, 0, iHighesst(_Symol, 0, 5))であり、安値であれば、iLow(_Symbol, 0, iLowest(_Symbol, 0, 5 ))となります。iHighest()関数の戻り値は、高値の価格ではなく、高値を付けた足を特定するための関数です。
スキャルピングやブレークアウトに利用するEAには、必須の関数ともいうことができます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます