int TenkanHigh = iHighest(NULL,Period(),MODE_HIGH,9-Shift,0);
int TenkanLow  = iLowest(NULL,Period(),MODE_LOW,9-Shift,0);

 

復習ですが

 

NULL・・・現在のチャートの通貨ペア

Period()・・・現在表示してる時間足

MODE_HIGH・・・四本値の高値

MODE_LOW・・・四本値の安値

 

問題は、次の

 

9-Shift

 

これは何?

と疑問に思える程度に

MQLが習得できてれば、とりあえず合格です(笑)

 

本来ならここは単に9でOKなんです。

最後の0は高値安値を探索スタートするバーの位置で、

そこから過去9本のバーの中で

高値安値のバーの位置を求めるという意味のコードなので。

 

Shiftはパラメーターで「ずらし本数」を設定するものです。

 

ちょうど今

 

 

SS2の高値キングが次の足が出たら入れ替わる状態になってるので

これを例にすると

Shiftを1にするということは

期間を1減らす、ということです。

つまり

このまま高値安値が変化しなかった場合

「次の足が出たら、どうなるか」

を知ることができるわけです。

実際にShiftを1にしてみると

 

 

あー、こうなるんだー、とわかるわけです。

そのためのShiftです。

 

こーゆー小技が大事なんですよ、プログラミングって。

全てにおいて発想と工夫です。

 

トレーダーはPCを使わなきゃいけない。

だからPCの操作を覚える。

 

MT4の操作を覚えなきゃいけない。

だから操作を覚える。

 

プログラミングは、その延長線上にあるものと

僕は考えてます。

 

プログラミングを覚えないと

発想を形にできない

だから覚える、

ということです。