start を以下に変更してください。
if(ma1_Period>=ma2_Period)
{
Comment("ma2はma1より大きな数にしてください。");
}
else
{
int counted_bars=IndicatorCounted();
//----
int limit=Bars-counted_bars-1;
for(int i=0; i<limit; i++)
{
double ma1=iMA(NULL,0,ma1_Period,0,MODE_SMA,PRICE_CLOSE,i);
double ma2=iMA(NULL,0,ma2_Period,0,MODE_SMA,PRICE_CLOSE,i);
if(ma1<=ma2)
{
ExtMapBuffer1[i]=1;
ExtMapBuffer2[i]=0;
}
else
{
ExtMapBuffer1[i]=0;
ExtMapBuffer2[i]=1;
}
}
}
ma1_Period と ma2_Period の値の大小が逆の時は、コメントを表示し、
それ以外の大小が通常の時は else の { } 内を実行しインジケーターを描写します。
このようにすると、start を最後まで処理できるようになります。
プログラムの規模によってい色々やり方がありますので、
実際に作りながら自分が楽な方法でプログラムされればいいと思います。




