読者です 読者をやめる 読者になる 読者になる

プログラミングでアイデアを具現化したい

あらゆるものを具現化するためにプログラミングを始めました。主にC#

MT4 4本値平均(インジ作成練習用)

MT4(mql)

新MT4対応 FXメタトレーダープログラミング入門より

tos5511.hatenablog.com

前回のインディケーターを改良したもの。
4本値の平均をチャート全体へプロットする。

#property strict
#property indicator_chart_window //チャートウィンドウに表示
#property indicator_buffers 1 //指標バッファの数
#property indicator_color1 clrRed //ラインの色
#property indicator_width1 2 //ラインの太さ
#property indicator_style1 STYLE_SOLID //ラインの種類

double Buf[]; //指標バッファ用の配列の宣言

//初期化関数
int OnInit()
{
   SetIndexBuffer(0, Buf); //配列を指標バッファに関連付ける
   return(INIT_SUCCEEDED);
}

//指標計算関数
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
   int limit = rates_total - prev_calculated; //プロットするバーの数
   for(int i=0; i<limit; i++)
   {
      Buf[i] = (Open[i]+High[i]+Low[i]+Close[i])/4;
   }
   return(rates_total-1);
}

実行結果
f:id:tos5511:20160209222953p:plain