Esempio n. 1
0
def quitMenu():
    dramaticTyping("Do you want to try again? Y/N ")
    answer = raw_input("").upper()
    if answer == 'Y':
        main()
    else:
        exit()
Esempio n. 2
0
def main():
    welcome()
    coins = fetchCoins()
    currency, quantity = inputBuy()
    try:
        price = coins[currency]['price']
    except Exception as e:
        dramaticTyping("Invalid currency entered, please try again \n")
        inputBuy()
    runSimulation(coins[currency]['price'], quantity, currency)
    quitMenu()
Esempio n. 3
0
def fetchCoins():
    connection = sqlite3.connect('./currency_monitor.db')
    cursor = connection.cursor()
    query = "SELECT first_leg, ask FROM prices WHERE timestamp='1520408341.52' AND second_leg='USD';"
    cursor.execute(query)
    coinAskPrices = cursor.fetchall()
    coins = {}
    for coinAskPrice in coinAskPrices:
        if coinAskPrice[0] in coins:
            continue
        coins[coinAskPrice[0]] = {"price":coinAskPrice[1], "curreny":coinAskPrice[0]}
        dramaticTyping("{} - ${} \n".format(coinAskPrice[0], round(coinAskPrice[1],4)))
    return coins
Esempio n. 4
0
def runSimulation(boughtPrice, quantity, currency):
    valueThen = boughtPrice * quantity
    bestPrice, timestamp = fetchBestBidPriceFromDB(currency)
    bestValue = bestPrice * quantity
    priceDifference = (bestValue - valueThen) / float(valueThen) * 100
    time = datetime.datetime.fromtimestamp(timestamp).strftime(
        '%A, %B %-d, %Y %I:%M %p')
    print("The best bid price for {} was ${} at {} \n".format(
        currency, bestPrice, time))
    if priceDifference > 0:
        dramaticTyping(
            "Your total asset value is ${}, it has increase by {}% \n".format(
                round(bestValue, 4), round(priceDifference, 2)))
    else:
        dramaticTyping(
            "Your total asset value is ${}, it has decreased by {} \n".format(
                round(bestValue, 4), round(priceDifference, 2)))
Esempio n. 5
0
def inputBuy():
    dramaticTyping("Select the crypto curreny you want to buy? \n")
    curreny = raw_input("").upper()
    dramaticTyping("That's great. How much quantity you want to buy? \n")
    quantity = float(raw_input(""))
    return curreny, quantity
Esempio n. 6
0
def welcome():
    print("\n")
    dramaticTyping("Simple Crypto Trading Simulator \n")
    dramaticTyping("Hey Yo, you are back in time. It's Wednesday, March 7, 2018 7:39 AM \n")
    dramaticTyping("Here are the crypto currencies you can invest. \n")
    dramaticTyping("Fetching prices ... \n")