Update app.py
Browse files
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 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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}")
|