これまでbitFlyerとcoincheck、ZaifのAPIから注文する方法をご紹介しました。
今回はLiquid by Quoine (リキッド)のAPIから注文する
サンプルプログラムをご紹介します。
QUOINEはシステムも安定していて
現物の取引数量も多く
非常に良い取引所ではありますが、
APIのドキュメントが全て英語なので
注意が必要です。
私が実際に使用しているソースコードになります。
QUOINE APIのドキュメントは以下をご参照ください。
developers.quoine.com
2 Users
9 Pockets
Quoine Exchange API Reference
Contents
QUOINE APIサンプルプログラム
実装したのは、Python 3.6です。
QUOINE APIソースコード
ではさっそくサンプルプログラムです。
import json import requests import time import jwt import util class quoineApi: def __init__(self): self.token_id = 'トークンID' self.api_secret = 'シークレットキー' self.api_endpoint = 'https://api.liquid.com' def get_api_call(self,path): timestamp = str(int(time.time())) auth_payload = { 'path': path, 'nonce': timestamp, 'token_id': self.token_id } sign = jwt.encode(auth_payload, self.api_secret, algorithm='HS256') request_data=requests.get( self.api_endpoint+path ,headers = { 'X-Quoine-API-Version': '2', 'X-Quoine-Auth': sign, 'Content-Type': 'application/json' }) return request_data def post_api_call(self,path,body): body = json.dumps(body) timestamp = str(int(time.time())) auth_payload = { 'path': path, 'nonce': timestamp, 'token_id': self.token_id } sign = jwt.encode(auth_payload, self.api_secret, algorithm='HS256') request_data=requests.post( self.api_endpoint+path ,data = body ,headers = { 'X-Quoine-API-Version': '2', 'X-Quoine-Auth': sign, 'Content-Type': 'application/json' }) return request_data def get_board(self): api = quoineApi() result = api.get_api_call('/products/5/price_levels').json() bids = util.util.list_to_pd(result['buy_price_levels'],'qo',False) asks = util.util.list_to_pd(result['sell_price_levels'],'qo',True) return bids,asks def get_balance(self): api = quoineApi() result = api.get_api_call('/accounts/balance').json() data = {} for row in result: if (row['currency'] == 'JPY'): data['jpy_amount'] = round(float(row['balance']), 2) data['jpy_available'] = round(float(row['balance']), 2) elif (row['currency'] == 'BTC'): data['btc_amount'] = round(float(row['balance']), 8) data['btc_available'] = round(float(row['balance']), 8) return data def get_accounts(self): api = quoineApi() result = api.get_api_call('/trading_accounts').json() return result def get_account(self, account_id): api = quoineApi() result = api.get_api_call('/trading_accounts/'+account_id).json() return result def get_open_positions(self): api = quoineApi() result = api.get_api_call('/trades?status=open').json() return result def order(self,data): api = quoineApi() result = api.post_api_call('/orders/',data).json() return result
使用方法
以下のソースをquoine.pyというファイル名で保存します。
APIを呼び出すプログラム例
呼び出すプログラム側で以下のように実装します。
import quoineApi api = quoineApi.quoineApi() bids,asks = api.get_board()
これは、板情報を取得する場合です。