File size: 2,396 Bytes
3f3a01c
79384a6
 
 
02e7554
79384a6
 
02e7554
4d6d28b
79384a6
 
 
02e7554
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import os
import sys

# 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)}")