for 文の中身を ++ のバージョンでやりました。
実は -- を使う方がすっきりするので修正します。
なら先にそっちでやれよ!って感じですが・・・( ̄Д ̄;;
++ と -- の処理の違いは、こちらで説明しています。
では、以下のように修正してください。

int limit=Bars-counted_bars-1;
for(int i=limit; i>=0; i--)
{
ExtMapBuffer1[i]=iBands(NULL,0,Band_Period,Deviation,0,PRICE_CLOSE,MODE_UPPER,i);
ExtMapBuffer2[i]=iMA(NULL,0,Band_Period,0,MODE_SMA,PRICE_CLOSE,i);
ExtMapBuffer3[i]=iBands(NULL,0,Band_Period,Deviation,0,PRICE_CLOSE,MODE_LOWER,i);
if(ExtMapBuffer3[i+1]>Close[i+1] && ExtMapBuffer3[i+2]<Low[i+2])
{
ExtMapBuffer4[i]=Close[i];
ExtMapBuffer5[i]=0;
}
else if(ExtMapBuffer1[i+1]<Close[i+1] && ExtMapBuffer1[i+2]>High[i+2])
{
ExtMapBuffer4[i]=0;
ExtMapBuffer5[i]=Close[i];
}
else
{
ExtMapBuffer4[i]=0;
ExtMapBuffer5[i]=0;
}
}
こっちの方がすっきりしてますね~

前回のように、0 の現在の足から始めて過去の足にさかのぼって行くように計算した場合、
1本過去や2本過去の足の指標は計算できていません。
ですので、前回の通り ++ で ExtMapBuffer1 等を使って処理をしてしまうと、
矢印の表示がうまく出来ません。
今回のように、一番過去から現在に向かって -- で計算してくると、
過去の値は計算してあるので、ExtMapBuffer1 等の値が使用できます。
この過去から現在に向かって計算したり、
現在から過去に向かって計算したしするのは、
私はなかなか理解できなかったので、
まわりくどいですが何度かこのような説明をさせてもらおうと思います。
ではまた~(^-^)ノ~~
【送料無料】FXメタトレ-ダ-で毎日を給料日にする! |
