pub struct TrailingTakeProfit {
pub trail_pct: f64,
}Expand description
Condition: trailing take-profit triggered when profit retraces from peak.
For long positions: tracks the highest profit since entry and triggers
when profit falls by trail_pct from that peak profit.
For short positions: tracks the highest profit since entry and triggers
when profit falls by trail_pct from that peak profit.
This is useful for locking in gains - it only triggers after you’ve been in profit and then profit starts declining.
§Example
ⓘ
use finance_query::backtesting::condition::*;
// Exit if profit drops 2% from highest profit achieved
let exit = trailing_take_profit(0.02);Fields§
§trail_pct: f64Trail percentage from peak profit (e.g., 0.02 for 2%)
Implementations§
Trait Implementations§
Source§impl Clone for TrailingTakeProfit
impl Clone for TrailingTakeProfit
Source§fn clone(&self) -> TrailingTakeProfit
fn clone(&self) -> TrailingTakeProfit
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 TrailingTakeProfit
impl Condition for TrailingTakeProfit
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 TrailingTakeProfit
impl Debug for TrailingTakeProfit
impl Copy for TrailingTakeProfit
Auto Trait Implementations§
impl Freeze for TrailingTakeProfit
impl RefUnwindSafe for TrailingTakeProfit
impl Send for TrailingTakeProfit
impl Sync for TrailingTakeProfit
impl Unpin for TrailingTakeProfit
impl UnsafeUnpin for TrailingTakeProfit
impl UnwindSafe for TrailingTakeProfit
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