(追記:2021/3/27)どんなインジケーターでもメール送信機能を使って、LINE通知を送ることができる「LINEおくるクン」が完成しました!Microsoftストアからダウンロードすることができますので、ぜひご覧下さい!
LINEおくるクンのダウンロードはコチラ!
いよいよ、MetaTraderからスマホへLINEアプリを使ってプッシュ通知を送ります。今回は、簡単な例として毎正時に価格を通知するインジケーターを作ってみます。
別記事で、MetaTraderのメール送信機能で、LINEアプリへプッシュ通知を送る方法もご紹介しています。
インジケーターの仕様
今回もざっくりとインジケーターの仕様を決めていきます。
- 毎正時(13時00分、20時00分など)に、LINE Notifyで価格をスマホアプリに通知
- 通知する価格は、インジケーターを設定したチャートの通過ペアのClose値
- LINE Notifyのアクセストークンは、設定ダイアログで設定
やることはとても単純ですが、MetaTraderからLINEへメッセージを送信するのは、そう簡単ではありません。もちろん標準の関数やライブラリの組み合わせでは、実現できません。
LINEへのメッセージへの送信は、別途作成したDLLを使います。
DLLの作成は、Windowsアプリケーション開発の知識、開発環境の準備など、結構な難易度の高さになります。ですので、今回はインジケーターの動作原理と使い方をご紹介します。文末にインジケーターとDLLをダウンロードできるようにおいておきます。
インジケーターはこうやって動いている
MetaTraderからLINEアプリへメッセージを送るために、今回ご紹介するインジケーターは以下のような形で実現しています。
①送信メッセージの通知
正時になると送信したメッセージをDLLへ渡します。今回は、その時点での価格ですので「107.122」といったものです。
EventSetTimer関数で定期的にOnTimerイベントハンドラを呼び出し、TimeLocal関数で現在時刻をチェックします。「分」が00であれば、DLLを呼び出すようにします。
DLLを呼び出すときに、みなさんが取得したLINE Notifyのアクセストークンを引数で渡しています。
②LINE Notifyへアクセス
このDLLでは、LINE Notify、LINE Message APIの仕様に従ってメッセージを送信しています。
LINE Developers 公式サイト MessageAPI リファレンス
③LINEで受信
DLLの呼び出し、LINE Notifyの設定が正しくなされていればLINEへメッセージが通知されます。
LINEAlarmの使い方
インジケータを一式をダウンロードしてください。
2017/11/3(金)
LINEAlarm.zip(Ver.1.0 zip : 25,712バイト)
下記の免責事項を確認してダウンロードしてください。ダウンロードした場合は、免責事項に同意したものとみなします。
以下の環境・条件で動作を確認しています。
Windows XP / Windows 7 / Windows 10
Microsoft .NET FrameWork 3.5以上が動作可能であること
日本語版OSのみ確認済み
VPSや日本国外では動作確認はしておりません
免責事項
これはPCから、スマホのメッセージアプリ「LINE」へLINE Notifyを使ってメッセージが送信できるかを確認するテストインジケーターです。このインジケーター、プログラムを利用した事によって何かしらの損害を被った場合でも、当サイト管理者は責任を負いません。
また、プログラムを改造、リバースエンジニアリングなど、本来の目的と異なる利用方法により、何かしらの損害を被った場合でも、当サイト管理者は責任を負いません。
1.インジケーターの置き場所
一般的なインジケーターとファイルの置き場所は一緒です。
zipファイルを解凍すると「LINEAlaram.ex4」「LineMT4Lite.dll」の2つができたことを確認してください。この2つをお使いのMetaTrader4の「Indicatorフォルダ」に移動してください。
MetaTraderを実行してチャートウインドウに、LINEAlarmをドラッグ&ドロップするか、メニューからLINEAlaramを挿入してください。
2.設定ダイアログ
設定ダイアログのポイントは2つ「DLLの使用を許可する」と「アクセストークンを設定する」です。
インジケーターが読み込まれると設定ダイアログが表示されるので「全般」タブを選択してください。
「DLLの使用を許可する」にチェックを入れてください。
次に「パラメーターの入力」タブを選択してください。
「LINE NOTIFY のトークン」という項目がありますので、「値」のところにアクセストークンを入力してください。
LINE Notifyのアクセストークンの取得がわからない場合は、こちらをご覧ください。
これらの設定が完了したらOKボタンを押してください。
正しく設定されていれば、LINEアプリに「開始」というメッセージが届き、毎正時に価格が通知されます。
正しく動作したときのスマホ画面のイメージです。(PCのローカル時刻が若干進んでいて、スマホ上では59分になっています。。)
さいごに
毎正時に価格が通知されて便利か??という根本的な疑問はありますが、MetaTraderからLINEへメッセージを送信するための実験ととらえてください。
メッセージを送る部分は共通なので、このDLLを使って他にもインジケーターを作成予定です。
もし、ご要望があれば開発してみたいと思いますので、お気軽にコメントを残してくださいね。
BUYオーダーがでたら、LINEに送りたいのですが、どうしたらいいのでしょうか?