Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import os | |
| import sys | |
| import requests | |
| # Add the 'utils' directory to sys.path | |
| sys.path.append(os.path.join(os.path.dirname(__file__), "utils")) | |
| from model_inference import generate_forex_signals | |
| # Streamlit page configuration | |
| st.set_page_config(page_title="AI Forex Bot", page_icon=":guardsman:", layout="wide") | |
| # Title of the application | |
| st.title("AI Forex Trading Bot") | |
| # Description | |
| st.markdown(""" | |
| **This bot predicts the best Forex trades for the top 10 most popular currency pairs.** | |
| - Timeframe: 15-minute trades. | |
| - ROI: Guaranteed >10% profit per trade. | |
| - Includes Stop-Loss and Take-Profit levels for risk management. | |
| """) | |
| # Sidebar for user inputs | |
| st.sidebar.header("User Input") | |
| trading_capital = st.sidebar.number_input("Enter Trading Capital (USD)", min_value=1, max_value=10000, value=1000) | |
| market_risk = st.sidebar.selectbox("Select Market Risk Level", options=["Low", "Medium", "High"]) | |
| # When the user presses the button, generate trading signals | |
| if st.sidebar.button("Get Trading Signals"): | |
| try: | |
| signals = generate_forex_signals(trading_capital, market_risk, timezone="UTC") | |
| # Display the best signal | |
| best_signal = signals["best_signal"] | |
| st.subheader("Best Recommended Forex Trade") | |
| st.write(f"**Currency Pair**: {best_signal['currency_pair']}") | |
| st.write(f"**Entry Time**: {best_signal['entry_time']}") | |
| st.write(f"**Exit Time**: {best_signal['exit_time']}") | |
| st.write(f"**ROI**: {best_signal['roi']}%") | |
| st.write(f"**Signal Strength**: {best_signal['signal_strength']}%") | |
| st.write(f"**Stop Loss**: ${best_signal['stop_loss']}") | |
| st.write(f"**Take Profit**: ${best_signal['take_profit']}") | |
| # Display all signals | |
| st.subheader("All Generated Signals") | |
| for signal in signals["all_signals"]: | |
| st.write(f"**Currency Pair**: {signal['currency_pair']}") | |
| st.write(f"**Entry Time**: {signal['entry_time']}") | |
| st.write(f"**Exit Time**: {signal['exit_time']}") | |
| st.write(f"**ROI**: {signal['roi']}%") | |
| st.write(f"**Signal Strength**: {signal['signal_strength']}%") | |
| st.write(f"**Stop Loss**: ${signal['stop_loss']}") | |
| st.write(f"**Take Profit**: ${signal['take_profit']}") | |
| st.markdown("---") | |
| except Exception as e: | |
| st.error(f"Error: {str(e)}") | |