-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【質問】注文約定照会の情報が更新されない場合がある #854
Comments
カブステーションは日次で再起動されておりますでしょうか |
はい。当日起動しております。 |
@yasuyuki-nakazawa Kabuステーション起動からのログ(アカウント等をマスクしたのみでそれ以外は編集なし)です。 口座のWeb板で注文を確認すると、 今回は、Wiresharkで自作アプリ→Kabuステーションへのリクエストのログも併せて取得したところ、 ご確認よろしくお願い致します。 |
@flamingo4096 ネットワーク的な要因も一因として考えられるのですが、kabuステーションのメニューバーにある接続状態や受信状態を示すアイコンが赤くなったりすることはございますでしょうか? また、詳細な調査のため、可能でしたらログのご提供をお願いしたいと思っております。 |
@satosato125 再現時のメニューバーの表示状態は見ていなかったので、次回再現時は確認するようにいたします。 |
@flamingo4096 |
状況いかがでしょうか? 前回発生時は、発注後に即約定したケースでしたが、今日は指値発注後、しばらくして約定したケースでも発生しました。 >ネットワーク的な要因も一因として考えられるのですが、kabuステーションのメニューバーにある接続状態や受信状態を示すアイコンが赤くなったりすることはございますでしょうか? 前回同様ネットワークログを取っていましたが、約定したと思われるタイミングで、EXECUTIONのpushが来ています。 >これが未達となっている可能性がございます。 注文番号:20240813A02N44865464 必要であればパケットの内容解析等できますので、ご連絡いただければと思います。 |
注文約定照会API(/orders?id=XXX)をリクエストしても、情報が更新されない場合があり困っています。
おそらくですが、kabuステーション自体も約定できたことを認識できてないように見えるため、情報を更新する何かトリガがあれば教えていただきたいです。
概要
環境
Windows10、Python 3.10.11からurllib.requestを使用してAPIリクエストを実行。
注文発注後は、/ordersを使い約定したかをチェックしています。
状況
信用デイトレ新規成行買い発注後、即約定したにも関わらず、注文約定照会APIを実行しても
State:2 処理中(発注送信中)
OrderState:2 処理中(発注送信中)
detail:[0]RecType:1 受付, State:3 処理済、[1]RecType:4 発注, State:2 処理中(発注送信中・訂正送信中・取消送信中)
が返ってくる場合がある。
この状況が3分間継続しました。
全約定した場合、
OrderState:5 終了(発注エラー・取消済・全約定・失効・期限切れ)
となることを期待しています。
買えなかった場合、3分後にキャンセルするコードのため、3分以上放置した場合の状況は不明です。
考慮点
同じ情報が返ってくる状況のため、以下の点について考慮しています。
・流量制限
秒間10件までのため、1回リクエストするたびに0.1秒インターバルを空けています。
・リクエストのキャッシュ①
同一リクエストによるライブラリ内でのキャッシュ回避のため、実際のリクエストは
/orders?id=XXX&dummy=1721265272474848600
のように、毎回変化するダミーデータ(エポックナノ秒)を付加しています。
・リクエストのキャッシュ②
Pythonライブラリでのキャッシュクリア(urllib.request.urlcleanup())をリクエスト毎に呼び出しています。
想定される発生条件?
起動後、しばらくは問題なく、今日は30分ぐらいしたら発生しました。
前日も起動直後は問題なく、しばらくしたら発生しました。
再現性はありそうです。
ログなど
ordersの結果
状況発生時のKabuステーション上の表示
買い発注が注文中のステータスで、フル板に「消」ボタンが有効でした。
押してみたら、注文取り消しの遷移はしましたが、約定済みのためエラーになりました。
Kabuステーションのログ
新規買い発注したところからのログになります。
3分後に買えていないと判断してキャンセル発注するがエラー。
10:23:43にKabuステGUIから手動キャンセル発注するがエラー。
気になる点
①情報取得が正常なときは、Kabuステーションログに
OrderDetail.ID=~~~
のログが出ているようなので、Python側でリクエストが返されている可能性はある。
②①であったとしても、正常なときは、Kabuステーションログに
「UpdatePosition=ID=~~~」
で残高が更新されているはずだが、異常時はそのログがない。
そのため、kabuステーション上の表示においても更新されていないのかもしれない。
The text was updated successfully, but these errors were encountered: