fix: batch backtest lot size, DD% formula, max position exposure

- mt5_batch_backtest.py / view_batch_backtest.py: fix update_param to
  clear MT5 .set flag bit 2 (use-default) and update default field so
  manual lot size actually takes effect
- view_portfolio_master.py: Max DD% now uses deposit not running peak,
  Max Position Exposure rebuilt as proper timeline sweep
- view_portfolio_builder.py: Max DD% formula aligned to match master
- view_portfolio_master.py / view_portfolio_builder.py: results table
  now shows full stats columns including Stability score
This commit is contained in:
unknown
2026-04-13 15:46:52 +10:00
parent 0d5746c89a
commit 06e23e1d7a
5 changed files with 2120 additions and 2 deletions
+10 -2
View File
@@ -142,8 +142,8 @@ with st.sidebar:
st.markdown("---")
page = option_menu(
menu_title = None,
options = ["Trade Analysis", "Trade Compare", "EA Comparator", "Batch Backtest", "Settings"],
icons = ["bar-chart-line", "arrow-left-right", "sliders", "cpu", "gear"],
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"},
@@ -170,6 +170,14 @@ if page == "Trade Analysis":
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)