Manfiest and Strategy data
This commit is contained in:
@@ -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
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user