d41c51bae4
High Priority Tools: - check_symbol_data_status: validate symbol history data availability - get_backtest_history: list all backtest results for EA/symbol - compare_backtests: side-by-side comparison of multiple backtests Medium Priority Tools: - init_project: scaffold new MQL5 project with templates (scalper/swing/grid) - validate_ea_syntax: pre-compile syntax checking - check_mt5_status: check MT5 terminal readiness Low Priority Tools: - create_set_template: generate .set files from EA inputs - export_report: export reports to CSV/JSON/Markdown Other Changes: - Consolidate config into src/models/config.rs, delete src/config.rs - Add CurrentAccount with UTF-16LE parsing for common.ini - Add BacktestPreflight struct for pre-flight checks - Update backtest handler with active account context - Update list_symbols to filter by active server Total tools: 57
48 lines
1.3 KiB
Rust
48 lines
1.3 KiB
Rust
use serde_json::{json, Value};
|
|
|
|
pub fn tool_healthcheck() -> Value {
|
|
json!({
|
|
"name": "healthcheck",
|
|
"description": "System health check with OS detection and configuration validation",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"detailed": { "type": "boolean", "description": "Include detailed system info", "default": false }
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
pub fn tool_verify_setup() -> Value {
|
|
json!({
|
|
"name": "verify_setup",
|
|
"description": "Validate MT5-Quant environment configuration",
|
|
"inputSchema": {
|
|
"type": "object"
|
|
}
|
|
})
|
|
}
|
|
|
|
pub fn tool_list_symbols() -> Value {
|
|
json!({
|
|
"name": "list_symbols",
|
|
"description": "List symbols with local tick history",
|
|
"inputSchema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"server": { "type": "string" }
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
pub fn tool_get_active_account() -> Value {
|
|
json!({
|
|
"name": "get_active_account",
|
|
"description": "Get the currently active MT5 account session info (login, server, available symbols). Use this before backtesting to ensure symbol compatibility.",
|
|
"inputSchema": {
|
|
"type": "object"
|
|
}
|
|
})
|
|
}
|