

direction = "BUY"
order = 0.05
open_order = None
order_size = 0.01
line = 14

# Начало работы робота / советника

# Открытие нового бара, проверка в каком range находится wpr_volume = -75.8514(округлить до - 75)


def find_range_bar(wpr_volume: str):
    """
    wpr_volume int: значение line после окончания бара от 0 до -100
    """
    # округление в меньшую сторону -25.1546 -> -25
    wpr_volume = int(float(wpr_volume))
    if -21 < wpr_volume <= 0:
        wpr_volume = -20
        return wpr_volume
    elif -51 < wpr_volume <= -21:
        wpr_volume = -50
        return wpr_volume
    elif -81 < wpr_volume <= -51:
        wpr_volume = -80
        return wpr_volume
    else:
        wpr_volume = -100
        return wpr_volume


last_bar_range = find_range_bar(input("wpr_volume - "))  # last_bar_range = -80

# 1 Открытие нового бара, проверка в каком range находится
while True:
    wpr = find_range_bar(input("wpr_volume - "))
    if wpr == last_bar_range:  # цена в том же диапазоне что и прошлый бар
        last_bar_range = wpr
        print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr))
    else:
        if direction == "SELL":
            if open_order is not None:
                if open_order == 'sell':
                    open_order = 'buy'
                    last_bar_range = wpr
                    order = round(order + order_size, 2)
                    print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                else:
                    if wpr > last_bar_range:
                        last_bar_range = wpr
                        print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                    else:
                        if wpr == -100:
                            open_order = 'sell'
                            last_bar_range = wpr
                            order = round(order + order_size, 2)
                            print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                        else:
                            last_bar_range = wpr
                            open_order = None
                            order = 0.05
                            print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
            else:
                if wpr > last_bar_range:
                    last_bar_range = wpr
                    print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                else:
                    if wpr == -100:
                        open_order = 'sell'
                        last_bar_range = wpr
                        order = round(order + order_size, 2)
                        print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                    else:
                        last_bar_range = wpr
                        print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
        else:
            if open_order is not None:
                if open_order == 'buy':
                    open_order = 'sell'
                    last_bar_range = wpr
                    order = round(order + order_size, 2)
                    print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                else:
                    if wpr < last_bar_range:
                        last_bar_range = wpr
                        print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                    else:
                        if wpr == -20:
                            open_order = 'buy'
                            last_bar_range = wpr
                            order = round(order + order_size, 2)
                            print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                        else:
                            last_bar_range = wpr
                            open_order = None
                            order = 0.05
                            print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
            else:
                if wpr < last_bar_range:
                    last_bar_range = wpr
                    print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                else:
                    if wpr == -20:
                        open_order = 'buy'
                        last_bar_range = wpr
                        order = round(order + order_size, 2)
                        print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
                    else:
                        last_bar_range = wpr
                        print(open_order, 'last_bar_range-' + str(last_bar_range), 'wpr-' + str(wpr), 'order-' + str(order))
