Added more formatting options

This commit is contained in:
2026-08-01 20:25:50 +02:00
parent a56b0004cf
commit bfac0c340f
4 changed files with 44 additions and 8 deletions
+4 -3
View File
@@ -1,5 +1,5 @@
use crate::{ use crate::{
general::{Allocation, EngineStatus, EventLog, Position, Signal}, general::{EngineStatus, EventLog, Position, Signal},
strategy::StrategyManifest, strategy::StrategyManifest,
}; };
use hypersdk::Decimal; use hypersdk::Decimal;
@@ -65,8 +65,9 @@ pub enum InspectItem {
pub struct EngineConfig { pub struct EngineConfig {
pub preset: String, pub preset: String,
pub strategy: StrategyManifest, pub strategy: StrategyManifest,
pub description: Option<String>,
pub risk_per_trade: Allocation, pub risk_per_trade: String,
pub max_open_positions: u32, pub max_open_positions: u32,
pub max_daily_loss: Allocation, pub max_daily_loss: String,
} }
+3 -2
View File
@@ -109,9 +109,10 @@ impl Engine {
Ok(EngineConfig { Ok(EngineConfig {
preset: manager.preset.clone(), preset: manager.preset.clone(),
strategy: self.strategy_engine.strategy.lock().await.manifest.clone(), strategy: self.strategy_engine.strategy.lock().await.manifest.clone(),
description: config.description.clone(),
risk_per_trade: config.risk.risk_per_trade, risk_per_trade: config.risk.risk_per_trade.to_string(),
max_daily_loss: config.risk.max_daily_loss, max_daily_loss: config.risk.max_daily_loss.to_string(),
max_open_positions: config.risk.max_open_positions, max_open_positions: config.risk.max_open_positions,
}) })
} }
+16 -2
View File
@@ -219,12 +219,26 @@ impl Formatted for EngineConfig {
Triple( Triple(
"\x1b[2mPreset\x1b[0m", "\x1b[2mPreset\x1b[0m",
"\x1b[2mStrategy\x1b[0m", "\x1b[2mStrategy\x1b[0m",
"\x1b[2mRisk\x1b[0m", "\x1b[2mDescription\x1b[0m",
), ),
Triple( Triple(
&self.preset, &self.preset,
&self.strategy.name, &self.strategy.name,
&self.risk_per_trade.to_string(), self.description
.as_ref()
.map(String::as_str)
.unwrap_or("none"),
),
Triple("", "", ""),
Triple(
"\x1b[2mRisk/Trade\x1b[0m",
"\x1b[2mMax Positions\x1b[0m",
"\x1b[2mMax daily loss\x1b[0m",
),
Triple(
&self.risk_per_trade,
&self.max_open_positions.to_string(),
&self.max_daily_loss,
), ),
] ]
.get_formatted() .get_formatted()
+21 -1
View File
@@ -66,7 +66,27 @@ impl TerminalClient {
) )
.await .await
{ {
panic!("{v}") crossterm::terminal::disable_raw_mode().unwrap();
crossterm::execute!(std::io::stdout(), crossterm::cursor::Show).unwrap();
crossterm::execute!(
std::io::stdout(),
crossterm::terminal::Clear(crossterm::terminal::ClearType::Purge)
)
.unwrap();
crossterm::execute!(
std::io::stdout(),
crossterm::terminal::Clear(crossterm::terminal::ClearType::All)
)
.unwrap();
crossterm::execute!(std::io::stdout(), crossterm::cursor::MoveTo(0, 0)).unwrap();
println!("Error using app: {v}");
std::process::exit(1);
} }
}); });