Add report database and improve compile_ea tool
**Report Database (src/storage/):** - New SQLite-based report registry for tracking backtest history - ReportDb with methods: init, list, count, annotate, list_purgeable, delete_entry - Charts relocation to temp directory with automatic cleanup - Set file snapshotting alongside extracted data - Database registration integrated into backtest pipeline **compile_ea Tool Improvements:** - Support both 'expert' (EA name) and 'expert_path' (full path) parameters - Auto-discovery: searches MT5 Experts dir and current directory for .mq5 files - Better error messages when EA not found - Added files_synced and warning_list to response - Updated tool definition to reflect new parameters **Pipeline Updates:** - Backtest pipeline now registers results in database after completion - Equity charts moved to OS temp dir with unique report ID - HTML reports cleaned up after extraction - Set file snapshots preserved for reproducibility **Dependencies:** - Added rusqlite for SQLite database support
This commit is contained in:
@@ -144,12 +144,12 @@ fn tool_compare_baseline() -> Value {
|
||||
fn tool_compile_ea() -> Value {
|
||||
json!({
|
||||
"name": "compile_ea",
|
||||
"description": "Compile an MQL5 Expert Advisor via MetaEditor",
|
||||
"description": "Compile an MQL5 Expert Advisor via MetaEditor. Provide either 'expert' (EA name, searches project and MT5 Experts dirs) or 'expert_path' (full path to .mq5 file).",
|
||||
"inputSchema": {
|
||||
"type": "object",
|
||||
"required": ["expert_path"],
|
||||
"properties": {
|
||||
"expert_path": { "type": "string" }
|
||||
"expert": { "type": "string", "description": "EA name without extension (e.g. 'DPS21')" },
|
||||
"expert_path": { "type": "string", "description": "Full path to the .mq5 source file" }
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user