サインツールのサインを検知してLINEに通知を行うMT5専用インジケーター「line-detection-alert」を無料配布しています。
line-detection-alertの使い方
line-detection-alertを使うまでにはLINE Messaging APIの登録や監視対象インジケーターのサインの種類の確認など準備に時間がかかります。
多少大変ではありますが、分かりやすくまとめていますので、是非最後までご確認下さい。

LINEへ通知を行うにはLINEのMessaging APIを無料登録する必要があります。
※LINEへの通知は月200件まで無料になります。
Messaging API未登録の方は関連記事をご確認下さい。

Messaging APIに登録すると専用のIDとチャンネルアクセストークンが発行されるので、その2つを「LINE_チャンネルアクセストークン」と「LINE_ID」に貼り付けます。

line-detection-alertを使用するには「監視対象インジケーターのサインの種類」を確認する必要があります。
インジケーターのサインは「バッファ型」と「オブジェクト型」に分かれています。
「バッファ型」と「オブジェクト型」の確認方法を分かりやすくまとめていますので、「監視対象インジケーターのサインの種類」をお確かめ下さい。
line-detection-alertはMT5専用のインジケーターになります。MT5のダウンロード方法や、インジケーターの導入方法は関連記事をご確認下さい。


※二次配布や販売、自作発言は禁止です。
※本ツールによる損害の責任は負いかねます。
※学習用としてご活用下さい。
バッファ型のサインの確認方法
バッファ型のサインはデータウィンドウに情報が表示されるか表示されないかで確認する事が出来ます。

データウィンドウの構造は基本的に「Date~Spread」のローソク足の情報から始まります。ここで重要になるのが「Spread」以降の情報です。

バッファ型のサインを採用しているインジケーターの場合、Spread以降にバッファ情報が追加されます。
バッファ型サインの具体的な確認方法
まずはサインツールを起動させます。
今回は当サイトで配布している「Simple-ma-touch」と使って紹介します。
サインツール起動後、「表示」より「データウィンドウ」をクリックします。

次に起動させたサインツールのバッファ情報を確認します。
バッファ型のサインを採用しているインジケーターの場合、Spread以降にバッファ情報が追加されます。
今回の監視しているインジケーター(Simple-ma-touch)は、移動平均線にローソク足がタッチした時にサインがでるものですが、サインも移動平均線もバッファで作られています。
Spread以降には「SMA_Touch_Buy」「SMA_Line」と2つのバッファ情報(名前)が表示されています。
このような場合「SMA_Touch_Buy」がバッファ型のサインの名前になります。
サインの名前はプログラマーが決めていますので「Arrow」と書く人もいれば日本語で「上矢印」と書く人もいます。
SMA_Touch_Buyの用に書かれている場合、サインか分かりにくいと思います。

分かりにくい場合は、サインの上にカーソルを合わせて下さい。
カーソルを合わせるとサインの名前が一番下に表示されます。この名前とデータウィンドウの名前は基本的に同じなので、この名前でバッファ型のサインを確認する事が出来ます。
※データウィンドウは「表示」⇒「データウィンドウ」より表示させることが出来ます。
サインにカーソルを合わせても何も出ない時があります。
そのような場合は、値の有無でも確認する事が出来ます。サインにカーソルを合わせて値(今回の場合は159.4193)が入っていれば、それがサイン情報になります。

バッファの確認で最も重要なのは、バッファの番号になります。
Spread以降に表示されるバッファ情報を0番目、1番目、2番目の様に数えます。
今回の場合、バッファのサイン情報は0番目になります。
※バッファのサイン情報が必ず0番目になるとは限りません。移動平均線が上に来ることもあるので必ず何番目にバッファのサイン情報があるか確認して下さい。

バッファ番号確認後、「line-detection-alert」を起動させます。
設定画面が表示されるので「インプット」タブを選択します。
今回はバッファ型のサインを検知したいので、【サイン1】の検知元が「バッファ」である事を確認します。
※検知元がオブジェクトの場合、バッファ型のサインを検知する事は出来ません。

