feat: strategy builder
This commit is contained in:
@@ -147,8 +147,6 @@ def optimize(req: OptimizeRequest):
|
|||||||
objective=req.constraints.objective,
|
objective=req.constraints.objective,
|
||||||
top_n=req.constraints.top_n,
|
top_n=req.constraints.top_n,
|
||||||
)
|
)
|
||||||
except ValueError as e:
|
|
||||||
raise HTTPException(status_code=404, detail=str(e))
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
import traceback
|
import traceback
|
||||||
from services.database import log_system_event
|
from services.database import log_system_event
|
||||||
@@ -158,7 +156,8 @@ def optimize(req: OptimizeRequest):
|
|||||||
message=f"Optimize failed for {req.scenario.symbol}: {e}",
|
message=f"Optimize failed for {req.scenario.symbol}: {e}",
|
||||||
ticker=req.scenario.symbol, details={"error": str(e), "traceback": tb},
|
ticker=req.scenario.symbol, details={"error": str(e), "traceback": tb},
|
||||||
)
|
)
|
||||||
raise HTTPException(status_code=500, detail=f"Erreur optimiseur: {e} (détail complet dans System Logs)")
|
status = 404 if isinstance(e, ValueError) else 500
|
||||||
|
raise HTTPException(status_code=status, detail=f"{e}")
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -733,7 +733,7 @@ export default function StrategyBuilder() {
|
|||||||
|
|
||||||
{optimizeMutation.isError && (
|
{optimizeMutation.isError && (
|
||||||
<div className="px-4 py-3 rounded border border-red-700/40 bg-red-900/10 text-xs text-red-300">
|
<div className="px-4 py-3 rounded border border-red-700/40 bg-red-900/10 text-xs text-red-300">
|
||||||
Erreur lors de l'optimisation.
|
{(optimizeMutation.error as any)?.response?.data?.detail ?? "Erreur lors de l'optimisation."}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{optimizeMutation.data && (
|
{optimizeMutation.data && (
|
||||||
|
|||||||
Reference in New Issue
Block a user