LINE通知する(インクルード)
ああ、XXになったらLINE通知したい!って時に、Print("")っぽく使いたい人におすすめ
まずはアクセストークンを取得してください!(ネットで調べてね)
次に以下のインクルードを作成して・・・
LineNotify.mqh
(string accessToken には出力したアクセストークンを記載してください)
//+------------------------------------------------------------------+
//| LineNotify.mqh |
//+------------------------------------------------------------------+
#ifndef __LINENOTIFY_MQH__
#define __LINENOTIFY_MQH__
// アクセストークンの定義
string accessToken = "xxxxxxxxxxxxxxxxxxx"; // ここに実際のアクセストークンを設定
void SendLineNotification(string message)
{
string url = "https://notify-api.line.me/api/notify";
string headers, error;
char post[], result[];
string postData = "message=" + message;
int res_len = StringToCharArray(postData, post);
headers = "Authorization: Bearer " + accessToken + "\r\n"
"Content-Type: application/x-www-form-urlencoded\r\n";
int res = WebRequest("POST", url, headers, 3000, post, result, error);
if(res != 200)
{
Print("Error sending Line notification. HTTP response code: ", res);
Print("Error description: ", error);
Print("MQL5 Error code: ", GetLastError());
}
else
{
Print("Line notification sent: ", message);
Print("HTTP response: ", CharArrayToString(result));
}
}
使い方はこんな感じで
例は、MetaQuotes\Terminal\XXXXXXXXXXX\MQL5\Include\WinAPI 下に置いた場合。
Include下に保存した場合は、#include <LineNotify.mqh>でOK!
#include <WinAPI\LineNotify.mqh>
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
// 開始通知
string message =
string(_Symbol) + " : trade start!\nオラワクワクすっぞ!" ;
SendLineNotification(message); // LineNotify.mqhで定義された関数を呼び出す
return(INIT_SUCCEEDED);
}
追加でMT5にwebアクセスを許可しないといけません!
サーバへのアクセスを有効にするには、URL "https://notify-api.line.me"をメインメニュ->ツール->オプションの 「エキスパートアドバイザー(EA)」タブの許可されたURLのリストに追加してください!
簡単なので試してみてね!
お疲れさまでした( ^^) _U~~
応用して、死活監視も可能です
MQL5コード一覧はコチラ