移動平均線のクロスでアラートとプッシュ通知させる。

sitemap
世界最強のFXキャッシュバックサイト
移動平均線のクロスでアラートとプッシュ通知させる
公開日:2018/05/20
先日、「MT4からスマホにプッシュ通知を送る」という記事を書きました。

この機能があると、なかなか便利だと思い、以前作成したインジゲーターにこの機能を追加してみました。

今回、この機能を追加するインジゲーターは、

CROSS_MA01

2本の移動平均線がクロスしたときに矢印を表示させるというシンプルなものです。

このインジゲーターに追加機能として、2本の移動平均線がクロスしたときにアラートとプッシュ通知もさせるように作成してみました。

以下から作成過程を説明していきます。
ソースコードの説明①
先ほども書きましたが、今回は管理人が作成したインジゲーターのCROSS_MA01を改造して作ります。

まず、アラートとプッシュ通知をするタイミングはどこにするかですが、

単純に矢印を表示させるところにコードを追加してみました。

上矢印と下矢印を表示させる部分を抜粋して説明します。

BufBuy[i] = EMPTY_VALUE;
①if(BufMA01[i+2] <= BufMA02[i+2] && BufMA01[i+1] > BufMA02[i+1])
{
②BufBuy[i] = Low[i]-10*Point;
③Alert("上矢印アラート");
④SendNotification("上矢印プッシュ通知");
}

BufSell[i] = EMPTY_VALUE;
⑤if(BufMA01[i+2] >= BufMA02[i+2] && BufMA01[i+1] < BufMA02[i+1])
{
⑥BufSell[i] = High[i]+10*Point;
⑦Alert("下矢印アラート");
⑧SendNotification("下矢印プッシュ通知");
}

まずは、上矢印を表示させる部分ですが、

if文でクロス条件が書かれた①の部分

そして、②の部分で上矢印を表示させています。

この下に今回追加したいコードを追加していきます。

③Alert("上矢印アラート");
上矢印が表示されると同時にアラートが鳴るように追加。

④SendNotification("上矢印プッシュ通知");
上矢印が表示されると同時にプッシュ通知するように追加。

同様に、下矢印を表示させる部分は、

⑤の部分にクロス条件が書いてあります。

⑥の部分で下矢印を表示させているので、この下に追加していきます。

⑦Alert("下矢印アラート");
下矢印が表示されると同時にアラートが鳴るように。

⑧SendNotification("下矢印プッシュ通知");
下矢印が表示されると同時にプッシュ通知するように。

これでコンパイルしたところ、エラーが出ることもなく、無事完了しました。

早速、テストしてみました。

実行結果①
はい、やってしまいました。

このコードだと、インジゲーターをチャートに入れた瞬間から、

ずーっとアラートとプッシュ通知をし続けてしまいます。

鳴りっぱなしです...

ということで、修正します。
ソースコード②
修正する箇所は、

extern int MA01_Period = 20;
extern int MA02_Period = 100;
int timechk = 0;

まず、int型の変数「timechk」を宣言します。

BufBuy[i] = EMPTY_VALUE;
if(BufMA01[i+2] <= BufMA02[i+2] && BufMA01[i+1] > BufMA02[i+1])
}
BufBuy[i] = Low[i]-10*Point;
①if(timechk!=0 && timechk!=Time[i])
{
Alert("上矢印アラート");
SendNotification("上矢印プッシュ通知");
} } BufSell[i] = EMPTY_VALUE; if(BufMA01[i+2] >= BufMA02[i+2] && BufMA01[i+1] < BufMA02[i+1]) BufSell[i] = High[i]+10*Point; ②if(timechk!=0 && timechk!=Time[i])
{
Alert("下矢印アラート");
SendNotification("下矢印プッシュ通知");
} }
③timechk = Time[0];

①と②の部分にif文を追加します。
現在の足が確定して、次の新しい足になったときにAlertとSendNotificationを実行させるための条件文です。

③の部分で、timechkにTime[0]を代入します。

これで修正完了。

もう一度、コンパイルして実行してみました。
実行結果②
今度はうまくできました。

パソコンのMT4のアラート
パソコンのMT4アラート

スマホのプッシュ通知
スマホのプッシュ通知
まとめ
いかがだったでしょうか?

今回は、単純なインジゲーターにアラートとプッシュ通知の機能を追加してみましたが、

コードの追加とテストも簡単にできました。

この機能があるのとないのとでは、けっこうトレードの負担が変わってくると思います。

今後、インジゲーターやEAを作成するときには、ぜひとも追加していきたいです。

最後に、今回作成したインジゲーターは、

「CROSS_MA01_Alert_Push」

とい名前で公開しています。

それでは、また。
今回使用したMQL一覧
関連ページ
スポンサードリンク
Twitter