Ошибка при добавление в словарь
Задача: мы хотим вычислить процент получения прибыли от каждой сделки.
Библиотека которую используем: pip install tradingview-ta
У нас есть словарь с ключами и их значениями. В значениях (values) у нас лист где values1 по умолчанию 0, и values[2] по умолчанию 0.
Мы изменяет значения которые были по умолчанию так:
values[1] = tesla.get_analysis().indicators["open"]
values[2] = tesla.get_analysis().indicators["close"]
в tesla.get_analysis().indicators["open"] выдает такие результаты float и int (к примеру 0.2233, 199.33, 3400)
Я написал формулу которая полностью работает и выглядит так:
from tradingview_ta import TA_Handler, Interval, Exchange
last_order = {
'DARUSDT': ['sell', 0, 0],
'CELRUSDT': ['sell', 0, 0],
'CTSIUSDT': ['sell', 0, 0]
}
while True:
for key, values in last_order.items():
tesla = TA_Handler(
symbol=key,
exchange="BINANCE",
screener="CRYPTO",
interval=Interval.INTERVAL_1_MINUTE,
)
values[1] = tesla.get_analysis().indicators["open"]
values[2] = tesla.get_analysis().indicators["close"]
proverka = values[2] - values[1]
print(f'ваш процент прибыли: {proverka * 100 / values[1]} %')
Но при попытке реализовать в рабочую среду выходит ошибка:
values[2] = tesla.get_analysis().indicators["close"]
TypeError: 'str' object does not support item assignment
вот код рабочей среды в которой ошибка:
from tradingview_ta import TA_Handler, Interval
last_order = {
'DARUSDT': ['sell', 0, 0],
'CELRUSDT': ['sell', 0, 0],
'CTSIUSDT': ['sell', 0, 0]}
while True:
for key, values in last_order.items():
tesla = TA_Handler(
symbol=key,
exchange="BINANCE",
screener="CRYPTO",
interval=Interval.INTERVAL_1_MINUTE,
)
rec = tesla.get_analysis().summary["RECOMMENDATION"]
if values[0] == "sell" and ("STRONG_BUY" in rec):
values[1] = tesla.get_analysis().indicators["open"]
last_order[key] = "buy"
elif values == "buy" and ("STRONG_SELL" in rec):
values[2] = tesla.get_analysis().indicators["close"]
proverka = values[2] - values[1]
print(f'ваш процент прибыли: {proverka * 100 / values[1]}%')
last_order[key] = "sell"
Заметил такую вещь что после добавления в значениях values1 или values[2]. values прекращает быть list. Здесь на фото видно:
