From 70a9e2b56995b20b7bc6ed297fe29fe532317e34 Mon Sep 17 00:00:00 2001 From: OpenSquared Date: Tue, 23 Jun 2026 13:41:50 +0200 Subject: [PATCH] fix: inject specialist desks context into pattern suggestion prompt suggest_patterns_from_market_context() was missing the specialist desk block that score_patterns_with_context() already received. All 7 desks (forex, metals, agri, energy, indices, crypto, bonds) with their fundamentals, macro sensitivity, and upcoming reports are now injected so the AI can generate targeted patterns per desk rather than generic ones. Co-Authored-By: Claude Sonnet 4.6 --- backend/services/ai_analyzer.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/backend/services/ai_analyzer.py b/backend/services/ai_analyzer.py index 2702342..59c888b 100644 --- a/backend/services/ai_analyzer.py +++ b/backend/services/ai_analyzer.py @@ -1480,6 +1480,11 @@ Additional rules: portfolio_section = f"\n{portfolio_context_block}\n" if portfolio_context_block else "" convergence_section = f"\n{convergence_block}\n" if convergence_block else "" + # Inject all specialist desks — helps AI generate patterns across all asset classes + _all_desks = {"forex", "metals", "agri", "energy", "indices", "crypto", "bonds"} + specialist_block_suggest = _build_specialist_context_block(_all_desks) + specialist_section = f"\n{specialist_block_suggest}\n" if specialist_block_suggest else "" + _sg_budget = _cycle_meta.get("trade_budget_eur", 5000) _sg_h_min = _cycle_meta.get("preferred_horizon_min", 30) _sg_h_max = _cycle_meta.get("preferred_horizon_max", 180) @@ -1494,7 +1499,7 @@ Additional rules: user = f"""You are a senior geopolitical and financial strategist, expert in options. {_suggest_mandate} -{macro_block}{geo_block}{lessons_block}{reliability_block}{iv_block} +{macro_block}{geo_block}{lessons_block}{reliability_block}{iv_block}{specialist_section} {temporal_news_block} ## Market prices (D-1 change) {market_block}