以下を追加してください。
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 と ma2 で移動平均線を計算します。
変数はここの中でしか使用しないので、宣言項目 ではなく start で宣言しました。
ma1 に期間の短いもの、ma2 に期間の長いものを設定しています。
移動平均線で簡易的にトレンドを見る場合、
期間の短いものが期間の長いものの上にあれば上昇トレンド、
期間の短いものが期間の長いものの下にあれば下降トレンドです。
バッファ1に下向きの矢印を設定しましたので、
期間の短いものが期間の長いものの下にあれば、
バッファ1を表示させ、バッファ2を消します。
今回は1に表示しようと思いますので、表示する場合は1を代入し、
非表示は0を代入します。
とりあえずコンパイルしてチャートにセットしてみてください。
また、パラメーターで移動平均線の本数を設定できますので、
実際に設定した移動平均線を表示させて、矢印の向きが正しいか確認してください。
色々パラメーターを変更してみると面白いと思います。
そしてある問題があることもわかると思います。
次回はそれを修正したいと思います。(*^ー^)ノ
【送料無料】FXメタトレーダーで儲けるしろふくろうのスーパー投資術 |