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

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

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

それでは start を作成します。

今回のロジックでは、

RSI が Upper_Alert の設定値を超えたら下矢印を表示し、

Lower_Alert の設定値を下回ったら上矢印を表示するようにします。

また、矢印が出ると同時に音を鳴らします。

派手に音を鳴らしちゃいましょう。


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

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

   if(ExtMapBuffer1[i+1]<Lower_Alert && ExtMapBuffer1[i+2]>=Lower_Alert)
   {
      ExtMapBuffer2[i]=ExtMapBuffer1[i];
      ExtMapBuffer3[i]=0;
      Alert("Upper");
   }
   else if(ExtMapBuffer1[i+1]>Upper_Alert && ExtMapBuffer1[i+2]<=Upper_Alert)
   {
      ExtMapBuffer2[i]=0;
      ExtMapBuffer3[i]=ExtMapBuffer1[i];
      Alert("Lower");
   }
   else
   {
      ExtMapBuffer2[i]=0;
      ExtMapBuffer3[i]=0;
   }





前回のバンドタッチの時と同様に、

過去の足の方から現在に向かって計算していきます。


上矢印を出すのは Lower_Alert を下回った時なので、

1本過去の値が Lower_Alert より小さく、

2本過去の値が Lower_Alert 以上の時
、と条件を設定します。

下矢印は Upper_Alert を上回った時なので、

1本過去の値が Upper_Alert より大きく、

2本過去の値が Upper_Alert 以下の時
、と条件を設定します。


Alert は ( ) 内のメッセージを表示して音を鳴らすコマンドです。


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

音がけたたましく鳴ると思います。(笑)

矢印が表示され、



以下のようなウインドウが表示されると思います。



Alert を使用すると、音が鳴ると同時に警告のウインドウが開きます。

この状態では、音は鳴りますが色々と問題がありますので、

次回その問題を修正したいと思います。

では~ ヾ(@^▽^@)ノ



 
では~、今回も宣言項目から行ってみましょう

以下を付け足してください。

#property indicator_width2 2
#property indicator_width3 2
#property indicator_level1 30
#property indicator_level2 70
#property indicator_levelcolor Silver
#property indicator_levelwidth 1
#property indicator_levelstyle STYLE_DOT





indicator_width で矢印の大きさを設定します。(こちら

3 だと大きいと思ったので 2 にしましたけど、

大きいのがいい人はお好みで設定してくださいね~。


その下は、レベルラインの設定です。

30 と 70 に銀色で点線を引きます。

この辺りも好みがあれば、自由に変更してみてくださいね。(こちら


その次に init です。

以下をドーンと追加してくださいね。

IndicatorShortName("RSI("+RSI_Period+")+Alert");
SetIndexLabel(0,"RSI");
SetIndexLabel(1,NULL);
SetIndexLabel(2,NULL);
IndicatorDigits(1);
SetIndexDrawBegin(0,RSI_Period);
SetIndexDrawBegin(0,RSI_Period);
SetIndexDrawBegin(0,RSI_Period);




IndicatorShortName でインジケーター名前の設定をします。(こちら

今回は少し長めです。

SetIndexLabel でラベルの名前の設定は、0番だけ RSI にして、

1番2番の矢印は表示なしです。(こちら

IndicatorDigits で小数点以下の桁数を1に設定します。(こちら

SetIndexDrawBegin でインジケーターを描写し始める位置を決めます。(こちら


そんなこんなで、次回は start を説明します。

お楽しみに~。




 
前回までチャートに矢印を表示するインジケーターを作成していましたが、

矢印を表示するタイミングで音が出るように作成してみます。

RSIがある数値になった時に矢印を表示して音を鳴らします。

これで寝てても大丈夫ですね。(@ ̄ρ ̄@)zzzz

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



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

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

RSI_Period 14
Upper_Alert 80
Lower_Alert 20


と設定します。



Indicator in separate window」、「Minimum」、「Maximam」にチェックを入れ、

最小と最大を 0 と 100 に設定します。

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

Type Color Symbol を

Line Yellow
Arrow Magenta 233
Arrow Aqua 234

に変更します。



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

次回からプログラムしていきます。 ヾ( ´ー`)