どうも、山口です。
先日このようなご質問を頂きました。
なので今日は私が値動きの荒さを認識している方法を公開します!
機械的な方法なのでテクニックは一切必要ないのが特徴です。
それでは本編をどうぞ!
結論:1時間当たりの変動pipsを見ている
1時間足の始値と現在値の価格を比較して判断しています。
私であればドル円ならこの始値と現在値の差が±30pipsになったら自作のインジケータでLINEに通知が来るように設定しています。
上記のような通知が鳴り、この場合だと強い下降トレンドだということがわかります。
例えばこの後に上昇で30pips変動があれば「急騰(上昇)」の通知が鳴るのでトレンド反発の兆しを一早くキャッチすることもできます。
この方法で1番大事なのは通知が鳴る変動幅の設定を変えないことです。
理由は同じ判断手法を継続することで過去との比較ができ、1日1回通知が鳴っていたのに1日10回通知がなれば値動きが激しいという判断をすることができます。
いつもより通知がうるさい=値動きが激しい
このように覚えるだけの簡単な判別方法です。
LINE通知をさせる設定は慣れていないと1時間はかかるくらい手間ですが、LINE通知によって得られる恩恵はめちゃくちゃデカいので諦めず設定を頑張ってほしいです!
インジケータの使い方と設定
インジケータは無料なのでご安心ください(笑)
欲しい方は公式ラインまでご連絡お願いします。
口座開設とかはいりません。
MT4のIndicatorsフォルダに上記2つのインジケータのファイルを入れます。
MT4を再起動後インジケータの中からJPY_kyuto_alarmをUSDJPYのチャートの時間足H1にドラック&ペーストしてください。Pip_JPYはフォルダに入れるだけで大丈夫です。
パラメータのPips_setの値を変えることで通知が鳴るpips変動値を変えられます。
デフォルトでは30に設定しているのでH1の始値から現在値の価格差が30pipsを超えたら通知がなります。
mail_textについては自由に変えることができるので自分なりに分かりやすい文章にしても大丈夫です!
インジケータの設定はこれだけです。
次にインジケータから出た通知をLINEで知らせる設定について解説します。
インジケータの通知をLINEで知らせる方法
LINEに送る手順としてはGmailに受信したメールをLINEに転送という流れになるので
・MT4のメール設定
・受信メールをLINEに通知する設定
この2つの設定を行う必要があります。
順を追って説明していきます!
MT4からメールを飛ばす設定
MT4のメール送信の設定方法を説明します。
Gmailを使う場合の方法です。既にGmailアカウントを持っている場合はインジケータ専用にアカウントを新規で作成しメールアドレスの取得をお願いします。
※Gmailに受信した全てのメールがLINEに通知されるため
▶Googleアカウント管理に入る
Googleアカウントにログインしアカウント管理に入ります。Google Chromeを開いて下図の①②の順にクリックしてください。
アカウント管理のトップページが表示されるので左側の項目から「セキュリティー」をクリック。
▶セキュリティ設定画面
セキュリティの設定ページが表示されます。中段あたりにある「アプリパスワード」をクリック。(次のステップに行く前に本人確認のため再ログインまたはパスワードの入力を求められる場合があります。)
補足:ここで2段階認証かどうかを確認しましょう!
この画面の中の「2段階認証プロセス」と記載された項目が「オン」となっているかどうかを確認してください。「オン」になっていればあなたのGoogleアカウントは2段階認証になっていますので、このままメール設定を続けてください。「オン」になっていない場合はあなたのGoogleアカウントは2段階認証になっていませんので、後述する「2段階認証ではない場合」の説明に沿ってメール設定をしてください。
▶アプリパスワードを生成する
アプリパスワードの設定画面が表示されます。「アプリを選択」→「その他(名前を入力)」をクリック。
MT4と入力し「生成」をクリック。
↑ここで入力する名前はただの管理用名称です。分かりやすければどんな名前でもOKです。
アプリパスワードが表示されるのでメモする。
↑このアプリパスワードはセキュリティ面で重要です。漏洩しないように注意してください。
▶MT4のメール設定を行う(Gmail)
次にMT4にてメール設定を行います。メニューから「ツール」→「オプション」と進み、下記のオプションウィンドウを開きます。
↑「E – メール」のタブを開き各項目を入力します。入力内容は下表の通り。
項目 | 記入例 |
---|---|
SMTPサーバー | smtp.gmail.com:465 このままコピペでOK。誰でも同じです |
SMTPログインID | 〇〇〇〇@gmail.com Gmailのアドレスを入力 |
SMTPパスワード | ●●●●●●●●●●●●●●●● 先ほど生成した「アプリパスワード」を入力 |
発信元 | 〇〇〇〇@gmail.com Gmailのアドレスを入力 |
送信先 | 〇〇〇〇@gmail.com Gmailのアドレスを入力 |
SMTPログインID、発信元、送信先は全て同じメールアドレスです。
以上でGmailの場合の設定手順は完了です。正しく設定できていれば、MT4の「テスト」ボタンをクリックすると、「Test message」というタイトルのメールが送信されるはずです。
メールをLINEに通知させる設定
次にGmailに受信したMT4からのメールをLINEに通知させます。
LINE Notify(ラインノティファイ)でトークンを取得
1.LINE Notifyの公式サイトへアクセス
2.自分のLINEログイン情報で「LINE Notify」にログイン
3.名前のところから「マイページ」を開く
4.「アクセストークンの発行」(開発者向け)を開き、「トークンを発行する」をクリック
5.「トークン名」を決めて入力し、メールを転送したいトークルームを選択
※トークン名は、通知の際最初に表示されますので、わかりやすい名前がベストです!
例)Gmail転送、メール転送
※トークルームは、自分だけに送りたい場合は一番上に自動で表示される「1:1でLINE Notifyから通知を受け取る」を選択、それ以外のグループに投稿したい場合はグループを選択する。
6.発行するをクリックし、発行されたトークンを忘れずにコピーし、画面を閉じる。
Step2 Google Apps Script(GAS)でLINEへの転送設定
1.Google Apps Scriptの公式ページにアクセスし、「Start Scripting(スクリプトを開始する)」をクリック
※LINEに転送したいGmailのアカウントでログインしていることを確認ください。
2.「新しいプロジェクト」をクリック
3.下記のコードを削除する
function myFunction() {
}
4.下記のコードをコピーし、削除したところに貼り付け
※1行目の”xxxxxxxxxxxxxx”に、先ほどLINE Notifyで取得した「トークン」を入力してください
注意)トークン前後の「”」等が全角になってしまう場合があります。半角になっていることを確認して、保存してください。
var lineToken = "xxxxxxxxxxxxxx"; //LINE notify token
var get_interval = 1; //●分前~現在の新着メールを取得 #--トリガーの時間間隔をこれに合わせる
function send_line(Me){
var payload = {'message' : Me};
var options ={
"method" : "post",
"payload" : payload,
"headers" : {"Authorization" : "Bearer "+ lineToken}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
function fetchContactMail() {
//取得間隔
var now_time= Math.floor(new Date().getTime() / 1000) ;//現在時刻を変換
var time_term = now_time - ((60 * get_interval) + 3); //秒にして+3秒しておく
//検索条件指定
var strTerms = '(is:unread after:'+ time_term + ')';
//取得
var myThreads = GmailApp.search(strTerms);
var myMsgs = GmailApp.getMessagesForThreads(myThreads);
var valMsgs = [];
for(var i = 0; i < myMsgs.length;i++){
valMsgs[i] = " " + myMsgs[i].slice(-1)[0].getDate().getMonth() + "/"+ myMsgs[i].slice(-1)[0].getDate().getDate()
+ " " + myMsgs[i].slice(-1)[0].getDate().getHours() + ":" + myMsgs[i].slice(-1)[0].getDate().getMinutes()
+ "\n[from]" + myMsgs[i].slice(-1)[0].getFrom()
+ "\n\n[subject]" + myMsgs[i].slice(-1)[0].getSubject()
+ "\n\n[Message]\n"+ myMsgs[i].slice(-1)[0].getPlainBody();
}
return valMsgs;
}
function main() {
new_Me = fetchContactMail()
if(new_Me.length > 0){
for(var i = new_Me.length-1; i >= 0; i--){
send_line(new_Me[i])
}
}
}
5.プロジェクト名を書き換え、保存
6.アクセス権の設定「send_line」→「main」を選択し、「実行」をクリック
7.「権限を確認」をクリック
8.連携したいGoogleアカウントを選択
9.「詳細」をクリック後、転送に***移動と書いてある箇所をクリック
10.連携したアカウントであることを確認し、「許可」をクリック
Step3 トリガーの設定
現在の状態では、常にGoogle Apps Script(GAS)のエディター・コード画面内で「▷実行」を押さないと転送されないため、一定時間ごとに自動転送される設定を行います。
1.Step2で作成したGoogle Apps Script(GAS)プロジェクトの画面を開く
2.左の「メニュー」から「トリガー(目覚ましマーク)」をクリック
※目覚ましマークにマウスオンするとでてきます。
3.右下の「トリガーを追加」をクリック
4.下記内容で内容でトリガーを設定
- 実行する関数:main
- 実行するデプロイ:Head
- イベントのソース:時間主導型
- 時間ベースのトリガーのタイプ:分ベースのタイマー
- 時間の間隔:※コード2行目で設定した分を選択(今回の場合は1分でコードを書いているので、1分を選択)
5.最後に少し下にスクロールをして「保存」をクリック
補足
トリガー
「権限を確認」をクリック
8.連携したいGoogleアカウントを選択
9.「詳細」をクリック後、転送に***移動と書いてある箇所をクリック
10.連携したアカウントであることを確認し、「許可」をクリック
さいごに
LINEに通知させる設定は難しいですが、諦めずに設定してほしいです!
いままでより値動きが感じ取りやすくなり、FXが分かりやすくなるはずです!