示例#1
0
 def calcFirstBuyTime(self):
     last_buy_order_datetime = self.db_manager.getLastBuyOrderDatetime()
     if last_buy_order_datetime:
         last_buy_datetime = DBManager.convertOrderDatetime(
             last_buy_order_datetime)
     else:
         last_buy_datetime = datetime.datetime.now()
     return max(
         datetime.datetime.now(),
         last_buy_datetime + datetime.timedelta(0, DCA_FREQUENCY),
     )
示例#2
0
    def calcRobinhoodFirstBuyTime(self):
        last_buy_order_datetime = self.db_manager.getRobinhoodLastBuyOrderDatetime()
        # If we have no buy recored, we execute a buy order immediately.
        if not last_buy_order_datetime:
            return datetime.datetime.now()

        last_buy_datetime = DBManager.convertOrderDatetime(last_buy_order_datetime)
        return max(
            datetime.datetime.now(),
            last_buy_datetime
            + datetime.timedelta(0, default_config.robinhood_dca_frequency),
        )
 def generateDCASummary(unwithdrawn_buy_orders):
     summary = ""
     total_cost, total_size = 0, 0
     for order in unwithdrawn_buy_orders:
         order_datetime, cost, size = order
         local_datetime = DBManager.convertOrderDatetime(order_datetime)
         summary += (
             f"{local_datetime.strftime('%m-%d %H:%M')}, ${round(cost, 2)}, "
             f"{size}, ${round( cost / size, 0 )}\n")
         total_cost += cost
         total_size += size
     return (f"Average Price: {round( total_cost / total_size, 2 )}\n" +
             f"Total Cost: {round( total_cost, 2 )}\n" +
             f"Total Size: {total_size}\n\n" + summary)
示例#4
0
    def calcFirstBuyTime(self):
        last_buy_order_datetime = self.db_manager.getLastBuyOrderDatetime()
        # If we have no buy recored, we execute a buy order immediately.
        if not last_buy_order_datetime:
            return datetime.datetime.now()

        last_buy_datetime = DBManager.convertOrderDatetime(last_buy_order_datetime)
        Logger.info(
            f"Last Coinbase buy order was at: {last_buy_datetime.strftime('%Y-%m-%d %H:%M:%S')}"
        )
        Logger.info("")
        return max(
            datetime.datetime.now(),
            last_buy_datetime + datetime.timedelta(0, default_config.dca_frequency),
        )