
以下を追加してください。
int limit=Bars-counted_bars-1;
for(int i=0; i<limit; i++)
{
double fast_ma0=iMA(NULL,0,ma1_Period,0,MODE_SMA,PRICE_CLOSE,i);
double fast_ma1=iMA(NULL,0,ma1_Period,0,MODE_SMA,PRICE_CLOSE,i+1);
double slow_ma0=iMA(NULL,0,ma2_Period,0,MODE_SMA,PRICE_CLOSE,i);
double slow_ma1=iMA(NULL,0,ma2_Period,0,MODE_SMA,PRICE_CLOSE,i+1);
if(fast_ma0>slow_ma0 && fast_ma1<slow_ma1)
{
ExtMapBuffer1[i]=Close[i];
ExtMapBuffer2[i]=0;
}
else if(fast_ma0<slow_ma0 && fast_ma1>slow_ma1)
{
ExtMapBuffer1[i]=0;
ExtMapBuffer2[i]=Close[i];
}
else
{
ExtMapBuffer1[i]=0;
ExtMapBuffer2[i]=0;
}
}
fast_ma で期間の短い方の移動平均線を計算し、
slow_ma で期間の長い方の移動平均線を計算します。
それぞれ、0 と 1 で現在の足と1本過去の足の移動平均線を計算します。
そして、現在の足と過去の足の移動平均線の位置関係から、
クロスしたかどうかを判定しています。
この、クロスという考え方が慣れるまで難しいので、
次回以降に詳しく説明したいと思います。
入力が完了したら、コンパイルしてチャートにセットしてください。
こんな感じで表示されていればOKです。

移動平均線はMovingAverageをチャートに2本セットして表示させています。
クロスしたところにうまい具合に矢印が出ていると思います。
次回以降これを元にして色々いじっていきます。

【送料無料】FXメタトレ-ダ-で毎日を給料日にする! |

