import streamlit as st import datetime from algo_trade_poc import AlgoTradeCore st.set_page_config(page_title="Algo Trading Backtest", layout="wide") st.title("📈 Algo Trading Backtest & Google Sheets Logger") stock = st.text_input("Enter stock symbol (Yahoo Finance format)", value="RELIANCE.NS") json_path = "gdrive_api.json" end_date = datetime.date.today() start_date = end_date - datetime.timedelta(days=180) if st.button("Fetch & Process Data"): try: core = AlgoTradeCore(json_path) df, buy_signals, df_trades, df_summary, df_winratio = core.fetch_and_process(stock, start_date, end_date) tab1, tab2 = st.tabs(["📊 All Data", "💹 Buy Signals"]) with tab1: st.dataframe(df, use_container_width=True) csv = df.to_csv(index=False).encode("utf-8") st.download_button("Download CSV", csv, f"{stock}_data.csv", "text/csv") with tab2: st.dataframe(buy_signals, use_container_width=True) csv2 = buy_signals.to_csv(index=False).encode("utf-8") st.download_button("Download Buy Signals CSV", csv2, f"{stock}_buy_signals.csv", "text/csv") # core.log_to_sheets(df_trades, df_summary, df_winratio) # st.success("✅ Data sent to Google Sheets successfully!") except Exception as e: st.error(f"Error: {e}")