MetaTrader4で自動売買を実現する前に勉強がてらカスタムインジケータを作ってみた。よくある移動平均だけど、終値のほかに高値、安値も表示するようにしてみた。
初めてMT4でプログラミングしてみたんだけど、カスタムインジケータを作るくらいなら超簡単でした。これくらいのものなら、一瞬で作れるね。ハラショーー。
高値を赤、終値を緑、安値を青で表示し、移動平均のパラメータを外だししてみる。
#property copyright "tAkatronix"
#property link "http://freeek.jp"
#property indicator_chart_window
#property indicator_buffers 3
#property indicator_color1 Red
#property indicator_color2 Green
#property indicator_color3 Blue
//---- input parameters
extern int nMA_Period;
double BufHigh[];
double BufClose[];
double BufLow[];
int init()
{
// 初期化
SetIndexBuffer(0,BufHigh);
SetIndexBuffer(1,BufClose);
SetIndexBuffer(2,BufLow);
return(0);
}
int start()
{
int nBars =IndicatorCounted();
for(int i = nBars-1;i >=0;i--)
{
BufHigh[i] = 0;
BufClose[i] = 0;
BufLow[i] = 0;
for(int j=0; j < nMA_Period;j++)
{
BufHigh[i] = BufHigh[i] + High[i+j];
BufClose[i] = BufClose[i] + Close[i+j];
BufLow[i] = BufLow[i] + Low[i+j];
}
BufHigh[i] = BufHigh[i] / nMA_Period;
BufClose[i] = BufClose[i] / nMA_Period;
BufLow[i] = BufLow[i] / nMA_Period;
}
return(0);
}
extern int nMA_Period;
と、したパラメータはインジケータを挿入した時に表示されるダイアログで数値を入力できる。

んで、移動平均のパラメータを4にした結果


[iPhone]Debug Log用マクロ
[iPhone]ActionSheetでCancelボタンが効かない問題
[iPhone]プロパティリストを読み込む NSDictionary
[iPhone]UIImageViewにUILableで動く時刻を貼り付ける