use num_enum::{IntoPrimitive, TryFromPrimitive};
#[derive(Debug, Clone, Copy, PartialEq, Eq, IntoPrimitive, TryFromPrimitive)]
#[cfg(feature = "i64")]
#[repr(i64)]
pub enum MAType {
DEMA = 0,
EMA = 1,
KAMA = 2,
MAMA = 3,
RMA = 4,
SMA = 5,
T3 = 6,
TEMA = 7,
TRIMA = 8,
WMA = 9,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, IntoPrimitive, TryFromPrimitive)]
#[cfg(not(feature = "i64"))]
#[repr(i32)]
pub enum MAType {
DEMA = 0,
EMA = 1,
KAMA = 2,
MAMA = 3,
RMA = 4,
SMA = 5,
T3 = 6,
TEMA = 7,
TRIMA = 8,
WMA = 9,
}
impl Default for MAType {
fn default() -> Self {
Self::SMA
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, IntoPrimitive, TryFromPrimitive)]
#[cfg(feature = "i64")]
#[repr(i64)]
pub enum Signal {
Bullish = 100,
Balance = 50,
Bearish = -100,
Neutral = 0,
Pattern = 1,
Invalid = -1,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, IntoPrimitive, TryFromPrimitive)]
#[cfg(not(feature = "i64"))]
#[repr(i32)]
pub enum Signal {
Bullish = 100,
Balance = 50,
Bearish = -100,
Neutral = 0,
Pattern = 1,
Invalid = -1,
}
impl Default for Signal {
fn default() -> Self {
Self::Neutral
}
}