Найти - Пользователи
Полная версия: Последовательность чисел мартингейлом
Начало » Python для новичков » Последовательность чисел мартингейлом
1
nemogy688@gmail.com
Всем привет, пишу робота на биржу, но не могу разобраться, есть такой код в котором идут отклонения от главной цены. И вопрос вот в чем, можно как нибудь не от главной цены, а к примеру от 5 ордера “ его цены”, узнать рядом стоящие ордера
 LONG_entry = 223   #главная цена
GRID_SIZE = 0.5  
MULTIPLIER = 1.5   множитель
 
# Инициализация предыдущего GRID
previous_GRID = 0
 
# Вывод заголовка
print("{:<15} {:<25} {:<20}".format("Номер ордера", "Отклонение ордера, %", "Цена ордера"))
 
# Цикл от 0 до 10
for i in range(11):
    # Расчет цены для ордера на продажу
    GRID = previous_GRID
    price = round(LONG_entry * (1 - GRID / 100), 5)
    
    print("{:<15} {:<25} {:<20}".format(i, GRID, price))
    
    # Обновление предыдущего GRID для следующей итерации
    previous_GRID = GRID * MULTIPLIER + GRID_SIZE.
ZerG
так ты в цыкле у себя заполни список словарями - а поом уже по етому списку бери и начинай с любой позиции
И вынеси расчет цены в функцию
nemogy688@gmail.com
ZerG
так ты в цыкле у себя заполни список словарями - а поом уже по етому списку бери и начинай с любой позицииИ вынеси расчет цены в функцию
Тоже думал об этом, а рассчитать по формуле это сложно выходит очень

ZerG
 from icecream import ic
def gen_orders(cost: int, count: int) -> list:
    result: list = []
    GRID = 0
    GRID_SIZE = 0.5
    MULTIPLIER = 1.5  # множитель
    for i in range(count):
        # Расчет цены для ордера на продажу
        price = round(cost * (1 - GRID / 100), 5)
        result.append({"grid": GRID, "price": price})
        # Обновление предыдущего GRID для следующей итерации
        GRID = GRID * MULTIPLIER + GRID_SIZE
    return result
res = gen_orders(223, 5)
ic(res)
cost_from_price = res[4]["price"] 
ic(cost_from_price)
res2 = gen_orders(cost_from_price, 5)
ic(res2)
 

Данный код не продуктивный а скорее для наглядности так что если словите мысль - то перепиште правильно

 ic| res: [{'grid': 0, 'price': 223.0},
          {'grid': 0.5, 'price': 221.885},
          {'grid': 1.25, 'price': 220.2125},
          {'grid': 2.375, 'price': 217.70375},
          {'grid': 4.0625, 'price': 213.94062}]
ic| cost_from_price: 213.94062
ic| res2: [{'grid': 0, 'price': 213.94062},
           {'grid': 0.5, 'price': 212.87092},
           {'grid': 1.25, 'price': 211.26636},
           {'grid': 2.375, 'price': 208.85953},
           {'grid': 4.0625, 'price': 205.24928}]
nemogy688@gmail.com
ZerG
Спасибо, тоже так делал, буду пробовать дальше
nemogy688@gmail.com
ZerG
А как думаешь реально там формулу подобрать что ли) ?
ZerG
nemogy688@gmail.com
Какую формулу? У вас в коде и так уже формула
Я двже пример показал
Если вы хотите стартовать от пятой позиции ее ведь нужно вычислить для начала а потом пройти тем же путем что и для первых значений - я вам это и продемонстрировал
Или переформулируйте задачу
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB