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]
#[derive(serde::Deserialize, serde::Serialize)]
pub struct Strategy {
pub struct StrategyManifest {
name: String,
timeframes: Vec<TimeFrame>,
description: String,
author: String,
version: String,
timeframes: Vec<TimeFrame>,
}
#[pwp]
#[derive(serde::Deserialize, serde::Serialize)]
pub struct Risk {
pub struct RiskManifest {
name: String,
description: String,
author: String,
version: String,
max_loss: u8,
cooldown: TimeFrame,
}
+20 -11
View File
@@ -1,8 +1,8 @@
use crate::{
PulseWire,
general::{EventLog, MarketTrend, Position, Signal},
strategy::{Risk, Strategy},
units::{Symbol, USD, Volatility},
strategy::{RiskManifest, StrategyManifest},
units::{Symbol, TimeFrame, USD, Volatility},
};
use pulse_macros::pwp;
@@ -87,24 +87,33 @@ pub enum InspectItem {
#[pwp]
pub struct Status {
feed: Feed,
feed: Mode,
exchange: String,
dex: String,
latency: u16,
}
#[pwp]
pub enum Feed {
Connected,
Disconnected,
Connecting,
Failed,
pub enum Mode {
Auto,
Manual,
}
#[pwp]
pub struct StrategyView {
strategy: Strategy,
risk: Risk,
pub enum ItemState {
Running,
Off,
Error,
}
#[pwp]
pub struct Strategy {
strategy: StrategyManifest,
risk: RiskManifest,
mode: Mode,
state: ItemState,
cooldown: TimeFrame,
}
impl std::fmt::Display for AlertLevel {