Cooldown config

This commit is contained in:
2026-07-27 01:52:52 +02:00
parent b412cf50ec
commit 99515c17d4
5 changed files with 20 additions and 11 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ pub struct RiskManifest {
version: String,
max_loss: u8,
cooldown: String,
cooldown: CandleInterval,
}
#[pwp]
+2 -2
View File
@@ -103,7 +103,7 @@ pub enum Mode {
#[pwp]
pub enum ItemState {
Running,
Off,
Stopped,
Error,
}
@@ -140,7 +140,7 @@ impl std::fmt::Display for ItemState {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::Running => write!(f, "\x1b[92mRUNNING\x1b[0m"),
Self::Off => write!(f, "\x1b[90mOFF\x1b[0m"),
Self::Stopped => write!(f, "\x1b[90mSTOPPED\x1b[0m"),
Self::Error => write!(f, "\x1b[91mERROR\x1b[0m"),
}
}
+1 -1
View File
@@ -54,7 +54,7 @@ impl Engine {
loop {
refresh.tick().await;
let watch_list = &self.config.lock().await.watchlist.symbols;
let watch_list = &self.config.lock().await.watchlist;
match crate::fetch::fetch_watch_list(&client, watch_list).await {
Ok(watch_list) => {
+15 -6
View File
@@ -1,13 +1,22 @@
#[derive(Debug, Default, serde::Serialize, serde::Deserialize)]
pub struct WatchList {
pub symbols: Vec<String>,
}
use hypersdk::hypercore::CandleInterval;
#[derive(Debug, Default, serde::Serialize, serde::Deserialize)]
#[derive(Debug, serde::Serialize, serde::Deserialize)]
pub struct Config {
pub watchlist: WatchList,
pub watchlist: Vec<String>,
pub strategy: String,
pub risk: String,
pub cooldown: CandleInterval,
}
impl Default for Config {
fn default() -> Self {
Self {
watchlist: vec!["BTC".to_string(), "SOL".to_string(), "ETH".to_string()],
strategy: String::new(),
risk: String::new(),
cooldown: CandleInterval::ThirtyMinutes,
}
}
}
impl Config {
+1 -1
View File
@@ -69,7 +69,7 @@ impl TerminalServer {
risk: engine.strategy.risk.manifest.lock().await.clone(),
mode: Mode::Auto,
state: ItemState::Running,
cooldown: hypersdk::hypercore::CandleInterval::ThirtyMinutes,
cooldown: engine.config.lock().await.cooldown,
}),
)
.await?;