1
私は、最後の購入を比較し、受信した注文を販売しているcryptocurrencieの交換を取り出し、その差をプリントするボットを作っています。 私の問題は、今、何度も何度も受け取った最後の注文を印刷することです。私はそれがwhileループのためだと思います。同じことを何度も印刷せずに最後の2枚だけを印刷する方法はありますか?私はOrderedDictを使用することを考えていたが、私はそれをJsonでどのように使用するか分からない。ここでは、コード関係は次のとおりです。APIから受け取った最後の要素を印刷する
import time, requests, json
> while True:
> BU = requests.session()
> URL = 'https://bittrex.com/api/v1.1/public/getmarkethistory?market=BTC-DOGE'
> r = BU.get(URL, timeout=(15, 10))
> time.sleep(1)
> MarketPairs = json.loads(r.content)
> for element in MarketPairs['result']:
> id = element['Id']
> price = element['Price']
> tot = element['Total']
> time = element['TimeStamp']
> type = element['OrderType']
>
>
> if time > '2017-12-11T21:37:01.103':
> print type, id, tot, price, time
> time.sleep(1)
異なるだ場合にのみ、私がしようとしている ...これは何をしたいですねこの問題に約3日間の解決策を見つける、あなたは私があなたにどれほど感謝しているか分かりません。私はどこで間違っているのかをすぐに説明できますか?コードは今すばらしく働いています、ありがとう、あなたは本当に私の一日を作りました。 – Sile
whileループは正常です。しかし、まず最初に必要なのは、コードのすべての結果を処理するコードです。第二に、 ''時間> '2017-12-11T21:37:01.103'の部分がハードコードされているので、何かが印刷されたら、毎回印刷されます。 Bittrexは価格が変わった場合にのみ変更することができるほどスマートであるため、Idをチェックすることです。同じ事を2回送信しません。だから一度新しいIDを確認したなら、あなたは新しい情報を持っていると確信しています=>それでそれを印刷してください – dgan
もう一度@dganありがとう – Sile