Add data export tools for OHLC and tick data

**New Tools:**
- export_ohlc: Export OHLC bar data from MT5 history to CSV/JSON
- export_ticks: Export tick data from MT5 tick database to CSV/JSON
- list_available_data: List available OHLC and tick data in MT5

**Implementation:**
- definitions/data.rs: Tool schemas for data export
- handlers/data.rs: Handlers that scan MT5 directories:
  - history/*.hst files (OHLC)
  - Tester/cache/* (cached data)
  - Bases/* (tick data)
- Provides guidance on how to export since MT5 uses proprietary binary formats
- Includes MQL5 script template for programmatic export

**Note:** MT5 uses proprietary .hst and .ticks binary formats.
Direct export requires MQL5 script using CopyRates()/CopyTicks().
This commit is contained in:
Devid HW
2026-04-19 02:41:49 +07:00
parent bc5d0d7022
commit 464374f045
4 changed files with 447 additions and 0 deletions
+6
View File
@@ -11,6 +11,7 @@ mod optimization;
mod analysis;
mod setfiles;
mod reports;
mod data;
#[derive(Debug)]
pub struct ToolHandler {
@@ -69,6 +70,11 @@ impl ToolHandler {
"describe_sweep" => setfiles::handle_describe_sweep(args).await,
"list_set_files" => setfiles::handle_list_set_files(&self.config).await,
// Data export handlers
"export_ohlc" => data::handle_export_ohlc(&self.config, args).await,
"export_ticks" => data::handle_export_ticks(&self.config, args).await,
"list_available_data" => data::handle_list_available_data(&self.config, args).await,
// Report handlers
"get_latest_report" => reports::handle_get_latest_report(&self.config, args).await,
"list_reports" => reports::handle_list_reports(args).await,