SSブログ

移動平均線を作成してみる [ ・Custom Indicator作成]

移動平均線の作成をしてみる。線の色は赤。で間隔は14で。

●最初の部分を修正。
最初の部分こんな感じに変更。

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red

//---- buffers
double ExtMapBuffer1[];

//---- span
extern int Span = 14;

・最初の設定はいつもと同じ感じ。間隔は14の移動平均を引くのでextern int Span = 14;で指定。

●次にinit内を修正
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
//----
return(0);
}

・ここもいつもと同じ。

●最後にstartを修正。ここで移動平均の計算
int start()
{
//----
  for(int i=0; i<Bars; i++){
   ExtMapBuffer1[i] = 0;
   for(int j=0;j<Span;j++){
    ExtMapBuffer1[i]= ExtMapBuffer1[i] + Close[i+j];
   }
   ExtMapBuffer1[i] = ExtMapBuffer1[i]/Span;
  }
//----
return(0);
}

・14個分の終値を足して14で割る。Close[0]が現在値なのでClose[1]、Close[2]。。。Close[13]まで足して14で割ったものを現時点のExtMapBuffer1[0]へ入れる。

・14個分の終値を足し始める前に保存用のExtMapBuffer1を0でクリア。

いつもと同じで、コンパイルしてエラーが無いことを確認。MetaTrader側のチャート上に表示されている指標を一旦削除して新たによみこむと
1.JPG

ここでちょっと問題。チャートの時間足を日足に変更して、チャートにマウスをあて左クリックして、右へ右へと画面スライドさせていくと、データ表示開始部分(14個分のデータがそろっていない部分)の表示がおかしくなる。過去なのでさほど気にならないが。
2.JPG
タグ:MetaTrader
矢印記号を表示してみるproperty① ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。