Manfiest and Strategy data

This commit is contained in:
2026-07-25 17:45:41 +02:00
parent acb81b4f27
commit 083e0bdd8b
2 changed files with 30 additions and 14 deletions
+10 -3
View File
@@ -3,16 +3,23 @@ use pulse_macros::pwp;
#[pwp] #[pwp]
#[derive(serde::Deserialize, serde::Serialize)] #[derive(serde::Deserialize, serde::Serialize)]
pub struct Strategy { pub struct StrategyManifest {
name: String, name: String,
timeframes: Vec<TimeFrame>,
description: String, description: String,
author: String, author: String,
version: String,
timeframes: Vec<TimeFrame>,
} }
#[pwp] #[pwp]
#[derive(serde::Deserialize, serde::Serialize)] #[derive(serde::Deserialize, serde::Serialize)]
pub struct Risk { pub struct RiskManifest {
name: String, name: String,
description: String,
author: String,
version: String,
max_loss: u8, max_loss: u8,
cooldown: TimeFrame,
} }
+20 -11
View File
@@ -1,8 +1,8 @@
use crate::{ use crate::{
PulseWire, PulseWire,
general::{EventLog, MarketTrend, Position, Signal}, general::{EventLog, MarketTrend, Position, Signal},
strategy::{Risk, Strategy}, strategy::{RiskManifest, StrategyManifest},
units::{Symbol, USD, Volatility}, units::{Symbol, TimeFrame, USD, Volatility},
}; };
use pulse_macros::pwp; use pulse_macros::pwp;
@@ -87,24 +87,33 @@ pub enum InspectItem {
#[pwp] #[pwp]
pub struct Status { pub struct Status {
feed: Feed, feed: Mode,
exchange: String, exchange: String,
dex: String, dex: String,
latency: u16, latency: u16,
} }
#[pwp] #[pwp]
pub enum Feed { pub enum Mode {
Connected, Auto,
Disconnected, Manual,
Connecting,
Failed,
} }
#[pwp] #[pwp]
pub struct StrategyView { pub enum ItemState {
strategy: Strategy, Running,
risk: Risk, Off,
Error,
}
#[pwp]
pub struct Strategy {
strategy: StrategyManifest,
risk: RiskManifest,
mode: Mode,
state: ItemState,
cooldown: TimeFrame,
} }
impl std::fmt::Display for AlertLevel { impl std::fmt::Display for AlertLevel {