MT4 無料/広告なし LINE等にポジション情報や指定値到達情報などを通知するEA

MT4を使用されていて、EAなどで自動化やトレールなどを使用している方も多いかと思います。
そんな方で、EAが自動でポジションを取得したり、決済したりするのをLINEなどで通知を受けたいと思ったことはないでしょうか。

ここでは、そんな方へ、LINEやe-mailへ以下のような情報を通知するEAをご紹介します。(無料 / 広告通知などもありません)
※LINEへの情報通知するために使用しているAPIの都合上Indicatorでは実現できませんので、EAにて実装しております。

Contents

1. 機能一覧

下記に記載する、「通知先」へ「情報Type」を通知することが出来ます。

1-1. 通知先:

  1. LINE
  2. e-mail
    ※その他Facebook messengerやWhatsAppなどは今後拡張出来たらするかもしれません。

1-2. 情報Type:

  1. ポジションのOpen / Close情報
    1. 通知される情報は以下
      1. Open情報
        1. Open 時刻
        2. Openしたポジションの通貨ペア
        3. Openしたポジションのオーダータイプ(BUY / SELL)
        4. Openしたポジションの価格
        5. OpenしたポジションのLot数
      2. Close情報
        1. Close 時刻
        2. Closeしたポジションの通貨ペア
        3. Closeしたポジションのオーダータイプ(BUY / SELL)
        4. Closeしたポジションの価格
        5. CloseしたポジションのLot数
        6. Take Profit値
  2. 指定通貨ペアの、指定値に到達した場合の通知
    1. 指定出来る値は2つ
    2. 通知される情報は以下
      1. 指定通貨ペア
      2. 指定値
      3. 指定値に到達した時刻(基本1分単位)
      4. Open値(3.の時刻の1分足の情報)
      5. High値(同上)
      6. Low値(同上)
      7. Close値(同上)
    3. 通知Mode
      1. 指定値に到達した最初の1回のみ
      2. 指定値に到達したとき毎回
  3. 指定通貨ペアの、RSI指定値に到達した場合の通知
    1. 指定できる値は2つ
    2. 何分足のRSIか設定可
    3. 通知される情報は以下
      1. 指定通貨ペア
      2. RSI 指定値
      3. RSI指定値に到達した時刻(基本1分単位)
      4. RSI値
    4. 通知Mode
      1. 指定値に到達した最初の1回のみ
      2. 指定値に到達したとき毎回

1-3. 通知周期(条件合致チェック周期):

通知周期は1分間固定。
本EAへ設定した条件と一致するかどうかを1分間隔でチェックし、条件に一致した際に通知するような作りになっています。

2. 使用方法

2-1. 事前準備

LINEや、e-mailへの通知を行う為、事前準備が必要です。
LINEのみでの通知をご利用の方は、LINEの通知設定のみを、e-maiのみでの通知をご利用の方は、e-mailのみを、双方利用されるかたは双方事前準備をお願いします。

2-1-1. LINEへの通知事前準備

LINEへの通知は、LINE公式の「LINE Notify」を使用します。
通知にはアクセストークンが必要なので、Qiitaの[超簡単]LINE notify を使ってみるを参照して取得してみてください。
アクセストークンを取得する際の、

トークン名:なんでもいいです。(本サイトのTOP画では「MT4」を設定した場合の例になります)

通知を送信するトークルーム:トークルームでもいいですし、自分個人宛も設定できます。

発行された、トークンはどこかにメモで退避しておいてください。
EAの設定時に、こちらのトークンを設定します。

アクセストークンが取得出来たら次は、MT4側の設定です。
LINE通知する際に、MT4のWebRequestというAPIを使用するのですが、そのAPIに対して、LINE Notifyへの通知を許可する設定が必要になります。

