メタトレーダー4でプログラムを作ってみよう -37ページ目

メタトレーダー4でプログラムを作ってみよう

無料のトレードソフトであるメタトレーダー4のプログラムを作るコツをアップします。初心者がインジケーターとEAのプログラムを作成できるのを目指します。

それでは start をプログラムします。

以下を追加してください。

int limit=Bars-counted_bars-1;
for(int i=limit; i>=0; i--)
{
   ExtMapBuffer1[i]=iMA(NULL,0,ma_Period,0,MODE_SMA,PRICE_CLOSE,i);

   if(ExtMapBuffer1[i]>ExtMapBuffer1[i+1]
    && ExtMapBuffer1[i+1]>ExtMapBuffer1[i+2])
   {
      ExtMapBuffer2[i]=ExtMapBuffer1[i];
   }
   else if(ExtMapBuffer1[i]<ExtMapBuffer1[i+1]
    && ExtMapBuffer1[i+1]<ExtMapBuffer1[i+2])
   {
      ExtMapBuffer3[i]=ExtMapBuffer1[i];
   }
   else
   {
      ExtMapBuffer2[i]=EMPTY_VALUE;
      ExtMapBuffer3[i]=EMPTY_VALUE;
   }
}



まず最初に、ExtMapBuffer1 で移動平均線を計算しておきます。

次に、if文で条件を設定します。

1つ目に、現在の足の ExtMapBuffer1 の値と、

1本過去の ExtMapBuffer1 の値を比べ、

現在の足の ExtMapBuffer1 の値が大きいか確認します。

同様に、1本過去の足 ExtMapBuffer1 の値と、

2本過去の ExtMapBuffer1 の値を比べ、

1本過去の足 ExtMapBuffer1 の値が大きいか確認します。

どちらの条件にも当てはまる場合、

過去2本連続して移動平均線が大きくなっていることになり、

この場合を上昇しているとみなすことにします。

この時、ExtMapBuffer2 に ExtMapBuffer1 を代入します。


下降している場合は、小さいかどうかを比べます。

過去2本連続して移動平均線が小さくなっている時に、

ExtMapBuffer3 に ExtMapBuffer1 を代入します。

それ以外の時は、

ExtMapBuffer2 と ExtMapBuffer3 にEMPTY_VALUE を代入します。

EMPTY_VALUE は数値なし、という意味です。

チャートに表示するインジケーターの場合、

0 を代入してしまうと、

画面表示範囲外の 0 の値まで垂直の線が引かれてしまいますので、

EMPTY_VALUE を使用します。

入力が終わったら、コンパイルしてチャートにセットしてみてください。

カラフルに表示されればOKです。



上昇トレンドは赤、下降トレンドは青、それ以外が黄色の表示です。


今回、if文の条件を書くのに、&& のところで改行しています。(&&の説明

1行の長さが長くなる時に、意味がわかる区切りなら、

今回の例のように途中で改行する場合もあります。

また、説明しますので、今回はその様なこともあると覚えておいてください。

ばいちゃ~。(*゜▽゜ノノ゛☆




    
それでは出来たレインボーソースコードをいじっていきましょう。

宣言項目
のところに以下を追加してください。

#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2




少し太めの方が色が変わったのがわかりやすいです。

作った後にもっと太いのが好みなら数値を変更してみてください。


次に init に以下を追加してください。

IndicatorShortName("MA 2Color("+ma_Period+")");
SetIndexLabel(0,"MA");
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
SetIndexDrawBegin(0,ma_Period);
SetIndexDrawBegin(1,ma_Period);
SetIndexDrawBegin(2,ma_Period);



まず、表示の名前を MA 2Color(maの期間) にしました。(こちら

次に、0番の項目の数値だけを表示するように設定しました。(こちら

1番と2番の項目は0番と同じ数値なので、特に表示する必要はないです。

最後に、maの計算期間前の値を表示しないように設定します。(こちら


次回、start の説明をします。

お楽しみに~。ヾ(@°▽°@)ノ




 
今回は複数の色でラインを描写するインジケーターを作成しましょう。

カラフルな方が見やすくて楽しいですよね~

レインボーマンのように7色にしてもOKです

移動平均線の傾きによって色を変更して簡易的にトレンドを表示するものにします。

いつも通りメタエディターの新規作成から Custom Indicator を選択します。



名前を ma_2color01 と入力し、「Add」をクリックしてパラメーターを1つ追加します。

パラメーターの名前と、初期値を、

ma_Period 20

と設定します。



次に、「Add」を3回クリックして、Indexes を3つ追加します。

Type Color Symbol を

Line Yellow
Line Red
Line Blue

に変更します。



「完了」をクリックして終了です。

次回からプログラムしていきます。 ヾ(@^▽^@)ノ




   
【送料無料】FXメタト...

【送料無料】FXメタト...
価格:2,940円(税込、送料別)