Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 12.09.2022
Сообщений: 5

Нужно вывести переменную в кавычках

14.10.2022, 15:20. Показов 1509. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите вывести значение symbol внутри команды "order = client.order_limit_buy(symbol=symbol, quantity=amount, price=order_price)" в одинарных кавычках, например 'ZEC/USDT'. Выдаёт вот такую ошибку.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Time-12:01:52
              type     start   middle    finish  start_price  middle_price  \
268  BUY_SELL_SELL  ZEC/USDT  ZEC/BNB  BNB/USDT      51.5000      0.188800   
942  BUY_SELL_SELL  FIS/USDT  FIS/BTC  BTC/USDT       0.3243      0.000017   
 
     finish_price    Result  
268        273.40  0.228971  
942      19611.58  0.204712  
---------------------------------------------------------------------------
BinanceAPIException                       Traceback (most recent call last)
<ipython-input-92-4a49c7741b18> in <module>
    138     chains = get_chains(market_symbols, quotes, 'USDT')
    139     sorted_chains = chains.sort_values(by='Result', ascending=False)
--> 140     filter_profitable_chains(sorted_chains)
    141     time.sleep(1)
 
9 frames
/usr/local/lib/python3.7/dist-packages/binance/client.py in _handle_response(response)
    322         """
    323         if not (200 <= response.status_code < 300):
--> 324             raise BinanceAPIException(response, response.status_code, response.text)
    325         try:
    326             return response.json()
 
BinanceAPIException: APIError(code=-1100): Illegal characters found in parameter 'symbol'; legal range is '^[A-Z0-9-_.]{1,20}$'.
Сам КОД:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
def create_chain(orders_type, start, middle, finish,  start_price, middle_price, finish_price, res):   
    return {
        'type': orders_type,
        'start': start['symbol'], # USDT                 
        'middle': middle['symbol'],      # BTC                 
        'finish': finish['symbol'],      # ETH 
        'start_price': start_price,     
        'middle_price': middle_price,       
        'finish_price': finish_price,
        'Result' : res
    }
    
 
def get_chains(market_symbols, quotes, base_currency='USDT'):
    chains = []
    AMMOUNT=100.0
 
    for symbol in market_symbols:
        try:
            token1 = symbol.split('/')[0] 
            token2 = symbol.split('/')[1]
            #ищем промежуточное звено треугольника и проверяем результат в 2 стороны
            if (token1!=base_currency and token2!=base_currency):
                start = quotes[f'{token1}/{base_currency}']
                middle = quotes[f'{token1}/{token2}']
                finish = quotes[f'{token2}/{base_currency}']
                if  start['ask']!=0 and start['bid']!=0 and middle['ask']!=0 and middle['bid']!=0 and finish['ask']!=0 and finish['bid']!=0:
                    #USDT-ETH-BTC
                    chains.append(
                                create_chain(
                                    'BUY_SELL_SELL',
                                    start,         #ETH/USDT
                                    middle,        #ETH/BTC
                                    finish,        #BTC/USDT
                                    start['ask'],  #ETH/USDT ASK
                                    middle['bid'], #ETH/BTC BID
                                    finish['bid'], #BTC/USDT BID
                                    float(AMMOUNT/start['ask']*middle['bid']*finish['bid'] - AMMOUNT)
                                )
                    )
                    #USDT-BTC-ETH
                    chains.append(
                                create_chain(
                                    'BUY_BUY_SELL',
                                    finish,       #BTC/USDT
                                    middle,       #ETH/BTC
                                    start,        #ETH/USDT
                                    finish['ask'], #BTC/USDT ASK
                                    middle['ask'], ##ETH/BTC ASK
                                    start['bid'],  #ETH/USDT BID
                                    float(AMMOUNT/finish['ask']/middle['ask']*start['bid'] - AMMOUNT)
                                )
                   )
 
        except KeyError:
            pass
    return pd.DataFrame(chains)
 
def place_buy_order(symbol, amount, price, delta):
    order_price = price*(1+delta) 
    order = client.order_limit_buy(symbol=symbol, quantity=amount, price=order_price)
    print(order)
    return order
 
def place_sell_order(symbol, amount, price, delta):
    order_price = price*(1-delta) 
    order = client.order_limit_sell(symbol=symbol, quantity=amount, price=order_price)
    print(order)
    return order 
 
def place_trade_orders(chain, initial_amount):
    final_amount = 0.0
    delta = 0.001 # увеличение/уменьшение цены лимитного ордера для возможного проскальзывания
    orders_type = chain['type']
    pair_1 = chain['start']
    pair_2 = chain['middle']
    pair_3 = chain['finish']
    price_1 = chain['start_price']
    price_2 = chain['middle_price']
    price_3 = chain['finish_price']
                
    if orders_type == 'BUY_BUY_SELL':
        quantity_1 = initial_amount/price_1
        order_1 = place_buy_order(pair_1, quantity_1, price_1, delta)
        
        quantity_2 = quantity_1/price_2
        order_2 = place_buy_order(pair_2, quantity_2, price_2, delta)
        
        quantity_3 = quantity_2
        order_3 = place_sell_order(pair_3, quantity_3, price_3, delta)
        
    elif orders_type == 'BUY_SELL_SELL':
        quantity_1 = initial_amount/price_1
        order_1 = place_buy_order(pair_1, quantity_1, price_1, delta)
        
        quantity_2 = quantity_1
        order_2 = place_sell_order(pair_2, quantity_2, price_2, delta)
        
        quantity_3 = quantity_2 * price_2
        order_3 = place_sell_order(pair_3, quantity_3, price_3, delta)
        #todo сделать проверку ордеров. По какой цене исполнились и исполнились ли вообще. 
        #Если все выполнено то считать результат
    ##############
    time.sleep(60) #ждем минуту чтобы исключить возможный флипинг котировки    
    ##############
    return final_amount
 
def filter_profitable_chains(df):
    MIN_PROFIT = 0.2
    AMMOUNT = 10.14
    profit = df.loc[df['Result']>MIN_PROFIT]
    if not profit.empty:
        print(f"Time-{datetime.now().strftime('%H:%M:%S')}")
        print(profit)
        place_trade_orders(profit.iloc[0], AMMOUNT)
 
while(1):   
    quotes = exchange.fetchBidsAsks()
    chains = get_chains(market_symbols, quotes, 'USDT')
    sorted_chains = chains.sort_values(by='Result', ascending=False)
    filter_profitable_chains(sorted_chains)
    time.sleep(1)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2022, 15:20
Ответы с готовыми решениями:

Каждое значение из string в кавычках в отдельную переменную - десериализация JSON
Есть такая строка: обрезал кавычки

Объяви новую переменную resultString и используй уже объявленные переменные a и b в обратных кавычках (``)
А теперь воспользуемся интерполяцией – вставкой переменных в строку в обратных кавычках. Объяви новую переменную resultString и...

Нужно вывести переменную с метода
Помогите пожалуйста, нужно из класса Mathc вывести в первый в TextField &quot;konec&quot; строку area package sample; import...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2022, 15:20
Помогаю со студенческими работами здесь

Нужно написать своеобразную функцию поиска строк в кавычках
Мне нужна функция которая в текстовом файле примерно со следующим содержанием &quot;string1&quot; sometext &quot;string2&quot; ...

Нужно написать своеобразную функцию поиска строк в кавычках
Мне нужна функция которая в текстовом файле примерно со следующим содержанием &quot;string1&quot; sometext &quot;string2&quot; искала...

Вывести слово в кавычках
Столкнулась с совершенно простой проблемой, но не знаю как её решить! У меня есть слово вот допустим char a=&quot;abcd&quot;; мне нужно...

Вывести слова в кавычках
Не понимаю в чем ошибка. Написать программу которая считывает и выводит цитаты, т.е. предложения заключенные в кавычки. using System; ...

Вывести слова в кавычках
Здравствуйте, как вывести слова в кавычках на С? у меня, почему-то, этот код не работает: #define _CRT_SECURE_NO_WARNINGS #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru