else:
            buy(symb1)
            sell(symb2)
    else:
        if zone_index >= 0:
            sell(symb1)
            sell(symb2)
        else:
            buy(symb1)
            buy(symb2)


tick_count = 0
zones, stops = calculate_zones(h_level, l_level, nb_zones, stop_size)
past_prices = {
    symb1: float(api.ticker_price(symbol=symb1)['price']),
    symb2: float(api.ticker_price(symbol=symb2)['price'])
}

balance['sum'] = past_prices[symb1] * balance[symb1] + past_prices[
    symb2] * balance[symb2] + balance['usd']
log.info('Start balance: {b:0.2f} USD'.format(b=balance['sum']))

model_desc = {
    'pair_1': symb1,
    'pair_2': symb2,
    'period': period,
    symb1: balance[symb1],
    symb2: balance[symb2],
    'USD': balance['usd'],
    'sum_balance': balance['sum'],
Exemplo n.º 2
0
# parameters
symb1 = 'BTCUSDT'
symb2 = 'BCCUSDT'
period = '1m'
arbitrage_sum = True
eps, mu, std = 0., 0., 0.
limit = 1000

stop_size = 0.8 # of zones
max_orders = 4
fees = 0.005

start_usd = 300
balance = {
    symb1: 1 / float(api.ticker_price(symbol=symb1)['price']) * start_usd,
    symb2: 1 / float(api.ticker_price(symbol=symb2)['price']) * start_usd,
    'usd': start_usd,
    'sum': 0.0
}
lot = {
    symb1: balance[symb1]*0.1,
    symb2: balance[symb2]*0.1,
    'usd': balance['usd']*0.1
}

tick_count = 0
zones = [-2., 0., 2.]
stops = [zones[0] - stop_size, zones[2] + stop_size]
opened_orders = []
history = []