websocketでticker,orderbook,trade情報を取得しようとしてハマるの回」を書いたのですが、今回はorder(注文情報)を取得しようとしてハマったお話です。・quote・trade・execution・margin・position・instrument・order・orderBookL2の8個です。instrumentなどの全部のメッセージで上記の4つすべてのアクションが通知される訳では無いようです。私が調べたところでは以下のようでした。insertのみ通知される。execution配列に追加されていくタイプの情報ですね。updateのみが通知される。instrument一つのデータを更新していくタイプの情報ですね。orderBookL2今回ハマったのは「order(注文情報)」です。order(注文情報)には「delete」アクションが通知されない?ご存知のように注文には発行、約定、キャンセルなどの操作があり、当然キャンセルした注文は注文リストから削除されるはずです。注文情報メッセージには「delete」アクションが通知されません。0注文が削除されたこととするらしいのです。(元祖bitme_websocketの作者のプログラムを読む限り)ごく稀にupdateアクションで例外発生Puppeteerに移植した「魔改造bitmex_websocket」で快調に情報を収集していた時、ごくごく稀にですが「update」アクションで例外が発生していました。更新しようとしたデータが「存在しない」ということで配列境界違反例外が発生していたのです。運転に差し支えなかったのですが何か気持ち悪いです。原因を調査することにしました。プログラム中にログを散々仕込んでから運転開始。すると次のような現象が観測されました。の”update”アクションにて注文終了のはずです。0」メッセージに続いて、通常メッセージのupdateアクションが通知されていました。データから削除していた注文情報を更新しようとして例外を起こしていたことがわかりました。の”update”アクションにて注文終了のように通常のupdateアクションを挟むように終了のupdateメッセージが通知されていたのです。2回終了が通知されているからと言って、決して注文が復活した訳では無いようです。0」による注文終了の判断が間違っているのか、サイト側の処理の都合なのか?しかし結果的に注文終了には変わり無いようなので、存在しない(削除された)注文への更新処理は大人の対応で「無視」することにしました。念のためデバッグログは残しておきます。仮想通貨自動取引bot開発フレームワークgitlab.com楽しいbotライフを!ダウンロード#仮想通貨#python#暗号通貨#BOT#bitcoin#WebSocket#puppeteer#bitmex_websocketこの記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。ソフトウェア・エンジニアを40年以上やってます。「Botを作りたいけど敷居が高い」と思われている方にも「わかる」「できる」を感じてもらえるように頑張ります。サポートをする「スキ」を押してクリエイターを応援しよう!わたしもスキです♪6おさむくんソフトウェア開発40年以上の実績を活かして、初心者・中級者の方にトレードBotの作り方を丁寧に伝授します。Pythonを基本に、最新かつ有効な手法を取り入れます。クリエイターへのお問合せnoteカイゼン目安箱クリエイターの。