前提・実現したいこと
bitcoinの'ClosePrice'でSMA(単純移動平均線)をmatplotlibでグラフ化したいですが、下のコードで製作するとまっさらでした。
一体どのようにすれば数値がグラフとして反映されるのでしょうか。
お分かりの方解答お願い致します。
※横軸は時間で縦軸がSMAの数値のグラフです。
発生している問題・エラーメッセージ
グラフが真っ白だった。
→横軸に日付,縦軸にSMA(金額)を載せたい
エラーメッセージ
特に無し....
該当のソースコード
import datetime import time import pandas as pd import numpy as np import requests from matplotlib import pyplot as plt # cryptowatchのデータ配列名 OHLCV_LIST = ['CloseTime', 'OpenPrice', 'HighPrice', 'LowPrice', 'ClosePrice', 'Volume', 'FumeinaAtai'] CLOSE = 4 term=10 # cryptowatchからohlcvを取得する def _ohlcv(_length): param = {'periods':str(_length)} res = requests.get('https://api.cryptowat.ch/markets/bitflyer/btcfxjpy/ohlc', param) json = res.json() # レスポンスをJSONデータに変換 ohlcv = json['result'][_length] # リストから結果を取得 return ohlcv def _sma(_ohlcv,_length): total=0 for i in range(_length): total+=_ohlcv[-i-1][CLOSE] sma=total/_length return sma # メインプログラム def main(): # 過去の価格を取得※"60"は1分間(60秒)のこと ohlcv = _ohlcv('60') smap = _sma(ohlcv,term) # グラフ plt.plot(smap) plt.xlabel('Data', fontsize=12) # x軸ラベル plt.ylabel('Price(C→¥)', fontsize=12) # y軸ラベル plt.grid() # グリッドの表示 plt.show() # グラフ表示 if __name__ == '__main__': main()
あなたの回答
tips
プレビュー