I'd like to call the return value of the five ticker and use it
TypeError: 'Tuple' object is not callable
error.
(ticker_head = ticker_head()
on the last line.
No matter how much I search Google, I don't know why. I'd appreciate your help, masters.
def ticker_head():
# ticker (KRW) lookup
tickers = pyupbit.get_tickers(fiat="KRW")
# ticker lookup and dataframe generation
df = pd.DataFrame(columns=['ticker', 'rate', 'CRNT_price'])
for ticker in tickers:
# 5-hour moving average check
ma5h = get_ma5h(ticker)
# Current price inquiry
current_price = pyupbit.get_current_price(ticker)
# Calculation of the rate of change in the current price compared to the 5-hour moving average line
rate = round((current_price/ma5h-1)*100, 2)
# Create dateframe
df = pd.concat([df, pd.DataFrame([[ticker, rate, current_price]], columns=[
'ticker', 'rate', 'CRNT_price'])], ignore_index=True)
# Rate of fluctuation, delete KRW-BTC index
udf = df.sort_values(by=['rate', 'ticker'], ascending=False)
filtered_udf = udf[~udf['ticker'].isin(['KRW-BTC'])]
# Top 5 ticker outputs
udf_head = filtered_udf.head()
# Reset Index
udf_head_rst_idx = udf_head.reset_index(drop=False)
print(udf_head_rst_idx)
# # print(udf_rev_head_rst_idx)
ticker_1 = udf_head_rst_idx.loc[0][1]
ticker_2 = udf_head_rst_idx.loc[1][1]
ticker_3 = udf_head_rst_idx.loc[2][1]
ticker_4 = udf_head_rst_idx.loc[3][1]
ticker_5 = udf_head_rst_idx.loc[4][1]
# # print(ticker_1, ticker_2, ticker_3, ticker_4, ticker_5)
# Excel output (full ticker)
udf.to_excel(excel_writer='under_sort_rate.xlsx')
return ticker_1, ticker_2, ticker_3, ticker_4, ticker_5
# Defining an index for 1 hour repetition
interval_df = pyupbit.get_ohlcv("KRW-BTC", interval="minute60", count=1)
# Current time
now = datetime.datetime.now()
while True:
# a one-hour repetition
for h_period in interval_df.index:
start_time = h_period
end_time = h_period + datetime.timedelta(hours=1)
# Top 5 ticker lookups
ticker_head = ticker_head()
Entering the for statement, ticker_head is a function at first. So the phrase ticker_head() works.
However, once the syntax ticker_head = ticker_head() is performed, ticker_head becomes the first tuple returned from the ticker_head function. The variables get contaminated.
So when you run the second loop in the for statement, the phrase ticker_head() commands you to perform the "tuple" ticker_head as a function
is an error.
© 2024 OneMinuteCode. All rights reserved.