前回までに作成したインジケーターでは、過去足の分析はできてもリアルでは使えません。
その原因を考えてみます。
int limit = Bars – IndicatorCounted();
for(int i = limit-2 ; i >=0; i–)
ここが間違えているみたいです。
limit:変数、Bars:チャート上のすべての本数、IndicatorCounted:最初は0
チャート上に1000本のローソク足があったとすると
limit=1000-0=1000本なので
for文が1000-2=998本から0まで1本ずつ繰り返すことになる?
いろいろ調べてみた結果
int limit = Bars – IndicatorCounted()-2 ;
if(limit < 1)limit = 1;
for (int i = limit; i >= 0; i–)
この方が上手く表示させることができました。
真ん中のif文がある事で常に0と1の2回分を繰り返すことができるのかと思っています。
条件式の中のバッファーで[i+1]を使用しているために【-2】とする必要があるみたい。
条件式が[i]だけの場合には【-1】でOK。
0番目の足を通るだけでいい【-1】
1本前の[i+1]つまり0と1番目の足を通る必要があることの違い。
for文が難し過ぎる・・・。
コメント