MT4入門(10) – 通知に関する関数の使い方(3)

MetaTrader4入門の第10回目です。前回の続きでメールでのアラート通知について説明します。
これはアラートしたい内容を予め指定したアドレスにメールで送ってくれるという非常に便利な機能です。
まず、この機能を使うためにはMT4でオプションの設定が必要となります。
メニューの[Tools]-[Options] から Email タブを選択してください。

ここで、Enable をチェックし、以下の項目に適当な文字列を書き込みます。
SMTP Server :
いわゆるメールサーバー名で普段メールソフトなどで使っているサーバー名を指定してください。ポート番号は通常の25であれば書く必要はありません。
SMTP login :
SMTP password :

これはお使いのメールサーバーが SMTP 認証などログインの認証を行っている場合に指定してください。自分でサーバーを立ち上げている人で認証が必要ない場合もありますが、よくわからない人はメール受信時のユーザー名(ID)とそのパスワードを指定してください。
From:
To:

メールの発信元のメールアドレスと送信先のメールアドレスを指定します。メールアドレスはそれぞれ一つしか指定できません。発信元と送信先は同じでも構いません。
設定し終わったら、その下の Test ボタンを押してみてください。テストメールを送信します。ちゃんと受信できるか確認してみてください。うまくいかない場合、ターミナルウインドウの一番右側のウインドウにエラーメッセージが出ていないかをチェックしてください。エラーがなければ設定項目を再度チェックしてください。
<注意!>MT4の言語を日本語にしていると、設定の項目名が実際と違ったものになっているようです。ご注意ください。
さて、メールの設定がOKになったら、プログラムの方に移ります。
メールを送信するための関数は、ずばり SendMail() です。前回のプログラムの Alert()関数と置き換えるか、ポップアップ表示もさせたい場合は、並べて書いておきます。
前回のAlert()では、以下のような書き方でしたが、SendMail()ではちょっと違います。
Alert(Symbol(), ” hit “, Alert_Price); //アラート表示
SendMail() では、2つのパラメータしか指定できません。それぞれが文字列で、
SendMail(subject, body);
のように、subject がメールの題名で、body がメールの本文になります。
送信する内容が予め決まっていれば、“Mail Alert” のように で文字列を囲ったものを指定します。
ただ、内容が変数によって変わる場合、文字変数と数値変数で書き方が変わってきます。
前回のAlert()関数と同じ内容のメールを送りたい場合、次のように書きます。
SendMail(“Mail Alert”, Symbol()+” hit “+DoubleToStr(Alert_Price,Digits));
送信したい内容に複数の文字列が含まれる場合、という演算子で結合することができます。但し、Alert_Price のような数値変数はそのままでは結合できないので、DoubleToStr() という関数で文字列に変換してやる必要があります。ここで2番目のパラメータ Digits は、現在表示している通貨ペアの小数点以下の桁数を表す予約変数です。EUR/USD では4、USD/JPY では2といった具合です。
こうすることで複数の変数や定数を一つの文字列にすることができます。
プログラムの変更はここだけです。
以上でプライスにヒットしたらメールで通知するプログラムは完成です。これを実行し、プライスにヒットすると、
Subject: Mail Alert
EURUSD hit 1.2110

といった感じのメールが送られるはずです。
このプログラムを Sample7_Ind.mq4 としてアップロードしておきます。
Download Sample7_Ind.mq4
一応、これで通知関連の関数の使い方は終わりにします。
次回は組込みインディケータを使ってカスタムインディケータを作る方法について説明しようかと思います。
今回3日続けて記事を書いたのでちょっとお休みします。
ではまた。
にほんブログ村 為替ブログへ為替ブログランキング 現在14位
「次の記事も読んでみたい!」
と思った方はクリックにご協力ください。↑



コメントは受け付けていません