def trigger_portfolios_refresh():
    at_least_one = False
    for exchange_manager in get_exchange_managers():
        if is_trader_enabled(exchange_manager):
            at_least_one = True
            run_in_bot_main_loop(
                refresh_real_trader_portfolio(exchange_manager))

    if not at_least_one:
        raise RuntimeError("no real trader to update.")
Example #2
0
def cancel_all_open_orders(currency=None):
    for exchange_manager in get_exchange_managers():
        if is_trader_enabled(exchange_manager):
            if currency is None:
                run_in_bot_main_loop(
                    api_cancel_all_open_orders(exchange_manager))
            else:
                run_in_bot_main_loop(
                    cancel_all_open_orders_with_currency(
                        exchange_manager, currency))
Example #3
0
def sell_all(currency):
    orders = []
    for exchange_manager in get_exchange_managers():
        if is_trader_enabled(exchange_manager):
            orders += run_in_bot_main_loop(
                sell_currency_for_reference_market(exchange_manager, currency))
    return orders
Example #4
0
def cancel_orders(order_ids):
    removed_count = 0
    if order_ids:
        for order_id in order_ids:
            for exchange_manager in get_exchange_managers():
                if is_trader_enabled(exchange_manager):
                    removed_count += 1 if run_in_bot_main_loop(
                        cancel_order_with_id(exchange_manager,
                                             order_id)) else 0
    return removed_count
def get_portfolio_holdings():
    real_currency_portfolio = {}
    simulated_currency_portfolio = {}

    for exchange_manager in get_exchange_managers():
        if is_trader_enabled(exchange_manager):

            trader_currencies_values = run_in_bot_main_loop(
                get_current_holdings_values(exchange_manager))
            if is_trader_simulated(exchange_manager):
                _merge_portfolio_values(simulated_currency_portfolio,
                                        trader_currencies_values)
            else:
                _merge_portfolio_values(real_currency_portfolio,
                                        trader_currencies_values)

    return real_currency_portfolio, simulated_currency_portfolio