###前提・実現したいこと
python3.6でシステムを作っています。
zaifという仮想通貨取引所で、定期的に自分が売り注文をしていない時に、既存の買い注文をキャンセルして、新しく買い注文することをできるようにするため、find文を用いて、自分が売り注文をしていないことを確認するプログラムを書いているのですがうまく行きません。
ちなみに、if index < 0: の部分を削除すると、買い注文が成立したときに、既に成約した注文をキャンセルしてエラーを吐いてプログラムが止まってしまいます。
なので、キャンセルする部分に、自分が売り注文をしていない時に(買い注文が成立したら即売り注文となるので)というif文を加えようとしています。
もし、findを用いる以外のやりかたで、成約した注文をキャンセルしてエラーとなるのを回避するやり方をご存知でしたら、そちらでも大丈夫ですので教えていただけたらと思います。
よろしくお願いします。
###発生している問題・エラーメッセージ
C:\Users\hatanaka\AppData\Local\Programs\Python\Python36-32\python.exe C:/zaif/maintwo.py Traceback (most recent call last): File "C:/zaif/maintwo.py", line 17, in <module> index = __builtins__order_number.find('ask') AttributeError: 'dict' object has no attribute 'find' Process finished with exit code 1
###該当のソースコード
# -*- coding: utf-8 -*- from time import sleep from zaifapi import ZaifTradeApi # Zaifの取引のためのクラス from zaifapi import ZaifPublicApi # Zaifが公開している認証情報が要らないAPIを実行するクラス from pprint import pprint # 表示用(jsonをきれいに表示してくれる) if __name__ == '__main__': key = 'himitsu ' secret = 'himitsu' zaif_public = ZaifPublicApi() zaif_private = ZaifTradeApi(key, secret) order_idone = 10000000000000000 # 情報取得 num = 0 while num < 2: order_number = zaif_private.active_orders() index = order_number.find('ask') if index < 0: if order_idone != 10000000000000000: cancel = zaif_private.cancel_order(order_id=order_idone) pprint(cancel) #sleep(3) order_idone = 0 last_price = int(zaif_public.last_price('btc_jpy')["last_price"]) last_priceminus = last_price - 500 last_pricepuls = last_price - 200 trade_info = zaif_private.get_info2() funds_jpy = trade_info["funds"]["jpy"] print('last_price: ' + str(last_price)) print('funds_jpy: ' + str(funds_jpy)) amountbtc = round(float(funds_jpy) / last_price -0.00005, 4) if funds_jpy > 88: trade_result = zaif_private.trade(currency_pair='btc_jpy',action='bid',amount=amountbtc,price=last_priceminus,limit=last_pricepuls) pprint(trade_result) order_idone = trade_result["order_id"] sleep(20)
###試したこと
すいません、手も足もでませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
OSはwindows10,PyCharmを使って作っています。
http://techbureau-api-document.readthedocs.io/ja/latest/trade/2_individual/6_active_orders.html
今回つかっている、zaifのapiのactive_ordersの仕様はこうなっております。
他の仕様はこちら
http://techbureau-api-document.readthedocs.io/ja/latest/trade/index.html

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。