bitFlyerでのメンテナンスについては以下の記事で解説しています。
https://kennejs.com/entry/2019/04/28/083212
この記事ではLiquid by Quoineの日次メンテナンス時の挙動について簡単に解説します。
Contents
Liquid by Quoineで注文できていなかったらメンテナンスを疑ってみよう
Liquid by Quoineのメンテナンス時間は午前6:55頃から午前7:05頃の約10分間となります。
この時間帯に注文ができていなかった場合はメンテナンスが原因となります。
制限が発生するのは注文入力・訂正・取消です。
詳細は以下のリンクを参照してみてください。
メンテナンス実施のお知らせ – Liquid by Quoine(リキッドバイコイン) Help center ~登録から取引までご案内~
メンテナンス中に注文した際の挙動
Liquid by Quoineでメンテナンス中に注文を発注した場合、responseにエラーメッセージが返ってきます。
以下のようなコードの場合、resにエラーメッセージが返ります。
〜省略〜 request(options, function (err, response, payload) { if(err){ console.log(err) } let res = JSON.parse(payload); console.log(res) });
正常時
{ id: 1015837637, order_type: 'limit', quantity: '0.001', disc_quantity: '0.0', iceberg_total_quantity: '0.0', side: 'buy', filled_quantity: '0.0', price: 500000, created_at: 1556726042, updated_at: 1556726042, status: 'live', leverage_level: 1, source_exchange: 'QUOINE', product_id: 5, product_code: 'CASH', funding_currency: 'JPY', crypto_account_id: null, currency_pair_code: 'BTCJPY', average_price: 0, target: 'spot', order_fee: 0, source_action: 'manual', unwound_trade_id: null, trade_id: null }
メンテナンス時
{ errors: { order: [ 'product_disabled' ] } }
res.idを戻り値にして後続処理していたりするとundefinedが返ってくるような挙動になります。(エラー原因に気付きにくい!)
注文入力・訂正・取消ができないので、価格の取得は可能です。
アービトラージシステムの場合、価格差の取得はできてしまうのでメンテナンス時間帯は注文を発注しないように制御しておきましょう。
メンテナンスには目を配ろう
日次メンテナンスの他に不定期で臨時メンテナンスが入る場合があります。
直近では2019/3/4に午前6:55頃から30〜60分程度の臨時メンテナンスが実施されています。
【2019年3月4日】メンテナンス実施のお知らせ – Liquid by Quoine(リキッドバイコイン) Help center ~登録から取引までご案内~
臨時メンテナンスに対応するために、システムに持たせるメンテナンス時間は可変で変更できるようにしておくと安心です。
また、臨時メンテナンスを見落とした際のリカバリ策として、発注を一定時間止めるロジック等も検討しておいた方がシステムの可用性が上がります。
API利用時のメンテナンス時間のまとめ
メンテナンス時間中は他の時間に比べて価格差が発生しやすいので、優先度高めで対応しておく必要があります。
私は日次メンテナンス開始のアナウンスを見落としており、月数回ぐらいの高頻度で誤発注を発生させていました。
bitFlyerについてもメンテナンス時間が設定されているので、アービトラージでbitFlyerのAPIを使いたい場合はbitFlyerについても考慮した設計をしておきましょう。
おすすめ記事
https://kennejs.com/exchange-select
APIを自作したらVPSで稼働させてみよう。
コメントを残す