くろ
岡三RSSがフリーズした事がある方に質問です
1日に何度も岡三RSSのデータ取り込みが止まってしまいます(エクセル自体はフリーズしていません)
色々調べると岡三RSSがフリーズする人、しない人がいるようです。PCのスペック等が影響するかとは思います。。。
そこで今まで岡三RSSがフリーズした経験のある方に質問です。
フリーズ対策としてどのような事をされたら改善できましたでしょうか?
現在自動売買システムを構築中なのですが、フリーズしたら自動の意味がなくなってしまいます。フリーズ対策も自動で行うような設定ができればと思っています。
どうぞ宜しくお願い致します。
2019年08月16日
大野 了
くろさん、こんばんは!!
最近、RSSが止まるって方が多いですね・・・
先日も良くフリーズするようになったという方がおられたのですが、
その方は熱暴走されていたと、ここの掲示板でおっしゃられていました。
また、もし最近発生するようになったのであれば、
2019/8月の月例アップデート(WindowsUpdate)でVBAなどが止まってしまう不具合が出ているので
それが原因になっているかもしれません。
自分は止まったことがないので、フリーズ対策はやった実績がないのですが、
もし、岡三RSSがフリーズしたのちに再起動で復活するのであれば・・・
やるとしたら・・・
ほぼ毎秒更新があるような流動性の高い銘柄の現在値時刻を表示させておいて、
その現在値時刻とPCの時間が大きくずれた場合、岡三RSSが更新ができないと判断して、
岡三RSSの再起動をやるぐらいでしょうか・・・
2019年08月16日
くろ
大野さま
アドバイスありがとうございます。
私のフリーズ現象ですが実は何年も前から悩まされていまして、、、、
なるほど時間で判断ですね
VBAでRSSを再起動かけることはできますでしょうか?
2019年08月17日
大野 了
以前、ここの掲示板で岡三RSSを再起動方法が何かないかと聞かれたことがあって、
その時はShell関数を使用してやる方法を提案したのですが、
残念ながら自分は再起動のロジックを埋めていないので、
このやり方が安定して運用できるかまではわかりません・・・(ごめんなさい
もし、そんな方法で良ければ!!
〇RSSの起動
Call Shell("cmd /c ""C:\Users\ユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\岡三オンライン証券\岡三RSS.appref-ms""")
〇RSSの終了
Call Shell("taskkill /im OkasanRSS2.exe /F")
これで岡三RSSの終了と起動はできると思います!!
2019年08月17日
くろ
大野さま
ありがとうございます!!
Shell関数を使ってみたら実行できました。
もう一つ甘えても良いでしょうか
現在時刻とN225miniの時刻の差が20秒以上開いたらタスクを実行しようと思っています。エクセル関数で20秒以上開いたらフラグを立てることまではできたのですが、
特定のセルが変化したら(フラグが経ったら)
→例セルA1の値が1になったら
マクロを実行するというやりかた
つまりセルの値変化し、かつその値が1ならマクロを実行というVBAを場中にずっと監視させるようにするにはどうしたら良いでしょうか?
2019年08月18日
くろ
大野さま
昨晩Worksheet_Changeなどを使ってセルの値が変更されたらフラグを判断するマクロを実行する
という事を考えたのですが、RSS等により実際にセルの値は変更されるのですが、Worksheet_Changeが機能しません。
ただし、セルに直接手打ちでフラグを入力するとマクロは作動します。もしくは全く関係ないセルを選択(ダブルクリック)して放しても作動しました。
つまりWorksheet_Change自体の構文は間違えていなのですが、RSS等による値の自動取得の場合にはWorksheet_Changeと見なされていないようで、、、
なにか岡三RSS自動取得した数値でも変化と見なしてくれるような方法はないでしょうか?
2019年08月19日
大野 了
くろさん、こんばんは!!
Shellでうまくいきましたか!!
良かったです!!
監視の件ですがー
1点質問があるのですが、現在時刻はどのようにしてExcel上更新されていますでしょうか?
もし、セル関数のNow関数を使用されているのであれば、
Excelで再計算しないと時刻の更新がかからないので、
岡三RSSの現在値時刻と20秒差がついた時にフラグを立てるために、
現在、どのようにかして再計算を定期実行されていると思われます。
監視のロジックはその処理の間に入れてあげたらよいと思います!!
また、岡三RSSはフリーズされていても、画面の値の更新はかかる感じでしょうか?
一応、Worksheet_Calculateイベントという再計算が動いた時に動くイベントがありまして、
これは岡三RSSが動いた際にでも動くイベントになります!!
岡三RSSがフリーズするって現象を、岡三RSSが完全に止まってしまって、
動かなくなると勘違いしてました・・・(^^;
ご参考になれば幸いです!!
2019年08月19日
とみ
大野さま
昨年の春までは、Worksheet_Calculateを使ったデータ取得VBAが問題なく動作していましたが、今年になった再度動作させると途中でとまってしまいます。確かにShell関数を使ってRSSを停止して再起動すると無事に動くことは確認できました。最初は2時間程度で停止するのですが、停止間隔が早くなり1分程度でフリーズしてしまいます。これでは、時間による判断で再起動を繰り返すのは問題が多いです。何か本質的な問題があるように思います。フリーズの原因について、もう少しコメントいただけないでしょうか?
windows10を使用していますが、昨年8月アップデートも自動でなされていてタイミング的にはこれも関わっているように思います。これを戻す方法はわかりません。
2021年03月15日
岡三オンライン証券
とみさま
いつも岡三RSSをご利用くださり、誠にありがとうございます。
また、本掲示板へのご投稿もありがとうございます。
今回のこちらのご投稿ですが、以前のスレッドへの投稿のため、大野さまが見つけることができないかと思われます。
大変お手数ではありますが、「新しいトピック」を作成いただけますでしょうか。
その際に今回投稿されたスレッドのURL(下記をご利用ください)を記載いただければ、どのスレッドの話しなのか分かるかと思います。
-------
■岡三RSSがフリーズした事がある方に質問です
https://bbs.okasan-online.co.jp/ont/rss/board/?topic_id=258&page=1#comment_1380
-------
ご面倒をお掛けしますが、よろしくお願いいたします。
2021年03月15日
とみ
はじめてなので勝手がわからずすみません。
「新しいトピック」というのはトップ画面から入力するのでしょうか?
この記事の下のコメント欄に再記述しましたが、間違いのように思えてきました。
2021年03月16日
岡三オンライン証券
とみさま
お世話になっております。
新しいトピックはトップ画面からご入力をお願いしております。
下記URL内にある「岡三RSS集いの広場に行く」をクリックし、該当する項目にある「Facebookにログインして新しいトピックを作成する」から投稿をお願いいたします。
■「岡三RSS集いの広場」ご利用にあたって
https://bbs.okasan-online.co.jp/ont/rss/board/use.html
また、こちらの下部に投稿いただいたご質問においては、こちらで消去させていただきます。
大変お手数をお掛けしますが、よろしくお願いいたします。
2021年03月16日
くろ
大野さま
ありがとうございます。
現在時刻の更新ですが→超アナログでF9ボタンで手動で更新しています。
(F9更新でもフラグの変更はWorksheet_Changeでは無視されてしまいます。Worksheet_Changeはあくまでセルを直接触った時のみに反応します)
岡三RSSのフリーズですが→完全に岡三RSSの更新が止まっていますWINDOWSの画面右下に出る岡三RSSのインジケーターアイコンですが、通常は右クリックすると設定だとか終了だとかの選択肢が出ると思いますが岡三RSSのアイコンは表示されていますが右クリックしても何の反応もありません。つまり岡三RSSが完全にフリーズしてしまっています。
希望の流れはこんな感じなのですが、
①再計算するマクロを走らせる
②現在時刻(now関数)とRSS時刻20秒以上間隔が空いたらフラグを立てる
③フラグを監視するマクロでフラグが立ったら岡三RSS再起動マクロを実行する
大野さまがおっしゃる通り再計算を〇秒ごとに行うマクロもそういえば必要ですね、、、(自分の無知さ加減にあきれています)
ただ、今回の再起動マクロは再計算マクロとは別サイクルで考えたいと思います。
理由は再計算は細かい頻度で行いたい(例2秒ごと)と考えております。
再計算と連動でRSSフリーズのフラグ判断してしまうと、一度フラグが立ってしまうと岡三RSSを終了して再起動している間に再び再計算が入りフラグ判断をしてRSS再起動をしてしまう、、、という無限ループに入ってしまいます。
再計算マクロもそうなのですが、〇〇秒ごとにマクロを実行する(RSS値取得を邪魔しない)という方法をご存じでしたらアドバイス頂けないでしょうか?
希望としては
・2秒ごとに再計算をするマクロを動かす
・20秒ごとにRSSフリーズ監視マクロを動かす
という感じです。
2019年08月20日
大野 了
くろさん、こんにちは!!
なるほど!!
再計算の部分など、作られてる途中だったんですね!!
フラグを建てれたとの事でしたので、何かしらの処理が入ってるのかなーとばかり・・・(笑
いろいろと了解しました!!
VBAにonTimeいう関数がありこの子を使ってあげると、
マクロを定期実行することができます!!
VBAは使われている感じですので、いろいろなものをすっ飛ばして書くと・・・
標準モジュールの中に関数を一つ作り(下の例では"Macro1")
その最後にonTimeで自分自身をもう一度呼ぶとすると、
マクロの定期実行ができるようになります。
下の例ではMacro1というマクロの最後に
自分自身を2秒後に再度呼び出している感じです!!
この中で、2秒ごと(毎回)に再計算
20秒ごと(10回ごと)にフリーズ監視
で良いと思います!!
====================================
Private Sub Macro1()
Dim NextTime As Variant
'ここに監視のPGとか、再計算のロジックとか・・・
NextTime = Now + TimeValue("00:00:02")
Call Application.OnTime(NextTime, "Macro1")
End Sub
====================================
2019年08月20日
くろ
大野さま
ありがとうございます!!
シミュレーションで実効性が確認できました。
あとは実際稼働で試してみてフリーズしても再立ち上げができているのか試してみます。
とても為になりました!!
2019年08月20日
大野 了
うまくいきましたか!!
お役に立てたようでよかったです!!
2019年08月21日