ヘルシーチェック

データ収集ツールでは、岡三RSSが正常動作しているか定期的にチェックしている。
チェックするレベルは次の2段階

  • 岡三RSSが立ち上がっているか?
  • Excelファイルのデータが更新されているか?

以前、岡三RSSがログアウト状態でデータが全然更新されていなかったことがあった。
対策として、このようなヘルシーチェック機能を入れた。

ログイン状態とログアウト状態のタスクトレイアイコンはこんな感じ

岡三RSS自身の状態が取得でき、ログアウト状態が判別できれば良いのだが、岡三RSSのマニュアルを見ても判別の仕方が記載されていない。
人間の目で見れば、アイコンの色の違いで判別がつくのだが、プログラムで判別させる方法が分からなかった。
そこで、「岡三RSSが立ち上がっているが、Excelファイルのデータ更新がされていない状態」をログアウト状態と判定するようにした。
ログアウト状態と判断した場合、岡三RSSを再起動する。

岡三RSSが立ち上がっているかどうかの判定は特に難しくないので割愛。
(ググればすぐにメモ帳などの類例が見つかる)
Excelファイルのデータが更新されているかどうかの判定は、

  • 『岡三RSS Excelファイルの内容』で紹介したヘルシーチェック用セルに「0」を書き込む
  • 10秒後に同セルの内容を読み込む
  • 読み込んだデータが0より大きければデータ更新がされているとみなす

なお、このセルには常に現在値が表示されるようにしている。

1ヶ月程これで運用してみた。
結果は、誤判定だらけだった。
つまり、ログイン状態であるにもかかわらず、ログアウト状態と判定してしまう。
2~3日に1回くらい発生した。
実際に何回かその瞬間を目撃した。ネットワークが切れていた訳でもなかったし、相場も凪の状態であった。

ちなみに、岡三RSSにはネットワーク接続が切れると自動復旧する機能がある。
そして、ログを残してくれる。(ログが残っていなければ、ネットワーク切断が無かったということが分かる)
他のトレード用ツールでは、一瞬でもネットワークが切れるとアプリを再起動しなければならないものもあるなかで、岡三RSSの自動復旧機能は優れた機能だ。

ヘルシーチェックは15分毎に実施している。
15分毎のチェックで2~3日に1回の誤判定は頻度としては多いように思う。
通常、Excelファイルのデータは、1~2秒ほどで更新される。
それが、10秒たっても更新されていないケースが多々ある。ということだ。
これはこれで問題が大きい。
そう、このような状況がヘルシーチェック用のセルだけでなく、あちこちで発生している可能性があるということだから。
この問題は別途記事にする予定。

とりあえず、ヘルシーチェックはチェックレベル1の岡三RSS起動チェックで運用している。
少なくとも、岡三RSS起動忘れ(人為的ミス)を防いでくれる。
そもそもの、「気が付けばログアウト状態だった」は、今のところ再発していないが、根本的解決に至っていない。

<広告>

TOP