""" MT5 Tools Dashboard =================== Streamlit app for MT5 trade analysis and comparison. Launch: streamlit run app.py """ import streamlit as st from streamlit_option_menu import option_menu import importlib, sys, os import view_settings view_settings.inject_theme_css() # ── Page config ─────────────────────────────────────────────────────────────── st.set_page_config( page_title = "MT5 Tools", page_icon = "📈", layout = "wide", initial_sidebar_state = "expanded" ) # ── Theme ───────────────────────────────────────────────────────────────────── st.markdown(""" """, unsafe_allow_html=True) # ── Sidebar nav ─────────────────────────────────────────────────────────────── with st.sidebar: st.markdown("### 📈 MT5 Tools") st.markdown("---") page = option_menu( menu_title = None, options = ["Trade Analysis", "Trade Compare", "Portfolio Builder", "Portfolio Master", "EA Comparator", "Batch Backtest", "Settings"], icons = ["bar-chart-line", "arrow-left-right", "briefcase", "trophy", "sliders", "cpu", "gear"], default_index = 0, styles = { "container" : {"background-color": "transparent", "padding": "0"}, "icon" : {"color": "#7c6af7", "font-size": "14px"}, "nav-link" : { "font-family" : "Syne, sans-serif", "font-size" : "13px", "font-weight" : "600", "color" : "#aaa", "border-radius": "6px", "margin" : "2px 0", }, "nav-link-selected": { "background-color": "rgba(124,106,247,0.15)", "color" : "#c5beff", "border" : "1px solid rgba(124,106,247,0.25)", }, } ) # ── Route pages ─────────────────────────────────────────────────────────────── if page == "Trade Analysis": import view_trade_analysis as p importlib.reload(p) p.render() elif page == "Portfolio Builder": import view_portfolio_builder as p p.render() elif page == "Portfolio Master": import view_portfolio_master as p p.render() elif page == "Trade Compare": import view_trade_compare as p importlib.reload(p) p.render() elif page == "EA Comparator": import view_set_comparator as p importlib.reload(p) p.render() elif page == "Batch Backtest": import view_batch_backtest as p importlib.reload(p) p.render() elif page == "Settings": import view_settings as p importlib.reload(p) p.render()