MT4の「ツール」→「オプション」を開き、「エキスパートアドバイザ」タブを開きます。
その設定画面の中にある、「WebRequestを許可するURLリスト:」にチェックを入れて、下記のように「https://notify-api.line.me/api/notify」を追加してOKを押します。

WebRequest設定

LINE通知に必要な事前準備はこれで全てになります。

2-1-2. e-mailへの通知事前準備

EAからe-mailを送信するには、事前にMT4のE – Mail設定をしておく必要があります。

まず、「ツール」→「オプション」でオプション画面を開きます。

オプション画面を開いたら、「E – メール」タブを開きます。
ここの画面で、「有効にする」にチェックを入れて、送信アドレスやサーバー情報と、通知をe-mailで受信したいメールアドレスの設定を行います。
設定があっているかどうかは、「テスト」ボタンを押すと、テスト送信ができます。

設定が完了したら、OKボタンを押して、MT4に設定を記憶させてください。

[お知らせ]MT4使いのあなたへ

日本の金融商品取引業者にも登録されているゴールデンウェイ・ジャパン社が運営するFXTF のご紹介です。

国内FX業者の中でも最狭水準のスプレッドで有名なFXTFでは、口座開設と2つの指定通貨ペアでの取引を行うだけで1万円のキャッシュバックがあります。

1万円キャッシュバックキャンペーンキャッシュバック受け取り方法:

キャッシュバックの受け取り方法は以下の2つの条件をクリアすることで取引口座へ振り込まれます。

条件1:
FXTFでの新規口座開設
※ここまでだけでも、3000円のキャッシュバックが受け取れます。

条件2:
以下の2通貨ペアそれぞれで1取引、合計2取引を口座開設から10日以内に行うこと。
USDJPY(スプレッド : 0.1銭 原則固定)
GBPJPY(スプレッド : 0.6銭 原則固定)
※取引量は問われないようです。
※この条件を達成すると追加で7000円キャッシュバックされます。(条件1と合わせて合計1万円になります)

その他補足情報:

MT4:利用可
関東財務局長(金商)登録番号:第258号

FXTFはMT4が使えて、スプレッドもとても小さいFX国内業者の為、このキャッシュバックキャンペーン期間中にメイン/サブ口座として開設するのもいいかもしれませんね。
※MT4での指定の取引量の取引を行うと、さらに+5万円がキャッシュバックされるキャンペーンもやっていますがこちらは、指定の取引量がかなり大きいので紹介は割愛させていただきます。

2-2. EAのダウンロード

以下より、EAをダウンロードしてください。

LU_NotifyPosInfo.ex4のダウンロードページはこちら

2-3. ChartへEAの追加

ダウンロードしたEAを、MT4に追加します。
EAを追加するChartはなんでもかまいません。
本EAは、MT4の「取引」タブや「口座履歴」タブの取引情報を参照して、動作する為、どの通貨ペアのChartに追加しても、ログインしている口座のすべての通貨ペアに対して、通知処理を行います。
EA追加方法に関しては、MT4にEAを追加する方法を参照して、EAをChartへ追加してください。

2-4. EAの設定

ChartへのEAの追加する際に、「パラメータの入力」で、通知に必要な情報を設定します。
設定は大きく分けて以下の4種類になります。
A : 通知設定(通知のON/OFFや、通知に必要な情報設定)
B : ポジションのOpen / Closeの通知のON / OFF設定
C : 指定値到達通知設定
D : RSI通知設定

Parameters for EA Page 1
Parameters for EA Page 2

それぞれの設定について、いかに説明します。

2-4-1. 通知設定(A の設定)

まず初めに、上記画像のオレンジ色のAの設定についてです。

IsNotifyInfo :
外部(LINEや、e-mailへの)への通知をするかどうかの設定。通知させる場合はtrueを、通知させない場合はfalaseを設定してください。
※falseを設定した場合は、BやCの設定も無効になります。

notifyTo :
通知先を設定します。
通知先は、LINEまたは、e-mailを選択します。
選択された通知先に情報の通知が届きます。

