diff --git a/frontend/pages/config/macd_bb_v1/app.py b/frontend/pages/config/macd_bb_v1/app.py index 961d4d5..f061fcc 100644 --- a/frontend/pages/config/macd_bb_v1/app.py +++ b/frontend/pages/config/macd_bb_v1/app.py @@ -7,6 +7,7 @@ from plotly.subplots import make_subplots from CONFIG import BACKEND_API_HOST, BACKEND_API_PORT from backend.services.backend_api_client import BackendAPIClient from frontend.components.backtesting import backtesting_section +from frontend.components.config_loader import get_default_config_loader from frontend.components.save_config import render_save_config from frontend.pages.config.macd_bb_v1.user_inputs import user_inputs from frontend.pages.config.utils import get_candles, get_max_records @@ -24,9 +25,10 @@ from frontend.visualization.utils import add_traces_to_fig initialize_st_page(title="MACD_BB V1", icon="📊", initial_sidebar_state="expanded") backend_api_client = BackendAPIClient.get_instance(host=BACKEND_API_HOST, port=BACKEND_API_PORT) - +get_default_config_loader("macd_bb_v1") # User inputs inputs = user_inputs() +st.session_state["default_config"] = inputs st.write("### Visualizing MACD Bollinger Trading Signals") days_to_visualize = st.number_input("Days to Visualize", min_value=1, max_value=365, value=3) diff --git a/frontend/pages/config/macd_bb_v1/user_inputs.py b/frontend/pages/config/macd_bb_v1/user_inputs.py index aa5d9be..3e7e212 100644 --- a/frontend/pages/config/macd_bb_v1/user_inputs.py +++ b/frontend/pages/config/macd_bb_v1/user_inputs.py @@ -4,24 +4,32 @@ from frontend.components.risk_management import get_risk_management_inputs def user_inputs(): + default_config = st.session_state.get("default_config", {}) + bb_length = default_config.get("bb_length", 100) + bb_std = default_config.get("bb_std", 2.0) + bb_long_threshold = default_config.get("bb_long_threshold", 0.0) + bb_short_threshold = default_config.get("bb_short_threshold", 1.0) + macd_fast = default_config.get("macd_fast", 21) + macd_slow = default_config.get("macd_slow", 42) + macd_signal = default_config.get("macd_signal", 9) connector_name, trading_pair, leverage, total_amount_quote, max_executors_per_side, cooldown_time, position_mode, candles_connector_name, candles_trading_pair, interval = get_directional_trading_general_inputs() sl, tp, time_limit, ts_ap, ts_delta, take_profit_order_type = get_risk_management_inputs() with st.expander("MACD Bollinger Configuration", expanded=True): c1, c2, c3, c4, c5, c6, c7 = st.columns(7) with c1: - bb_length = st.number_input("Bollinger Bands Length", min_value=20, max_value=200, value=100) + bb_length = st.number_input("Bollinger Bands Length", min_value=5, max_value=1000, value=bb_length) with c2: - bb_std = st.number_input("Standard Deviation Multiplier", min_value=1.0, max_value=5.0, value=2.0) + bb_std = st.number_input("Standard Deviation Multiplier", min_value=1.0, max_value=2.0, value=bb_std) with c3: - bb_long_threshold = st.number_input("Long Threshold", value=0.2) + bb_long_threshold = st.number_input("Long Threshold", value=bb_long_threshold) with c4: - bb_short_threshold = st.number_input("Short Threshold", value=0.8) + bb_short_threshold = st.number_input("Short Threshold", value=bb_short_threshold) with c5: - macd_fast = st.number_input("MACD Fast", min_value=1, value=21) + macd_fast = st.number_input("MACD Fast", min_value=1, value=macd_fast) with c6: - macd_slow = st.number_input("MACD Slow", min_value=1, value=42) + macd_slow = st.number_input("MACD Slow", min_value=1, value=macd_slow) with c7: - macd_signal = st.number_input("MACD Signal", min_value=1, value=9) + macd_signal = st.number_input("MACD Signal", min_value=1, value=macd_signal) return { "controller_name": "macd_bb_v1",