【サイン1】バッファ番号を選択の値をダブルクリックするとプルダウン(0~20)が表示されますのでサインツールのバッファ番号を選択します。
※今回の場合はサインのバッファは0番目なので0を選択します。
サインが2つある場合はサイン2のバッファ番号も同じ様に設定します。
OKボタンを押してline-detection-alertを起動させます。
オブジェクト型サインの確認方法
オブジェクトの型のサインは複雑な図形が使え自由な位置に配置する事ができるが、非常に重たいという性質を持っています。
そのため、サインツールの多くは「動作が軽いバッファ型のサイン」を採用しています。
| 比較項目 | バッファ型 | オブジェクト型 |
|---|---|---|
| 仕組み | 専用の配列(入れ物)に値を入れて表示させます。 | チャート上に図形やテキストを直接貼り付けます。 |
| 動作の軽さ | ◎ 軽い 過去チャートに大量に表示しても動作が重くなりにくいです。 |
△ 重くなりやすい 大量に表示すると、チャートの動作が重くなる原因になります。 |
| 主な用途 | シンプルな矢印や記号によるサインの表示。 | 複雑な図形の描画、自由な位置へのテキスト表示など。 |
オブジェクト型のサインの見分け方

オブジェクト型のサインの見分け方は、データウィンドウにサイン情報が無い事です。Spread以降にサイン情報が無い事が重要になります。
具体的には、まずサインツールを立ち上げます。
次にサインツールのサインにカーソルを合わせて、サインの名前を確認します。
今回使用しているサインツールは、4つのサインが使われており、「Bullish_Signal_Line_Cross_Arrow」「Bearish_Signal_Line_Cross_Arrow」「Bullish_Zero_Line_Cross_Arrow」「Bearish_Zero_Line_Cross_Arrow」と表示されます。
次にデータウィンドウを立ち上げます。

データウィンドウは基本的にDate~Spreadまでが一括りになっており、Spread以降にバッファ情報が表示されます。
もし、バッファ型のサインであればSpread以降にサインの名前が表示されます。
今回のサインツールでは「MACDLine」「SignalLine」「MACD Histgram」「MACD Histgram」と書かれているので、MACDのラインとヒストグラムのみバッファで作られている事が分かります。
この様に「データウィンドウにサインの名前が無い場合は、オブジェクト型のサイン」とお考え下さい。※後で説明しますが100%ではありません。
オブジェクトの確認方法

サインツールにオブジェクトが使用されている場合「CTRL+B」コントロールキーとBを同時押すと「オブジェクト」を確認する事が出来ます。
※チャート上で右クリックをして「オブジェクトリスト」を選ぶ事で表示可能です。

このオブジェクト画面の「すべて」ボタンをクリックすると使用されているオブジェクトの情報が表示されます。
先ほどサインの上にカーソルを合わせた際に「Bullish_Signal_Line_Cross_Arrow」「Bearish_Signal_Line_Cross_Arrow」「Bullish_Zero_Line_Cross_Arrow」「Bearish_Zero_Line_Cross_Arrow」と表示されていましたが、オブジェクトの中にも同じ名前があるので、オブジェクトのサインであることが分かります。
※オブジェクトを使用していないサインツールの場合、「CTRL+B」を押してもオブジェクトは開きません。
サインの名前以降には日付などのデーターが入っていますが、無視して下さい。
具体的なオブジェクトサインの確認方法
まずは、サインツールを立ち上げます。
今回は無料配布されている「macd-true-alerts-indicator」を使って説明します。
サインツールを立ち上げた後、サインツールのサインがオブジェクト型かバッファ型かを確認します。
まずはサイン上にカーソルを合わせてサインの名前を確認します。
「Bullish_Signal_Line_Cross_Arrow」「Bearish_Signal_Line_Cross_Arrow」「Bullish_Zero_Line_Cross_Arrow」「Bearish_Zero_Line_Cross_Arrow」がサインの名前であることが分かります。
次に「表示」より「データウィンドウ」を開きます。

データウィンドウのSpread以降にサインの名前があるかを確認します。
Spread以降にはMACDの情報しかないので、サインの型がバッファではなくオブジェクトである可能性が高まります。

