注文取り消し(cancel_order)が機能しない.
zaifapiを1.6.2にアップデートしてから発見した.
"order not found"の例外をドカドカ飛ばしてくる.
cancelOrder.py
# -*- coding: utf-8 -*-
from zaifapi import ZaifTradeApi
key = '自分のkey'
secret = '自分のsecret'
order_id = 100 # 注文ID
zaifp = ZaifTradeApi(key, secret)
zaifp.cancel_order(order_id) # 注文取り消し
BCH/BTCとか,XEM/BTCとかで起こる.
公式ドキュメントはなんとv1.1.1までしか見つからない.v1.6.2まで変化はないということなのか・・・?
解法は「通貨ペアまで指定」
zaifp.cancel_order(order_id, 'bch_btc') # 注文取り消し
たぶん,指定した通貨ペアの中で注文IDを探しているのだろう.
公式ドキュメントでは「必須でない」とされていたが,
きっとそれはBTC/JPYの話なのだろう.わかりにくい.
少なくともBCH/BTCとかの通貨ペアはv1.6.2において指定必須だった.
active_ordersみたいにデフォルトで全部探してほしい
文句(ポエム)
関係ないがactive_ordersで貰える注文IDはなぜかstr型.
おそらく辞書の長所を活かしているんだろうが,
cancel_orderではintをよこせと怒られるので複雑な気分.