4th Street Bar Hive-Bar

Hive-Bar Powered by Hive beta-fdb5b5b

Community post

Crypto + Python = Simple percentage change alert

In a fancy late i just recently discovered the exciting world of cryptocurrency and one of the first thing that jumped to my mind is to try and leverage some of my python knowledge into this world. So let try to create a (very) simple alert for price change

for this demo i used worldcoinindex.com api, the concept is pretty simple, the WCI api show changes every 5 minutes. so the plan is to sample the currency every 5 minutes and print alert when change (abs) bigger then 5%

import requests,json,time

key = 'YOUR API KEY'
alert_percentage = 5
data_arr = []

def get_change(current, previous):
    if current == previous:
        return 0
    try:
        result = ((abs(current - previous)) / previous) * 100
        return result
    except ZeroDivisionError:
        return 0

def get_data_arr():

    wci_url = "https://www.worldcoinindex.com/apiservice/json?key={key}".format(key=key)
    data = json.loads(requests.get(wci_url).content)

    for market in data['Markets']:
        Label = market['Label']
        Price_usd = market['Price_usd']

        data_arr.append({'Label': Label, 'Price_usd': Price_usd})

    return  data_arr

def main():
    base_data_arr = get_data_arr()

    while True:
        data_arr = get_data_arr()

        for i in range(len(data_arr)):
            current = data_arr[i]['Price_usd']
            previous = base_data_arr[i]['Price_usd']
            percentage_change = get_change(current, previous)

            if percentage_change > alert_percentage:
                print('alert {0} change in {1}'.format(str(percentage_change),data_arr[i]['Label']))

            base_data_arr[i]['Price_usd'] = current

        time.sleep(300)

main()
3 upvotes $0.00

Replies (0)

Conversation

No replies yet

Replies will appear here as people join the conversation.

Review before signing

Posting as . Signing with . Keychain permission: Posting. Hive Keychain will ask you to approve this action next.


  
Technical details

Operation fingerprint: