diff --git a/src/pages/screener/technical_scanner_page.py b/src/pages/screener/technical_scanner_page.py index 3e8924d..5f96bab 100644 --- a/src/pages/screener/technical_scanner_page.py +++ b/src/pages/screener/technical_scanner_page.py @@ -64,17 +64,19 @@ def technical_scanner_page(): ) if signals: st.success(f"Found {len(signals)} signals") - for signal in signals: - with st.expander(f"{signal['ticker']} - ${signal['entry_price']:.2f}"): - col1, col2 = st.columns(2) - with col1: - st.metric("Entry Price", f"${signal['entry_price']:.2f}") - st.metric("Target", f"${signal['target_price']:.2f}") - st.metric("Stop Loss", f"${signal['stop_loss']:.2f}") - with col2: - st.metric("Shares", signal['shares']) - st.metric("Position Size", f"${signal['position_size']:.2f}") - st.metric("Risk Amount", f"${abs(signal['risk_amount']):.2f}") + # Create a summary table + summary_df = pd.DataFrame(signals)[['ticker', 'entry_price', 'target_price', 'stop_loss']] + summary_df = summary_df.round(2) # Round numeric columns to 2 decimal places + st.dataframe(summary_df) + + # Add a download button for the full results + full_df = pd.DataFrame(signals) + st.download_button( + label="Download Full Results", + data=full_df.to_csv(index=False), + file_name="scanner_results.csv", + mime='text/csv' + ) else: st.info("No signals found") except Exception as e: