Example #1
0
    def _set_exchange(self, exchange: str = None) -> Exchange:

        if self.cli_args["exchange"] is not None:
            exchange = Exchange(self.cli_args["exchange"])

        if isinstance(exchange, str):
            exchange = Exchange(exchange)

        if not exchange:
            if (Exchange.COINBASEPRO.value or "api_pass") in self.config:
                exchange = Exchange.COINBASEPRO
            elif Exchange.BINANCE.value in self.config:
                exchange = Exchange.BINANCE
            elif Exchange.KUCOIN.value in self.config:
                exchange = Exchange.KUCOIN
            else:
                exchange = Exchange.DUMMY
        return exchange
Example #2
0
from models.Trading import TechnicalAnalysis
from models.exchange.binance import PublicAPI as BPublicAPI
from models.exchange.coinbase_pro import PublicAPI as CPublicAPI
from models.exchange.kucoin import PublicAPI as KPublicAPI
from models.exchange.Granularity import Granularity
from models.exchange.ExchangesEnum import Exchange

GRANULARITY = Granularity(Granularity.ONE_HOUR)
try:
    with open("scanner.json", encoding='utf8') as json_file:
        config = json.load(json_file)
except IOError as err:
    print(err)

for exchange in config:
    ex = Exchange(exchange)
    app = PyCryptoBot(exchange=ex)
    for quote in config[ex.value]["quote_currency"]:
        if ex == Exchange.BINANCE:
            api = BPublicAPI()
        elif ex == Exchange.COINBASEPRO:
            api = CPublicAPI()
        elif ex == Exchange.KUCOIN:
            api = KPublicAPI()
        else:
            raise ValueError(f"Invalid exchange: {ex}")

        markets = []
        resp = api.getMarkets24HrStats()
        if ex == Exchange.BINANCE:
            for row in resp:
Example #3
0
def test_exception_thrown_when_invalid_value():
    with pytest.raises(ValueError) as exc_info:
        Exchange("xxx")
    assert exc_info.type is ValueError
    assert exc_info.value.args[0] == "'xxx' is not a valid Exchange"
Example #4
0
def test_converting_string_to_enum():
    assert Exchange("binance") == Exchange.BINANCE
    assert Exchange("coinbasepro") == Exchange.COINBASEPRO
    assert Exchange("kucoin") == Exchange.KUCOIN