api
python3
zaif
仮想通貨

zaif api (python)でcancel_orderを働かせる

注文取り消し(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をよこせと怒られるので複雑な気分.