Windowsの勝手な再起動を事前に通知するインジケーター「320_RebootNotice」


Windowsアップデートによる再起動を事前に音やメールで通知するインジケーターです。
以下の画面のようにWindowsのアップデートで再起動待ちの状態(赤矢印の状態)になったときに通知します。

また、通知時にディスプレイのスリープ解除も行えます。
詳細は後述のディスプレイのスリープ解除についてを参照してください。

再起動待ちの状態の画面

MT5での動作確認済みです。
インジケーターは拡張子を「mq4」から「mq5」に変更して使用してください。
DLLはMT5用を使用してください。
(以降、MT4向けの記述になっていますので、MT5の方は適宜読み替えてください)

ファイルはMT4用のトップページからダウンロードできます。


導入方法(インストール)

ダウンロードしたZIPファイルを適当なフォルダに展開(解凍)後、インジケーター「320_RebootNotice.mq4」は通常のインジケーターと同様にMT4に導入してください。

  1. MT4のメニュー「ファイル」から「データフォルダを開く」をクリックする。
  2. エクスプローラーが表示されたら「MQL4」フォルダ内にある「Indicators」フォルダに当インジケーター「320_RebootNotice.mq4」をコピーする。
  3. MT4のナビゲーターウィンドウで右クリックして「更新」をクリックする。またはMT4を再起動する。
  4. ナビゲーターウィンドウに当インジケーターが表示されたらチャートに挿入する。
  5. 必要に応じてパラメーターを変更する。

DLL「IsReboot.dll」は「Libraries」フォルダに配置してください。(DLLはMT4用とMT5用で異なりますので注意してください)

  1. MT4のメニュー「ファイル」から「データフォルダを開く」をクリック。
  2. 「MQL4」フォルダ内にある「Libraries」フォルダにDLL「IsReboot.dll」を配置。

補足:ZIPファイルはMT4用のトップページからダウンロードできます。


削除方法(アンインストール)

通常のインジケーターと同様にMT4から削除してください。

  1. チャートから当インジケーターを削除する。
  2. MT4のメニュー「ファイル」から「データフォルダを開く」をクリックする。
  3. エクスプローラーが表示されたら「MQL4」フォルダ→「Indicators」フォルダ内の「320_RebootNotice.ex4」や「320_RebootNotice.mq4」を削除する。
  4. MT4のナビゲーターウィンドウで右クリックして「更新」をクリックする。またはMT4を再起動する。

上記インストール時に配置したDLL「IsReboot.dll」を削除してください。
当DLLはレジストリを使用していません。

補足:DLLはMT4を終了させてから削除することをおすすめします。


パラメーターの説明

Custom Indicatorの「パラメーターの入力」の画面イメージ
パラメーターの入力画面

補足:「■」で始まる項目について

当サイトのインジケーターではパラメーターの仕切りとして使用したり、コメント(注記など)を記載するために使用しています。なので値を変更しても何も変わりません。
当インジケーターでは見やすくするための仕切りとして使用しています。

確認開始時刻(0~23)、確認終了時刻(0~23)

再起動待ちの状態を確認する時間帯を指定します。
就寝中は通知を止めたい場合などに指定してください。

注意:確認間隔の設定次第では一切通知されない場合もあり得ますので注意してください。
例えば、確認開始時刻を「9」(9時00分から)、確認終了時刻を「18」(18時59分まで)にして、確認間隔を「720」(12時間)にした場合、当インジケーターをチャートに挿入したのが8時だと、12時間後の20時と次の12時間後の8時(その後も12時間単位なので20時と8時)に確認するが通知時間帯(9時00分~18時59分)ではないので通知されません。

確認間隔(1~1440)(単位:分)

再起動待ちの状態を確認する間隔を分単位で指定します。
この間隔で確認しますので通知時の音声再生もこの間隔で鳴ります。
「頻繁に鳴らしたくない」なら値を大きくしてください。

