techbureau/zaifbot

MACDの返すタイムスタンプがおかしい

ntapp opened this issue · 4 comments

ntapp commented

次のコードでこのような結果が返りますが、タイムスタンプの値がおかしいです。

from zaifbot.indicators import MACD
import time

macd = MACD(currency_pair='btc_jpy', period='1d', short=12, long=26, signal=9)
result = macd.request_data(count=2, to_epoch_time=time.time())

print(result)

結果

[{'time': 1504191600000, 'macd': 46111.59764772782, 'macdsignal': 49749.52037712678, 'macdhist': -3637.9227293989607}, {'time': 1504278000000, 'macd': 47166.03153352288, 'macdsignal': 49232.822608406, 'macdhist': -2066.79107488312}]
ntapp commented

試したコードを載せておきます。

# coding: UTF-8

import time
from datetime import datetime
from pytz import timezone
from zaifbot.indicators import MACD


if __name__ == '__main__':

    macd = MACD(currency_pair='ZAIF_jpy', period='15m', short=12, long=26, signal=9)
    results = macd.request_data(count=2, to_epoch_time=time.time())

    # 正常な値の場合
    t = 1504307057
    dt = datetime.fromtimestamp(t)
    print(dt)
    jst = timezone('Asia/Tokyo').localize(dt)
    print("結果: {}".format(jst))

    # おかしい
    t = results[0]['time']
    dt = datetime.fromtimestamp(t)
    print(dt)  # この時点でエラー
    jst = timezone('Asia/Tokyo').localize(dt)
    print("結果: {}".format(jst))

報告ありがとうございます。
こちら、後ほど確認させていただきますね。

そもそもサーバー側から返ってくる値の時点で何かおかしいみたいです

修正させていただきました。
0.0.8で反映されるかと思います。