behrouzbz commited on
Commit
6c33f19
·
verified ·
1 Parent(s): 84e5422

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -4
app.py CHANGED
@@ -1,7 +1,5 @@
1
- # app.py
2
  import pandas as pd
3
  import yfinance as yf
4
- import pandas_ta as ta # جایگزین talib
5
  import gradio as gr
6
  import logging
7
 
@@ -14,8 +12,14 @@ class SimpleTrader:
14
  df = df[['Open', 'High', 'Low', 'Close', 'Volume']].rename(columns={
15
  'Open': 'open', 'High': 'high', 'Low': 'low', 'Close': 'close', 'Volume': 'tick_volume'
16
  })
17
- df['rsi'] = ta.rsi(df['close'], length=14) # استفاده از pandas-ta
18
- df['ma20'] = ta.sma(df['close'], length=20) # استفاده از pandas-ta
 
 
 
 
 
 
19
  return df.tail(limit)
20
  except Exception as e:
21
  logging.error(f"Error fetching data: {e}")
 
 
1
  import pandas as pd
2
  import yfinance as yf
 
3
  import gradio as gr
4
  import logging
5
 
 
12
  df = df[['Open', 'High', 'Low', 'Close', 'Volume']].rename(columns={
13
  'Open': 'open', 'High': 'high', 'Low': 'low', 'Close': 'close', 'Volume': 'tick_volume'
14
  })
15
+ # محاسبه RSI به‌صورت دستی
16
+ delta = df['close'].diff()
17
+ gain = (delta.where(delta > 0, 0)).rolling(window=14).mean()
18
+ loss = (-delta.where(delta < 0, 0)).rolling(window=14).mean()
19
+ rs = gain / loss
20
+ df['rsi'] = 100 - (100 / (1 + rs))
21
+ # محاسبه میانگین متحرک
22
+ df['ma20'] = df['close'].rolling(window=20).mean()
23
  return df.tail(limit)
24
  except Exception as e:
25
  logging.error(f"Error fetching data: {e}")