補足:通知を受けた後、「3時間後にもう一度通知してほしい」といった場合、インジケーターのパラメーターを表示して「確認間隔」を「180(=3時間×60分)」に変更するとインジケーターが再起動され、そこから180分後(3時間後)に通知されます。
なので、「早めに通知してほしいから確認間隔を短く(5分など)するが、通知を受けた後は対処予定時間に合わせて確認間隔を変更(3時間後なら180にする等)して再度通知させる」といった使い方もできます。

毎時0分に確認する(=true)

再起動待ちの状態を確認する時刻を毎時0分にするかを指定します。「true」にすると毎時0分に確認します。

補足:当インジケーターはチャートに挿入された時刻から「確認間隔」で指定した時刻に確認を行います。
なので、例えば、13時23分に挿入した場合で「確認間隔」が「60」の場合は60分後の「14時23分」に確認します。
この指定を「true」にすると「14時00分」に確認します。(その後、60分間隔で、15時00分、16時00分…に確認します)

注意:「確認間隔」が「60」で割れる場合のみ有効です。(60分とか120分とか、時間単位での指定している場合のみ有効)

音声ファイル名(番号)

MT4の「Sounds」フォルダに存在するWAVファイル名、または、MT4やMT5で音を完全再生させるための支援ツール「MT4Sound」で再生する音声ファイル番号を指定します。
ファイル名を指定しない(または指定したファイルが存在しない)場合、または「0」を指定した場合は音による通知は行いません。

補足:「Sounds」フォルダはMT4をインストールしたフォルダ内にあります。
自作のWAVファイルなど、MT4で予め用意されたWAVファイル以外を使用したい場合は、そのWAVファイルを「Sounds」フォルダに格納してから指定してください。

補足:「MT4Sound」を使うとmp3ファイルも再生できますので好きな音楽を流すこともできます。
数秒で鳴り終わるアラーム系の音声ファイルよりも聞き逃す可能性が低くなるかもしれません。

ディスプレイのスリープ解除を行う(=true)

音声による通知時、ディスプレイのスリープ解除を行うか指定します。「true」にするとスリープ解除を行います。
詳細は後述のディスプレイのスリープ解除についてを参照してください。

タイトル

メール通知したい場合に指定します。タイトルを指定するとメール通知します。
指定なし(空文字)の場合はメール通知は行いません。

注意:メール通知を行う場合は、あらかじめMT4のオプションにてメールの設定(SMTPサーバーなど)およびメール送信テストを行ってください。

再送しない(=true)

再起動待ちの状態になった場合、2回目以降の確認でメール通知を行うか指定します。「true」にすると再送(メール通知)しません。

注意:当インジケーターを再起動した場合、再起動前の状態を保持していないため再送(メール通知)されます。


ディスプレイのスリープ解除について

ディスプレイのスリープ解除は、Windowsの「KERNEL32.dll」にある「SetThreadExecutionState」というAPIを呼び出す方法を採用しています。

補足:ディスプレイのスリープとは、例えば以下のようなWindowsの設定画面で「次の時間が経過後、ディスプレイの電源を切る」で指定した時間パソコンを操作しなかったことで自動的にディスプレイの電源が切れたときのことです。

Windowsのスリープを設定する画面

「普段は他の作業をしているのでチャートを見てないが、通知があれば取引するか判断するためにチャートを見る」といった場合、ディスプレイをつけっぱなしだと電気代がもったいないしディスプレイの寿命も縮む、だからといって通知があるたびに電源を入れるとかスリープ解除のためにキーボードやマウスを操作するのは面倒、という方には便利な機能だと思います。

注意:上記画面の「次の時間が経過後、PCをスリープ状態にする」でパソコンがスリープした場合のスリープ解除(つまりパソコンの電源を入れること)はできませんのでご注意ください。
(パソコンがスリープ状態だとMT4も止まっているのでどうしようもありません)


ソースについて

IsReboot.dllについては最低限必要なソースのみ添付されています。リソースファイル(.res)などは添付されていません。


更新履歴

リリース日 バージョン 内容
2021/12/22 1.00 初リリース