コード例 #1
0
    async def _refresh_data(self, time_frame, symbol, limit=None, notify=True):
        evaluator_task_manager_to_notify = self.evaluator_task_manager_by_time_frame_by_symbol[
            time_frame][symbol]

        numpy_candle_data = copy.deepcopy(
            await evaluator_task_manager_to_notify.exchange.get_symbol_prices(
                evaluator_task_manager_to_notify.symbol,
                evaluator_task_manager_to_notify.time_frame,
                limit=limit,
                return_list=False))

        if self.in_backtesting:
            # dev tool:
            # can be used to stop backtesting on a given candle before technical evaluators update
            # (set target_candle_date to the date of the wanted candle in web interface in %d/%m/%y %H:%M format)
            # ex: target_candle_date = "8/04/19 06"
            target_candle_date = ""
            if target_candle_date:
                from tools.timestamp_util import convert_timestamp_to_datetime
                if target_candle_date in convert_timestamp_to_datetime(
                        numpy_candle_data[0][-1]):
                    print("found candle")

        evaluator_task_manager_to_notify.evaluator.set_data(numpy_candle_data)
        self.refreshed_times[time_frame][symbol] += 1
        if notify:
            await evaluator_task_manager_to_notify.notify(
                self.__class__.__name__)
コード例 #2
0
    def trade_pretty_printer(trade):
        currency = trade.currency
        market = trade.market

        try:
            order_type_name = trade.order_type.name
        except AttributeError:
            try:
                order_type_name = OrderConstants.TraderOrderTypeClasses[
                    trade.order_type].__name__
            except KeyError:
                order_type_name = trade.order_type.__class__.__name__

        return "{0}: {1} {2} at {3} {4} on {5}: {6} ".format(
            order_type_name,
            PrettyPrinter.get_min_string_from_number(trade.quantity), currency,
            PrettyPrinter.get_min_string_from_number(trade.price), market,
            trade.exchange.get_name(),
            convert_timestamp_to_datetime(trade.filled_time))
コード例 #3
0
    def open_order_pretty_printer(order):
        currency, market = order.get_currency_and_market()

        try:
            order_type_name = order.get_order_type().name
        except AttributeError:
            try:
                order_type_name = OrderConstants.TraderOrderTypeClasses[
                    order.get_order_type()].__name__
            except KeyError:
                order_type_name = order.get_order_type().__class__.__name__

        return "{0}: {1} {2} at {3} {4} on {5}: {6} ".format(
            order_type_name,
            PrettyPrinter.get_min_string_from_number(
                order.get_origin_quantity()), currency,
            PrettyPrinter.get_min_string_from_number(order.get_origin_price()),
            market,
            order.get_exchange().get_name(),
            convert_timestamp_to_datetime(order.get_creation_time()))
コード例 #4
0
ファイル: dashboard.py プロジェクト: xtovski/py-octobot
def _format_trades(trade_history):
    trade_time_key = "time"
    trade_price_key = "price"
    trade_description_key = "trade_description"
    trade_order_side_key = "order_side"
    trades = {
        trade_time_key: [],
        trade_price_key: [],
        trade_description_key: [],
        trade_order_side_key: []
    }

    for trade in trade_history:
        trades[trade_time_key].append(convert_timestamp_to_datetime(trade.filled_time,
                                                                    time_format="%y-%m-%d %H:%M:%S"))
        trades[trade_price_key].append(trade.price)
        trades[trade_description_key].append(f"{trade.order_type.name}: {trade.quantity}")
        trades[trade_order_side_key].append(trade.side.value)

    return trades
コード例 #5
0
ファイル: dashboard.py プロジェクト: ibm-iloom/OctoBot
def _format_trades(trade_history):
    trade_time_key = "time"
    trade_price_key = "price"
    trade_description_key = "trade_description"
    trade_order_side_key = "order_side"
    trades = {
        trade_time_key: [],
        trade_price_key: [],
        trade_description_key: [],
        trade_order_side_key: []
    }

    for trades_per_trader in trade_history:
        for trade in trades_per_trader:
            trades[trade_time_key].append(convert_timestamp_to_datetime(trade.get_filled_time(),
                                                                        time_format="%y-%m-%d %H:%M:%S"))
            trades[trade_price_key].append(trade.get_price())
            trades[trade_description_key].append(f"{trade.get_order_type().name}: {trade.get_quantity()}")
            trades[trade_order_side_key].append(trade.get_side().value)

    return trades
コード例 #6
0
 def command_ping(_, update):
     update.message.reply_text("I'm alive since {0}.".format(
         convert_timestamp_to_datetime(get_bot().get_start_time(),
                                       '%Y-%m-%d %H:%M:%S')))