Bitflyerの未約定の全注文をCCXTで一括でキャンセルする方法

前回の記事「CCXTでBitflyerに出した注文を管理・キャンセルする方法」の最後の練習問題の解答です。

解答


import ccxt

bitflyer = ccxt.bitflyer()
bitflyer.apiKey = '**********'
bitflyer.secret = '**********'

orders = bitflyer.fetch_open_orders(
	symbol = "BTC/JPY",
	params = { "product_code" : "FX_BTC_JPY" })

for o in orders:
	bitflyer.cancel_order(
		symbol = "BTC/JPY",
		id = o["id"],
		params = { "product_code" : "FX_BTC_JPY" })


fetch_open_orders()で未約定のすべての注文を取得し、それをfor文を使って1つずつキャンセルしていきます。キャンセルする注文IDを id = o[“id”] と指定するのが、今回のポイントでした。なお、Bitflyerの場合は、product_codeを指定するのを忘れないようにしてください。

(for文の解説)

orders[0][“id”]
orders[1][“id”]
orders[2][“id”]
orders[3][“id”]
orders[4][“id”]



の順番で処理したい要素がある場合は、for o in orders : と書くことで、orders[?]までの部分を o という変数に入れて順番に処理することができます。このとき、orders[?][“id”]は、for文の中では、o[“id”]で指定できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です