サインが本当にオブジェクトであるか確認するために「CTRL+B」でオブジェクトを開きます。※オブジェクトの「すべて」ボタンをクリックして下さい。
オブジェクトの名前に「Bullish_Signal_Line_Cross_Arrow」「Bearish_Signal_Line_Cross_Arrow」「Bullish_Zero_Line_Cross_Arrow」「Bearish_Zero_Line_Cross_Arrow」があったのでこのサインはオブジェクト型であると判断します。

オブジェクトを開いた後は、サインの名前の上にカーソルをのせて「ダブルクリック」すると、サインの詳細情報が表示されます。

ここで表示される名前は、選択できコピーする事が出来ます。
基本的に「サイン名+日付など」が表示されますので、「サイン名」だけを選択してコピーしておきます。
次に「line-detection-alert」を起動させます。

今回はオブジェクトのサインを検知したいので、【サイン1】の検知元をオブジェクトにします。

【サイン1】のオブジェクト名を入力にオブジェクト名を入力します。(先ほどコピーしたオブジェクト名を貼り付けます。)
line-detection-alertは2つまでサインを検知できますので、検知したいサインの名前を入力します。
「Bullish_Signal_Line_Cross_Arrow」「Bearish_Signal_Line_Cross_Arrow」「Bullish_Zero_Line_Cross_Arrow」「Bearish_Zero_Line_Cross_Arrow」から今回はサイン1にBullish_Signal_Line_Cross_Arrow、サイン2にBearish_Signal_Line_Cross_Arrowを入力しています。
※検知元がオブジェクトで無いとサインを検知しないので、検知元も必ずご確認下さい。
後はOKボタンを押せば完了です。
詳細設定(インプット)について

判定するローソク足は、0が未確定足、1が確定足です。
監視対象インジケーターで未確定足にサインが出た場合でも、設定を1(確定足)にしていると、確定した足のサインを確認してからLINE通知を行います。
ただし、監視対象インジケーターが「未確定足にだけサインを表示し、足が確定するとサインを消す」作りの場合、1(確定足)に設定するとサインを検知できないことがあります。
サインが確定足にも残るタイプのインジケーターであれば、そのまま問題なく使用できます。
「無視する値」は、バッファ検知を使う場合に、監視対象インジケーターのバッファ値がこの数値と同じなら、サインではないと判断して通知しないための設定です。
「監視間隔」は、サインが出ていないかを何秒ごとに確認するかを決める設定です。
起動時や時間足変更に監視対象インジケーターとの処理の衝突を避けるために、line-detection-alertの処理を2秒遅らせてから実行しています。
時間足を変更した際に、監視対象インジケーターの「オブジェクトのサインが消える」事がある場合は、もう少し待機時間を増やして下さい。
基本的に2秒あれば問題ないのですが、監視対象インジケーターの作りが極端に重たい場合は衝突が起きる可能性があります。
時間足のが切り変わる際に、わずかなズレがあり、値が移動する前に通知してしまう事があります。
通知が2個連続で届く場合の多くは前回分と今回分を送っています。前回分が移動する前に通知が行われ、移動した瞬間もサインを検知して送ってしまいます。
このようなズレを解消するため、新しい時間足が発生した後2秒間待ってサインを検知しています。
LINE通知が「通知」の時は、LINEへ通知を行います。「非通知」の時はLINEへ通知を行いません。
LINEの登録について
LINEへ通知を行うにはLINEのMessaging APIを無料登録する必要があります。
Messaging API未登録の方は関連記事をご確認下さい。

Messaging APIに登録すると専用のIDとチャンネルアクセストークンが発行されるので、その2つを「LINE_チャンネルアクセストークン」と「LINE_ID」に貼り付けます。

「LINE_IDを保存」をtrueにすると、PC(ファイル⇒データフォルダを開く⇒MQL5⇒Filse⇒line.txt)の中にLINE_IDとLINE_チャンネルアクセストークンが保存され以降入力しなくても利用する事が出来ます。
しかし、PCのセキュリティーが甘い場合、LINE_IDとLINE_チャンネルアクセストークンが流出してしまう可能性があります。
PCのセキュリティーに自信の無い方は、「false」に変更して、利用する毎にLINE_IDとLINE_チャンネルアクセストークンを入力される事を強く推奨します。
line-detection-alertはMT5専用のインジケーターになります。MT5のダウンロード方法や、インジケーターの導入方法は関連記事をご確認下さい。


