pub struct TrailingStop {
pub trail_pct: f64,
}Expand description
Condition: trailing stop triggered when price retraces from peak/trough.
For long positions: tracks the highest price since entry and triggers
when price falls by trail_pct from that high.
For short positions: tracks the lowest price since entry and triggers
when price rises by trail_pct from that low.
§Example
ⓘ
use finance_query::backtesting::condition::*;
// Exit if price drops 3% from highest point since entry
let exit = trailing_stop(0.03);Fields§
§trail_pct: f64Trail percentage (e.g., 0.03 for 3%)
Implementations§
Trait Implementations§
Source§impl Clone for TrailingStop
impl Clone for TrailingStop
Source§fn clone(&self) -> TrailingStop
fn clone(&self) -> TrailingStop
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 Condition for TrailingStop
impl Condition for TrailingStop
Source§fn evaluate(&self, ctx: &StrategyContext<'_>) -> bool
fn evaluate(&self, ctx: &StrategyContext<'_>) -> bool
Evaluate the condition with the current strategy context. Read more
Source§fn required_indicators(&self) -> Vec<(String, Indicator)>
fn required_indicators(&self) -> Vec<(String, Indicator)>
Get the indicators required by this condition. Read more
Source§fn description(&self) -> String
fn description(&self) -> String
Get a human-readable description of this condition. Read more
Source§fn and<C: Condition>(self, other: C) -> And<Self, C>where
Self: Sized,
fn and<C: Condition>(self, other: C) -> And<Self, C>where
Self: Sized,
Combine this condition with another using AND logic. Read more
Source§impl Debug for TrailingStop
impl Debug for TrailingStop
impl Copy for TrailingStop
Auto Trait Implementations§
impl Freeze for TrailingStop
impl RefUnwindSafe for TrailingStop
impl Send for TrailingStop
impl Sync for TrailingStop
impl Unpin for TrailingStop
impl UnsafeUnpin for TrailingStop
impl UnwindSafe for TrailingStop
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