Beispiel #1
0
def place_first_order(max_price, my_order, orders):
    # TODO: receive balance as parameter and check:
    # TODO: 1) is it possible to place before cancel?
    # TODO: 2) do i have balance for creating order?
    if my_order.price == orders[0].price and my_order.amount == orders[0].amount:  # My order is top order
        next_order = find_next_order(my_order.price, orders)
        update, price = False, 0

        if my_order.price - next_order.price > 0.2:  # If price is can be reduced
            log.log_trading('Reducing top order price')
            update = True
            price = next_order.price + 0.1
        elif my_order.amount < TOP_ORDER_PRICE:  # If my top order is less than TOP_ORDER_PRICE BTC
            log.log_trading('Increasing top order amount')
            update = True
            price = my_order.price

        if update:
            bitnz.place_order(price, TOP_ORDER_PRICE)
            bitnz.cancel_order(my_order)
            my_order.price = price
            my_order.amount = TOP_ORDER_PRICE

    elif not my_order.price == max_price:  # If my order is not top order and is not max_price
        log.log_trading('Replacing top order')
        price = orders[0].price + 1e-8
        if price > max_price:
            price = max_price
        bitnz.place_order(price, TOP_ORDER_PRICE)
        bitnz.cancel_order(my_order)
        my_order.price = price
        my_order.amount = TOP_ORDER_PRICE
Beispiel #2
0
def delete_overpriced_bids(max_value, orders):
    for i in range(len(orders) - 1, -1, -1):
        if orders[i].price > max_value:
            log.log_trading('Deleting overpriced order')
            bitnz.cancel_order(orders[i])
            del orders[i]