omosiroizo’s diary

きままにプログラムLife

MT4のメインチャートで毎時間の00分から15分など指定した時間だけを色分けして、時間内か外か一目で分かるインジケータ

ダウンロード
ux.getuploader.com

f:id:omosiroizo:20180721212249j:plain長方形に色塗つぶしで表示してみたらどうだろうろうか。1分足とかで使うのかな。
結局、サブウィンドウに太線を引くことにしましたw

短い足で使ってくださいね。。。
パラメータ初期値は
・開始分:0
・終了分:15
・色:clrMagenta
・線の太さ
みたいな
適当に変更してお使いください。
サブウィンドウで距離が少しあるのでローソク足の下あたりにだすのもありかと。。。

ちょっと作ってみよ。。
経済指標なんかに使えそうだし。。
//!!_time_zone_v0.mq4
#property strict
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_label1 "time_zone"
#property indicator_type1 DRAW_LINE
#property indicator_color1 clrMagenta
#property indicator_style1 STYLE_SOLID
#property indicator_width1 7
extern int time_from = 0; //開始分
extern int time_to = 15; //終了分
double time_zone;
int OnInit()
{
SetIndexBuffer(0,time_zone);
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[])
{
for( int i = rates_total - prev_calculated - 1; i >= 0; i-- )
{
if (time_from < time_to)
{
if (TimeMinute(time[i]) >= time_from && TimeMinute(time[i]) <= time_to ) time_zone[i] = 1;
}
else
{
if (TimeMinute(time[i]) >= time_from || TimeMinute(time[i]) <= time_to ) time_zone[i] = 1;
}
}

return(rates_total - 1);
}
//+-------------------------------------------------------------