sandbox_quant/visualization/
types.rs1use std::path::PathBuf;
2
3use crate::app::bootstrap::BinanceMode;
4use crate::backtest_app::runner::{BacktestConfig, BacktestReport};
5use crate::dataset::types::{
6 BacktestDatasetSummary, BacktestRunSummaryRow, BookTickerRow, DerivedKlineRow,
7 LiquidationEventRow, RecorderMetrics,
8};
9use crate::strategy::model::StrategyTemplate;
10
11#[derive(Debug, Clone, PartialEq)]
12pub struct DashboardQuery {
13 pub mode: BinanceMode,
14 pub base_dir: PathBuf,
15 pub symbol: String,
16 pub from: chrono::NaiveDate,
17 pub to: chrono::NaiveDate,
18 pub selected_run_id: Option<i64>,
19 pub run_limit: usize,
20}
21
22#[derive(Debug, Clone, PartialEq)]
23pub struct BacktestRunRequest {
24 pub mode: BinanceMode,
25 pub base_dir: PathBuf,
26 pub symbol: String,
27 pub from: chrono::NaiveDate,
28 pub to: chrono::NaiveDate,
29 pub template: StrategyTemplate,
30 pub config: BacktestConfig,
31 pub run_limit: usize,
32}
33
34#[derive(Debug, Clone, PartialEq)]
35pub struct MarketSeries {
36 pub symbol: String,
37 pub liquidations: Vec<LiquidationEventRow>,
38 pub book_tickers: Vec<BookTickerRow>,
39 pub klines: Vec<DerivedKlineRow>,
40 pub kline_interval: Option<String>,
41}
42
43#[derive(Debug, Clone, PartialEq)]
44pub struct PricePoint {
45 pub time_ms: i64,
46 pub price: f64,
47}
48
49#[derive(Debug, Clone, PartialEq)]
50pub struct EquityPoint {
51 pub time_ms: i64,
52 pub equity: f64,
53}
54
55#[derive(Debug, Clone, PartialEq, Eq)]
56pub enum SignalKind {
57 Entry,
58 TakeProfit,
59 StopLoss,
60 OpenAtEnd,
61}
62
63#[derive(Debug, Clone, PartialEq)]
64pub struct SignalMarker {
65 pub time_ms: i64,
66 pub price: f64,
67 pub label: String,
68 pub kind: SignalKind,
69}
70
71#[derive(Debug, Clone, PartialEq)]
72pub struct DashboardSnapshot {
73 pub mode: BinanceMode,
74 pub base_dir: PathBuf,
75 pub db_path: PathBuf,
76 pub symbol: String,
77 pub from: chrono::NaiveDate,
78 pub to: chrono::NaiveDate,
79 pub available_symbols: Vec<String>,
80 pub recorder_metrics: RecorderMetrics,
81 pub dataset_summary: BacktestDatasetSummary,
82 pub market_series: MarketSeries,
83 pub recent_runs: Vec<BacktestRunSummaryRow>,
84 pub selected_report: Option<BacktestReport>,
85 pub selected_run_id: Option<i64>,
86}