pub struct MacdSignal {
pub fast: usize,
pub slow: usize,
pub signal: usize,
/* private fields */
}Expand description
MACD Signal Strategy
Goes long when MACD line crosses above signal line.
Exits when MACD line crosses below signal line.
Emits short signals on bearish crossovers (execution gated by
BacktestConfig::allow_short).
Fields§
§fast: usizeFast EMA period
slow: usizeSlow EMA period
signal: usizeSignal line period
Implementations§
Trait Implementations§
Source§impl Clone for MacdSignal
impl Clone for MacdSignal
Source§fn clone(&self) -> MacdSignal
fn clone(&self) -> MacdSignal
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MacdSignal
impl Debug for MacdSignal
Source§impl Default for MacdSignal
impl Default for MacdSignal
Source§impl Strategy for MacdSignal
impl Strategy for MacdSignal
Source§fn required_indicators(&self) -> Vec<(String, Indicator)>
fn required_indicators(&self) -> Vec<(String, Indicator)>
Required indicators this strategy needs. Read more
Source§fn setup(&mut self, indicators: &HashMap<String, Vec<Option<f64>>>)
fn setup(&mut self, indicators: &HashMap<String, Vec<Option<f64>>>)
Called once by the engine after indicator pre-computation, before the
simulation loop. Strategies may cache references into the indicator
map here to avoid per-bar HashMap lookups. The default implementation
does nothing; pre-built strategies override this for performance.
Source§fn warmup_period(&self) -> usize
fn warmup_period(&self) -> usize
Optional: minimum candles required before strategy can generate signals.
Default is 1 (strategy can run from first candle).
Source§fn on_candle(&self, ctx: &StrategyContext<'_>) -> Signal
fn on_candle(&self, ctx: &StrategyContext<'_>) -> Signal
Called on each candle to generate a signal. Read more
Source§fn htf_requirements(&self) -> Vec<HtfIndicatorSpec>
fn htf_requirements(&self) -> Vec<HtfIndicatorSpec>
Higher-timeframe indicators required by this strategy. Read more
Auto Trait Implementations§
impl Freeze for MacdSignal
impl RefUnwindSafe for MacdSignal
impl Send for MacdSignal
impl Sync for MacdSignal
impl Unpin for MacdSignal
impl UnsafeUnpin for MacdSignal
impl UnwindSafe for MacdSignal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more