Devendra21 commited on
Commit
7d4c7d6
·
verified ·
1 Parent(s): 3f3a01c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -24
app.py CHANGED
@@ -1,33 +1,42 @@
1
  import streamlit as st
2
- from utils.data_preprocessing import preprocess_data
3
- from utils.model_inference import generate_forex_signals
4
- from utils.sentiment_analysis import fetch_sentiment
5
 
6
- # Load models and data
7
- import os
8
- from dotenv import load_dotenv
9
- load_dotenv()
10
-
11
- # APIs from .env
12
- NEWS_API_KEY = os.getenv("NEWS_API_KEY")
13
- FMP_API_KEY = os.getenv("FMP_API_KEY")
14
-
15
- # Streamlit UI
16
  st.title("AI Forex Bot")
17
  st.sidebar.header("User Input")
18
 
19
- # User inputs
20
- trading_capital = st.sidebar.number_input("Trading Capital (USD)", min_value=100.0, step=10.0)
21
- risk_level = st.sidebar.selectbox("Market Risk Level", ["Low", "Medium", "High"])
 
 
 
 
 
 
 
22
 
 
 
 
 
 
 
 
23
  if st.sidebar.button("Generate Signals"):
24
- # Backend logic
25
  forex_signals = generate_forex_signals(trading_capital, risk_level)
26
- sentiment = fetch_sentiment(forex_signals['currency_pair'], NEWS_API_KEY)
 
 
 
 
 
27
  st.write("### Results")
28
- st.write(f"Profitable Currency Pair: {forex_signals['currency_pair']}")
29
- st.write(f"Entry Time: {forex_signals['entry_time']}")
30
- st.write(f"Exit Time: {forex_signals['exit_time']}")
31
- st.write(f"ROI: {forex_signals['roi']}%")
32
- st.write(f"Signal Strength: {forex_signals['signal_strength']}")
33
- st.write(f"Market Sentiment: {sentiment}")
 
1
  import streamlit as st
2
+ import datetime
3
+ from model_inference import generate_forex_signals
4
+ from config import RISK_LEVELS
5
 
6
+ # Streamlit app setup
 
 
 
 
 
 
 
 
 
7
  st.title("AI Forex Bot")
8
  st.sidebar.header("User Input")
9
 
10
+ # Input: Trading Capital
11
+ trading_capital = st.sidebar.number_input(
12
+ "Trading Capital (USD)",
13
+ min_value=1.0,
14
+ max_value=10000.0,
15
+ step=1.0
16
+ )
17
+
18
+ # Input: Risk Level
19
+ risk_level = st.sidebar.selectbox("Market Risk Level", options=list(RISK_LEVELS.keys()))
20
 
21
+ # Input: User's current time
22
+ user_timezone_time = st.sidebar.time_input(
23
+ "Enter Current Time (Your Time Zone)",
24
+ value=datetime.datetime.now().time()
25
+ )
26
+
27
+ # Generate signals button
28
  if st.sidebar.button("Generate Signals"):
29
+ # Call backend logic
30
  forex_signals = generate_forex_signals(trading_capital, risk_level)
31
+
32
+ # Adjust entry and exit times based on user's time
33
+ entry_time = datetime.datetime.combine(datetime.date.today(), user_timezone_time)
34
+ exit_time = entry_time + datetime.timedelta(hours=2)
35
+
36
+ # Display results
37
  st.write("### Results")
38
+ st.write(f"**Profitable Currency Pair**: {forex_signals['currency_pair']}")
39
+ st.write(f"**Entry Time**: {entry_time.strftime('%Y-%m-%d %H:%M:%S')}")
40
+ st.write(f"**Exit Time**: {exit_time.strftime('%Y-%m-%d %H:%M:%S')}")
41
+ st.write(f"**ROI**: {forex_signals['roi']}%")
42
+ st.write(f"**Signal Strength**: {forex_signals['signal_strength']}")