※二次配布や販売、自作発言は禁止です。
※本ツールによる損害の責任は負いかねます。
※学習用としてご活用下さい。
【超難関】稀に複雑なサインツールがある

複雑な例として無料配布されている「keys_BBands_alert」を言うサインツールで解説させて頂きます。※ツール自体は素晴らしいものです。
こちらのサインツールはボリンジャーバンドにタッチした際に「四つ葉のようなマーク」と「数字」が出ます。
まずはサインの上にカーソルを合わせて名前の確認を行います。
四つ葉=「ボリバン 上タッチ」「ボリバン 下タッチ」
数字=「keys_BBands_alert202.00BBMethod1_highCounts」「keys_BBands_alert202.00BBMethod1_lowCounts」
次にデータウィンドウを確認します。

データウィンドウには「ボリバン 上」「ボリバン 下」とSpreadの下に書かれています。ここで注意して欲しいのが「ボリバン 上」「ボリバン 下」はボリンジャーバンドのバンドであり、サインでは無いという事です。
「ボリバン 上」「ボリバン 下」はカーソルを合わせると常に値が入っていますので、サインでは無い事が分かります。
この時点でサイン=バッファ型では無い確率が高ります。

次に「CTRL+B」を押して、オブジェクトを表示します。オブジェクトを確認すると「keys_BBands_alert202.00BBMethod1_highCounts」「keys_BBands_alert202.00BBMethod1_lowCounts」の2種類があります。
そのため「keys_BBands_alert202.00BBMethod1_highCounts」「keys_BBands_alert202.00BBMethod1_lowCounts」はオブジェクトと言う事が分かります。

実際に「ob-win-loss-check」に「keys_BBands_alert202.00BBMethod1_highCounts」「keys_BBands_alert202.00BBMethod1_lowCounts」とセットすると勝敗サインが表示されます。
※ob-win-loss-checkは当サイトで無料配布しているオブジェクトのサインを検知して次足の勝率を測定するインジケーターです。


勝敗サイン(画面上では☒マーク)は数字のマークの後に表示されています。
即ち、数字のマークは「keys_BBands_alert202.00BBMethod1_highCounts」「keys_BBands_alert202.00BBMethod1_lowCounts」であり、オブジェクト型のサインと言うことが分かります。
では四つ葉のマークは何なのでしょうか?
現時点ではオブジェクト型なのかバッファ型なのか分かりません。
このパターンはかなり例外なのですが、四つ葉=「ボリバン 上タッチ」「ボリバン 下タッチ」はバッファ型のサインになります。
通常バッファ型のサインはデーターウィンドウに表示されます。しかし、意図的にデータウィンドウに表示させない事も可能になっています。
この場合、ある程度推理する必要あります。

今回のケースでは、データーウィンドウに「ボリバン 上」「ボリバン 下」が表示されています。これはボリンジャーバンドの上バンドと下バンドがバッファで作られている証拠と言えます。
Spread以降を0番 1番と数えますので、「ボリバン 上」が0番、「ボリバン 下」が1番である可能性が高いです。

実際に以前紹介したバッファ型専用の「win-loss-check」で0番と1番で設定すると全ての足で勝敗サインがでます。

※win-loss-checkはバッファ型の勝敗が分かる当サイトが無料配布しているインジケーターです。
ボリンジャーバンドのバンドは全ての足で出ているの、全てに反応してしまいます。
「ボリバン 上」「ボリバン 下」が0番、1番とするならば、「ボリバン 上タッチ」「ボリバン 下タッチ」は並びで順で2番、3番の可能性が高まります。

※画像はバッファ型専用の「win-loss-check」での設定画面


実際に2番で設定すると、「ボリバン 上タッチ」に反応しており、3番で設定すると「ボリバン 下タッチ」に反応しています。
即ち「ボリバン 上タッチ」と「ボリバン 下タッチ」はバッファ型のサインと言う事が分かります。
かなり例外なのですが、サインが「バッファ型」と「オブジェクト型」両方使っていて、「バッファ型」のサインの情報をデーターウィンドウに表示させていないケースも実際にあります。
稀に超難関なサインツールも存在します。
そのような場合は諦める事をおすすめします。






コメントをお待ちしています