少し前にかっこいいGUI型のプライスカードをご紹介ししました。

かっこいいのですが、変化がわからないので、今回はシンプルにターミナル画面出力をします。

liquidのtickerというAPIを叩くだけなので、何種類ものコインペアがある割には、超シンプルです。
表示するコインは
liquidが扱っているコインペアで且つ、coin=[]のリストに入っているものだけを抽出します。
# Created: 21/05/2021
import requests
import json
import datetime
import time
from rich import print #色をつけるモジュール
#抽出するコインペアのリスト
coin=['BTCUSD','BTCJPY','ETHUSD','ETHJPY','XRPUSD','BCHUSD','LTCUSD','FTXUSD','BATUSD','ATOMUSD']
try:
while True:
row = 0
# 何種類ものデータ取得がこの一行だけ
res = requests.get('https://api.liquid.com/products').json()#JSONを辞書に変換
for pr in res:
#unixtimeを日本時間の文字列に変換
jp_time = datetime.datetime.fromtimestamp(int(float(pr['timestamp'])))
if pr['currency_pair_code'] in coin:#リストにあるものだけ通す
#best ask とbest bidの中間を現在価格とする
p_price=int((float(pr[ 'market_ask'])+float(pr[ 'market_bid']))/2)
if row == 0:
print(f"\n {jp_time}",end='')#改行してから 時間を表示
row += 1
if p_price != 0:#リストに有っても価格が0のものは排除
#コインペアと価格を改行せず横につなげて出力
print(f" [{pr['currency_pair_code']} {p_price:,}]",end='')
time.sleep(3)#API頻度制限に掛からないよう間隔を開ける
except:
pass
コメント