Ejemplo n.º 1
0
    broker = Broker()
    broker.set_cash(START_CASH)
    coin_names = broker.get_market_info()
    current_order = 0
    
    info = broker.get_current_info(coin_names)
    top30 = sorted(info, key=lambda x:float(x["acc_trade_price_24h"]), reverse=True)[:30]
    # reverseAcc = sorted(info, key=lambda x:float(x["acc_trade_price_24h"]))[20:-10] # test?

    print("Load coin data")
    coin_data = []
    for coin_name in tqdm(coin_names):
        coin_data.append(CoinData(coin_name)) 
        time.sleep(0.1)

    cash_per_order = (broker.get_cash() / (MAX_ORDER-current_order))

    current_accounts = broker.get_accounts()    
    
    buy_orders = []
    for coin in coin_data:
        cond_buy, cond_sell = myStrategyRSI(coin)
        account = current_accounts.get(coin.coin_name)
        if account:
            if account["balance"] > 0 and not account["locked"]: # 현재 코인 있음
                if cond_sell and cond_buy:
                    continue
                elif cond_sell:
                    broker.sell(coin.coin_name, account["balance"], coin.df["trade_price"][-2]) #전일종가에 판매           

        else: