Spaces:
Sleeping
Sleeping
File size: 3,063 Bytes
3f3a01c 79384a6 71ba210 4d6d28b 79384a6 4d6d28b 3f3a01c 4d6d28b a2a7548 4d6d28b ee77f9e 4d6d28b a2a7548 4d6d28b 3f3a01c 4d6d28b a2a7548 79384a6 4d6d28b d114cd5 a2a7548 4d6d28b a2a7548 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
import streamlit as st
import os
import sys
# Add the 'utils' directory to sys.path so Python can find modules within it
sys.path.append(os.path.join(os.path.dirname(__file__), "utils"))
from utils.forex_signals import generate_forex_signals
# Streamlit page configuration
st.set_page_config(page_title="AI Forex Bot", page_icon=":guardsman:", layout="wide")
# Authentication logic
if "authenticated" not in st.session_state:
st.session_state.authenticated = False
if not st.session_state.authenticated:
st.title("Authentication Required")
username = st.text_input("Enter your username", "")
if st.button("Login"):
# Simple authentication
ALLOWED_USERNAMES = ["ddilloud", "ved", "aditya", "karlmax", "bento"]
if username in ALLOWED_USERNAMES:
st.session_state.authenticated = True
st.success("Login successful! Welcome!")
else:
st.error("Invalid username. Access denied.")
else:
# Title of the application
st.title("AI Forex Trading Bot")
st.markdown("""
This tool provides forex trading signals based on AI analysis and is for informational purposes only.
Use at your own risk as forex trading involves substantial risk of loss.
""")
# 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", ["Low", "Medium", "High"])
additional_pairs = [
"EUR/USD", "GBP/USD", "USD/JPY", "AUD/USD", "CAD/JPY",
"NZD/USD", "CHF/JPY", "AUD/JPY", "GBP/CHF", "EUR/GBP"
]
if st.sidebar.button("Get Trading Signals"):
try:
signals = generate_forex_signals(trading_capital, market_risk, additional_pairs)
if signals["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.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.markdown("---")
else:
st.warning("No signals were generated. Please try again later.")
except Exception as e:
st.error(f"An error occurred: {str(e)}")
|