AccessToken :
LINEへの通知を設定されている場合は、こちらに、前述したLINE notifyで取得したアクセストークンを設定してください。

2-4-2. Open / Closeポジションの通知設定(B の設定)

次に、上記画像の緑色のBにあたる設定についてです。

posNotifyType :
ポジションのOpen / Closeの情報を通知するかどうかの設定です。
設定値の意味は以下です。
POS_NOTIFY:通知を有効化します。
NONE:通知を無効化します。

2-4-3. 指定値到達通知設定(C の設定)

次に、上記画像の青色のCにあたる設定についてです。

alarmNotifyType :
指定値になった場合に通知を行うかどうかの設定です。
設定値の意味は以下です。
ALARM_ONCE:指定値に到達したら、最初の一度のみ通知を行います。
ALARM_LOOP:指定値にするたびに、通知を繰り返します。
NONE:通知しない

※ALARM_ONCEを選択してもう一度同じ設定で通知させたい場合は、本EAを追加しているChartで右クリックを行い、「エキスパートアドバイザ」→「設定」を開き、設定値はそのままで再度「OK」ボタンを押せば再度1回だけ通知が届きます。

Symbol1 :
一つ目の指定値を設定する通貨ペア名を指定します。
MT4でchatを表示させた際に下に表示されるtabの通貨ペア名を設定してください。
空白のまま設定した場合は、一つ目の通知設定は無効となり通知は届きません。

例:OANDA 東京サーバーでのUSDJPYの場合は、「USDJPY.oj5k」を設定します。

AlarmValue1 :
一つ目の指定値を設定します。
Symbol1で指定した通貨ペアのどの値で通知をさせるかを指定します。
0を設定した場合は、一つ目の通知設定は無効となり通知は届きません。

Symbol2 :
二つ目の通知設定用で内容は、Symbol1と同じです。

AlarmValue2 :
二つ目の通知設定用で内容はAlarmValue1と同じです。

2-4-4. RSI通知設定(D の設定)

最後に、上記画像の赤色のDにあたる設定についてです。
下記説明が分かりずらい場合は、mql4の仕様も見てみて頂けたらと思います。
(iRSIのIFをそのまま使用しているParameterもありますので。)

rsiNotifyType :
RSIの値が指定値になった場合に通知を行うかどうかの設定です。
設定値の意味は以下です。
RSI_LOOP :指定したRSI値に到達すると、毎回通知を行います。
RSI_ONCE :指定したRSI値に到達すると、最初の1回のみ通知を行います。
NONE :RSI 値による通知を行いません。

rsiTimeFrame :
RSIの計算を行う時間周期を設定します。
設定は、1分~1ヶ月まで選べます。
通知もこの周期で条件チェックをし、条件に合致した場合に通知を行います。

rsiAveragePeriod :
RSIの計算を行う際の平均周期を設定します。

rsiAppridePrice :
RSIの計算を行う値のタイミングを設定します。
設定できる値は、mql4で定義される、ENUM_APPRIDE_PRICEに記載されるIDが指定できます。

rsiSymbol :
RSIの計算を行う通貨ペアを設定します。
MT4でchatを表示させた際に下に表示されるtabの通貨ペア名を設定してください。
空白のまま設定した場合は、一つ目の通知設定は無効となり通知は届きません。

例:OANDA 東京サーバーでのUSDJPYの場合は、「USDJPY.oj5k」を設定します。

rsiNotifyHighValue :
通知を行いたいRSIの一つ目の値を設定します。
0を設定した場合は、ここの設定に関しての通知は届きません。

rsiNotifyLowValue :
通知を行いたいRSIの二つ目の値を設定します。
0を設定した場合は、ここの設定に関しての通知は届きません。

以上で、設定は終わりです。

通知例:
左:LINEへの通知
右:e-mailへの通知