Общая стратегия инвестирования в цифровую валюту, поддерживающая одновременные инвестиции на многих биржах
orderAmount #определенная сумма BTCCNY и BCCCCNY в единицах CNY, BCCBTC в единицах BTC и т.д.
accountLimitMoney # лимит счета, оставляя часть денег, а после достижения минимального лимита счета прекращают депозит
orderTimeInterval # фиксированный интервал, единицы секунды, в минуту = 60 в час = 3600 в день = 86400 в неделю = 604800
maxBidPrice # Максимальная цена сделки, превышение цены, перепрыгивание и ожидание следующей возможности.
def onTick(): exchange_count = len(exchanges) for i in range(exchange_count): account = exchanges[i].GetAccount() marketName = exchanges[i].GetName() depth = exchanges[i].GetDepth() Log("Market ",marketName,exchanges[i].GetCurrency(),"Account Balance [",account["Balance"],"] Stocks[",account["Stocks"],"]") if account and depth and account["Balance"] > accountLimitMoney : bidPrice = depth["Asks"][0]["Price"] if bidPrice < maxBidPrice : amount = orderAmount if amount <= account["Balance"]: exchanges[i].Buy(amount) else: Log("Account Balance is less than bid Amount") else: Log("Bid Price >= maxBidPrice, not process") else: Log("Account Balance <= accountLimitMoney") def main() : while 1: onTick() time.sleep(orderTimeInterval)