2011年4月30日土曜日

12:メールとアラートについて

CustomIndicatorやExpertAdviserを使って

売買ロジックを作成し、シグナルが発生する度、

アラートやメールで知らせてくれる方法がありますが、

使う時には注意が必要です。


 MT4に、あらかじめ用意されている通知用関数に

Comment、Alert、SendMailがあるのですが、

基本的にレート変動時に1度実行してくれればよいので、

int start()の中に放り込みます。

 alertやmailは、シグナルの発生条件に問題なければ、

コード内の条件分岐(if以下)に埋め込みます。

下にごくごく簡単な例を用意してみました。



各自が設定したAlert_Pointに対し、

価格が上抜けもしくは下抜けすると、

アラームが出て、メールが送られます。

(MetaTraderでコンパイル後、名前を付けて保存し、

チャートにアタッチしてください)

//Alert&Mail_sample---------------------------------------------

#property indicator_chart_window
#property indicator_buffers 1
extern double Alert_Point=0;
double Buf[];
int init()
{
SetIndexBuffer(0, Buf);
SetIndexStyle(0, DRAW_LINE, STYLE_DOT, 1, Blue);
return(0);
}
int start()
{
if(Alert_Point == 0) return(0);
int limit=Bars-IndicatorCounted();
for(int i=limit-1; i>=0; i--)
{
Buf[i] = Alert_Point;
}
if(Close[1] = Alert_Point)
{
Alert(Symbol(), " Target up", Alert_Point);
SendMail("Target UP",Symbol());
Alert_Point = 0;
}
if(Close[1] > Alert_Point && Close[0] <= Alert_Point)
{
Alert(Symbol(), " Target down", Alert_Point);
SendMail("Target Down",Symbol());
Alert_Point = 0;
}
return(0);
}

0 コメント:

コメントを投稿