if を使用したインジケーターの作成 その2 | メタトレーダー4でプログラムを作ってみよう

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

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

条件わけとして、ヒストグラムの数値が0以上なら Gold で、

0より小さければ Silver を使って描写するように条件わけをします。

まずは宣言項目です。

以下を付け足します。

#property indicator_width1 3
#property indicator_width2 3
#property indicator_level1 0




今回は1と2をヒストグラムに使って、3と4でラインを引くので、

1と2に太さを両方とも3に設定します。

そして、0のところにラインを引きます。


次に start です。

以下を付け足します。

int limit=Bars-counted_bars-1;
for(int i=0; i<limit; i++)
{
   ExtMapBuffer4[i]=iMACD(NULL,0,FastEMA,SlowEMA,Signal,PRICE_CLOSE,MODE_MAIN,i);
   ExtMapBuffer3[i]=iMACD(NULL,0,FastEMA,SlowEMA,Signal,PRICE_CLOSE,MODE_SIGNAL,i);
  
   if(ExtMapBuffer4[i]-ExtMapBuffer3[i]>=0)
   {
      ExtMapBuffer1[i]=ExtMapBuffer4[i]-ExtMapBuffer3[i];
   }
   else
   {
      ExtMapBuffer2[i]=ExtMapBuffer4[i]-ExtMapBuffer3[i];
   }  
}  




バッファの4でメインのラインを、バッファの3でシグナルのラインを計算します。

ヒストグラムはメインのラインとシグナルラインの差です。

その差が0以上ならバッファ1を使ってヒストグラムを描写し、

0より小さいならバッファ2を使って描写します。


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

以下のように表示されればOKです。



次回、もう少し改良してみます。(。・ω・)ノ゙