前回はbitFlyerのAPIから注文する方法をご紹介しました。
今回はcoincheckのAPIから注文する
サンプルプログラムをご紹介します。
こちらも私が実際に使用しているソースコードになります。
coincheck APIのドキュメントは以下をご参照ください。
coincheck APIサンプルプログラム
実装したのは、Python 3.6です。
coincheck APIソースコード
ではさっそくサンプルプログラムです。
import json import requests import time import hmac import hashlib import util class coincheckApi: def __init__(self): self.api_key = 'APIキー' self.api_secret = 'APIシークレットキー' self.api_endpoint = 'https://coincheck.com' def get_api_call(self,path): timestamp = str(int(time.time()*1000)) text = timestamp + self.api_endpoint + path sign = hmac.new(bytes(self.api_secret.encode('ascii')), bytes(text.encode('ascii')), hashlib.sha256).hexdigest() request_data=requests.get( self.api_endpoint+path ,headers = { 'ACCESS-KEY': self.api_key, 'ACCESS-NONCE': timestamp, 'ACCESS-SIGNATURE': sign, 'Content-Type': 'application/json' }) return request_data def post_api_call(self,path,body): body = json.dumps(body) timestamp = str(int(time.time()*1000)) text = timestamp + self.api_endpoint + path + body sign = hmac.new(bytes(self.api_secret.encode('ascii')), bytes(text.encode('ascii')), hashlib.sha256).hexdigest() request_data=requests.post( self.api_endpoint+path ,data= body ,headers = { 'ACCESS-KEY': self.api_key, 'ACCESS-NONCE': timestamp, 'ACCESS-SIGNATURE': sign, 'Content-Type': 'application/json' }) return request_data def get_board(self): api = coincheckApi() result = api.get_api_call('/api/order_books').json() bids = util.util.list_to_pd(result['bids'],'cc',False) asks = util.util.list_to_pd(result['asks'],'cc',True) return bids,asks def get_balance(self): api = coincheckApi() result = api.get_api_call('/api/accounts/balance').json() if ('jpy' not in result): result['jpy'] = 0 if ('btc' not in result): result['btc'] = 0 data = {} data['jpy_amount'] = round(float(result['jpy']), 2) data['jpy_available'] = round(float(result['jpy']) - float(result['jpy_reserved']), 2) data['btc_amount'] = round(float(result['btc']), 8) data['btc_available'] = round(float(result['btc']) - float(result['btc_reserved']), 8) return data def get_leverage_balance(self): api = coincheckApi() result = api.get_api_call('/api/accounts/leverage_balance').json() return result def get_open_positions(self): api = coincheckApi() result = api.get_api_call('/api/exchange/leverage/positions?status=open').json() return result def order(self,data): api = coincheckApi() result = api.post_api_call('/api/exchange/orders',data).json() return result
使用方法
以下のソースをcoincheckApi.pyというファイル名で保存します。
APIを呼び出すプログラム例
呼び出すプログラム側で以下のように実装します。
import coincheckApi api = coincheckApi.coincheckApi() bids,asks = api.get_board()
これは、板情報を取得する場合です。