omosiroizo’s diary

きままにプログラムLife

MT4で陽線や陰線が5連続以上するとアラートを出すインジ

 

ちょっと時間がたってしまいましたが。。

最新版はこちらです

!!_Candle_alert_v0.mq4

https://ux.getuploader.com/omox/download/5

パラメータで間隔を変更出来ます。(このバージョンはいちおう3本連続でアラートが出るようになっています。)

extern int AlertInterval = 20;//アラート間隔(秒)
extern int AlertLebel = 3;//アラートローソク足本数以上
extern int SetTimer = 5;//計算間隔(秒)

 

  アラート間隔を指定できるようにして、アラート表示で通貨ペアと時間足がでるようにしました。

なにかご要望があれば、コメントお願いします。

// Candle_alert_v0.mq4
#property indicator_chart_window
extern int Alert_Seconds = 5;
int init()
{
return(0);
}

int start()
{

if(
(iClose(Symbol(),Period(),0)-iOpen(Symbol(),Period(),0))>0 &&
(iClose(Symbol(), Period(),1) - iOpen(Symbol(), Period(),1))>0 &&
(iClose(Symbol(), Period(),2) - iOpen(Symbol(), Period(),2))>0 &&
(iClose(Symbol(), Period(),3) - iOpen(Symbol(), Period(),3))>0 &&
(iClose(Symbol(), Period(),4) - iOpen(Symbol(), Period(),4))>0
)
{
XAlert();
}else
if(
(iClose(Symbol(),Period(),0)-iOpen(Symbol(),Period(),0))<0 &&
(iClose(Symbol(), Period(),1) - iOpen(Symbol(), Period(),1))<0 &&
(iClose(Symbol(), Period(),2) - iOpen(Symbol(), Period(),2))<0 &&
(iClose(Symbol(), Period(),3) - iOpen(Symbol(), Period(),3))<0 &&
(iClose(Symbol(), Period(),4) - iOpen(Symbol(), Period(),4))<0
)
{
XAlert();
}

return(0);
}

void XAlert()
{

static datetime t = TimeCurrent();
Alert(Symbol()+" "+Period());
if(t + Alert_Seconds -1 < TimeCurrent())
{
Alert(Symbol()+" "+Period());
t = TimeCurrent();
}

}

 

 最初のソースです

// Candle_alert_v0.mq4
#property indicator_chart_window

int init()
{
return(0);
}

int start()
{

if(
(iClose(Symbol(),Period(),0)-iOpen(Symbol(),Period(),0))>0 &&
(iClose(Symbol(), Period(),1) - iOpen(Symbol(), Period(),1))>0 &&
(iClose(Symbol(), Period(),2) - iOpen(Symbol(), Period(),2))>0 &&
(iClose(Symbol(), Period(),3) - iOpen(Symbol(), Period(),3))>0 &&
(iClose(Symbol(), Period(),4) - iOpen(Symbol(), Period(),4))>0
)
{
Alert("Candle 5 UP");
}else
if(
(iClose(Symbol(),Period(),0)-iOpen(Symbol(),Period(),0))<0 &&
(iClose(Symbol(), Period(),1) - iOpen(Symbol(), Period(),1))<0 &&
(iClose(Symbol(), Period(),2) - iOpen(Symbol(), Period(),2))<0 &&
(iClose(Symbol(), Period(),3) - iOpen(Symbol(), Period(),3))<0 &&
(iClose(Symbol(), Period(),4) - iOpen(Symbol(), Period(),4))<0
)
{
Alert("Candle 5 Down");
}

return(0);
}