Skip to main content

Indicator

Trait Indicator 

Source
pub trait Indicator: Send {
Show 76 methods // Required methods fn name(&self) -> &str; fn calculate(&mut self, data: &[Bar]); fn values(&self) -> &IndicatorValues; fn colors(&self) -> Vec<Color32>; fn set_colors(&mut self, colors: Vec<Color32>); fn set_visible(&mut self, visible: bool); fn clone_box(&self) -> Box<dyn Indicator>; // Provided methods fn projections(&self) -> &[StudyProjection] { ... } fn table(&self) -> Option<&StudyTable> { ... } fn has_settings(&self) -> bool { ... } fn projection_fill_color(&self, projection: &StudyProjection) -> Color32 { ... } fn plot_label_colors(&self, _line: usize) -> Option<(Color32, Color32)> { ... } fn marker_style(&self) -> Option<PlotStyle> { ... } fn level_style(&self, _value: f64) -> LineStyle { ... } fn level_fill_color(&self) -> Color32 { ... } fn plot_style(&self, line: usize) -> PlotStyle { ... } fn legend_visible(&self, line: usize) -> bool { ... } fn plot_tagged(&self, line: usize) -> bool { ... } fn plot_output(&self, line: usize) -> usize { ... } fn plot_offset(&self, line: usize) -> isize { ... } fn plot_color(&self, line: usize, bar: usize) -> Option<Color32> { ... } fn provisional_after(&self, line: usize) -> Option<usize> { ... } fn plot_text(&self, line: usize, bar: usize) -> Option<String> { ... } fn fills(&self) -> Vec<StudyFill> { ... } fn plot_value(&self, line: usize, bar: usize) -> Option<f64> { ... } fn settings(&self) -> StudySettings { ... } fn snapshot_settings(&self) -> StudySettingsSnapshot { ... } fn restore_settings( &mut self, snapshot: &StudySettingsSnapshot, ) -> Result<(), StudyError> { ... } fn apply_settings( &mut self, inputs: &[(String, InputValue)], settings: StudySettings, ) -> Result<(), StudyError> { ... } fn set_visible_range(&mut self, range: Range<usize>) -> bool { ... } fn set_timeframe(&mut self, timeframe: Timeframe) { ... } fn set_bar_clock(&mut self, clock: &BarClock) -> bool { ... } fn value_format(&self) -> StudyFormat { ... } fn scale(&self) -> StudyScale { ... } fn scale_mapping(&self) -> Option<PriceMap> { ... } fn set_scale_mapping(&mut self, mapping: Option<PriceMap>) { ... } fn set_value_formatter( &mut self, formatter: Option<Arc<dyn PriceFormatter>>, ) -> bool { ... } fn format_value(&self, value: f64) -> String { ... } fn format_plot_value(&self, line: usize, value: f64) -> String { ... } fn precision(&self) -> Option<usize> { ... } fn data_requests(&self) -> Vec<StudyDataRequest> { ... } fn data_start(&self, request: &StudyDataRequest) -> Option<DateTime<Utc>> { ... } fn update_data( &mut self, data: &[Bar], from: usize, sources: &[StudyData<'_>], ) { ... } fn source(&self) -> Option<StudySource> { ... } fn update_source(&mut self, data: &[Bar], from: usize, source: &[f64]) { ... } fn inputs(&self) -> Vec<StudyInput> { ... } fn set_input( &mut self, id: &str, value: InputValue, ) -> Result<(), StudyError> { ... } fn desc(&self) -> &str { ... } fn order_flow_inputs(&self) -> &[OrderFlowInput] { ... } fn needs_order_flow(&self) -> bool { ... } fn update(&mut self, data: &[Bar], from: usize) { ... } fn is_incremental(&self) -> bool { ... } fn set_instrument(&mut self, instrument: Option<&Instrument>) -> bool { ... } fn set_time_scale_events(&mut self, events: &[TimeScaleEvent]) -> bool { ... } fn line_style(&self, line: usize) -> IndicatorLineStyle { ... } fn candles(&self) -> &[StudyCandle] { ... } fn drawings(&self) -> &[Drawing] { ... } fn tpo(&self) -> Option<&TPOConfig> { ... } fn zones(&self) -> &[StudyZone] { ... } fn zones_cover_whole_bars(&self) -> bool { ... } fn labels(&self) -> &[StudyLabel] { ... } fn labels_on_price(&self) -> bool { ... } fn set_label_precision(&mut self, precision: Option<usize>) { ... } fn volume_profiles(&self, visible: Range<usize>) -> Vec<StudyProfile> { ... } fn markers(&self) -> &[IndicatorMarker] { ... } fn extend_right(&self) -> bool { ... } fn plot_label(&self) -> Option<(usize, String)> { ... } fn set_color(&mut self, line_idx: usize, color: Color32) { ... } fn is_overlay(&self) -> bool { ... } fn pane(&self) -> StudyPane { ... } fn set_overlay(&mut self, _overlay: bool) -> bool { ... } fn set_scale(&mut self, _scale: StudyScale) -> bool { ... } fn is_volume(&self) -> bool { ... } fn line_count(&self) -> usize { ... } fn line_names(&self) -> Vec<String> { ... } fn is_visible(&self) -> bool { ... }
}
Expand description

The core trait that every technical indicator must implement.

The trait defines the full indicator lifecycle: naming, calculation, value access, color management, and display properties. It is object-safe so indicators can be stored as Box<dyn Indicator> in the IndicatorRegistry.

§Implementors

All built-in indicators implement this trait (e.g. SMA, RSI, MACD with the studies feature), and users can implement it for their own indicators or use CustomIndicator to define one at runtime via a closure.

§Lifecycle

  1. Construct the indicator with desired parameters. Built-in indicators raise a length (period, smoothing, level or row count) of 0 to 1, and clamp a float parameter (multiplier, percentage, divisor, threshold or tick size) into the range its constructor or setter documents, NaN to the bottom of that range. No length, parameter or bar value makes calculate panic or allocate without bound.
  2. Call calculate with bar data.
  3. Read results via values.
  4. The rendering layer queries is_overlay, colors, line_names, etc. for drawing.

§Non-finite bars

A bar whose inputs, the fields a study reads, are not finite has no value, and the study computes every other bar as if that bar were not in the series, so running state carries over it unchanged. A window study may also leave the windows that contain it without a value. The chart’s datafeed drops such bars before they reach a study, so this matters to direct callers of calculate.

Required Methods§

Source

fn name(&self) -> &str

Return the short display name of this indicator (e.g. "SMA", "RSI", "MACD").

Source

fn calculate(&mut self, data: &[Bar])

Compute the indicator’s output from the given bar data.

After this call, values returns one IndicatorValue per input bar. Implementations should clear any previous state so the indicator can be recalculated on new data.

Source

fn values(&self) -> &IndicatorValues

Return the computed output columns, with NaN for missing values.

The length of the returned output matches the length of the data slice most recently passed to calculate.

Source

fn colors(&self) -> Vec<Color32>

Return the plot colours and any extra palette entries used by fills or per-bar colouring.

Extra palette entries are saved with the study and do not add output columns. Their layout is specific to the study.

Source

fn set_colors(&mut self, colors: Vec<Color32>)

Replace all line colors at once.

For single-line indicators, pass a Vec with one color. For multi-line indicators, pass one color per line.

Source

fn set_visible(&mut self, visible: bool)

Show or hide this indicator.

Source

fn clone_box(&self) -> Box<dyn Indicator>

Clone this indicator into a new Box<dyn Indicator>.

This enables cloning of heterogeneous indicator collections.

Provided Methods§

Source

fn projections(&self) -> &[StudyProjection]

Sparse projected price bands, with fractional endpoints in future whitespace.

Source

fn table(&self) -> Option<&StudyTable>

A labelled table of the latest study statistics, drawn independently of the plots.

Source

fn has_settings(&self) -> bool

Whether this study stores presentation edits itself. Charts wrap other studies once.

Source

fn projection_fill_color(&self, projection: &StudyProjection) -> Color32

Colour inside a projected price band.

Source

fn plot_label_colors(&self, _line: usize) -> Option<(Color32, Color32)>

Optional background and text colours for captions on plotted markers.

Source

fn marker_style(&self) -> Option<PlotStyle>

Optional presentation of crossing markers; absent uses directional triangles.

Source

fn level_style(&self, _value: f64) -> LineStyle

Stroke pattern for a pane level at the given value.

Source

fn level_fill_color(&self) -> Color32

Colour of the band between the outer pane levels.

Source

fn plot_style(&self, line: usize) -> PlotStyle

Presentation defaults for a zero-based output line. Any line is accepted: one at or past line_count, which renderers do not draw, still gets a style, so an implementation must not panic on it. The default takes the line’s colour from colors, white for a line without one, and its width from line_style.

Source

fn legend_visible(&self, line: usize) -> bool

Whether output line appears in the legend. Defaults to plot visibility; a study can retain a labelled readout for a quantity excluded from its plot and scale by default.

Source

fn plot_tagged(&self, line: usize) -> bool

Whether plot line shows its last value in a tag on the price scale while the chart shows study values. By default every plot of a study with up to four plots does and no plot of a study with more, whose values stay in the legend, so that the tags leave the scale’s tick labels readable. A study on a chart starts from this choice and keeps the user’s in StudySettings::untagged_plots.

Source

fn plot_output(&self, line: usize) -> usize

The output whose visibility in the style tab also applies to plot line, for a plot past line_count that draws zones or candles for one of the outputs. The default is line itself.

Source

fn plot_offset(&self, line: usize) -> isize

Horizontal displacement in bars. Positive values draw into future whitespace. Values remain indexed by their source bar; missing bars still occupy a position.

Source

fn plot_color(&self, line: usize, bar: usize) -> Option<Color32>

Optional per-bar colour, overriding the plot colour at a source bar.

Source

fn provisional_after(&self, line: usize) -> Option<usize>

The last source bar whose value on a zero-based line is final. The segments after it can still move with later bars and are drawn dashed when the line is solid. None, the default, draws the whole line as styled.

Source

fn plot_text(&self, line: usize, bar: usize) -> Option<String>

Optional text beside the shape a circle, cross or triangle plot draws at a source bar: under an upward triangle and over the other shapes, in the shape’s colour.

Source

fn fills(&self) -> Vec<StudyFill>

Filled bands, painted beneath this study’s plots. Missing endpoints break a band.

Source

fn plot_value(&self, line: usize, bar: usize) -> Option<f64>

Value at a displayed bar, accounting for the plot’s displacement.

Source

fn settings(&self) -> StudySettings

Current applied presentation, initialized from the study’s own defaults.

Source

fn snapshot_settings(&self) -> StudySettingsSnapshot

Capture editable inputs and presentation without copying calculated values. The chart presentation wrapper also retains visibility before interval filtering. Custom presentations can use super::StudySettingsSnapshot::capture with their global visibility toggle to do the same.

Source

fn restore_settings( &mut self, snapshot: &StudySettingsSnapshot, ) -> Result<(), StudyError>

Restore a snapshot from this study. Recalculate against current data afterwards. The default applies changed inputs and presentation through Self::apply_settings. Returns an error if the snapshot is no longer accepted.

Source

fn apply_settings( &mut self, inputs: &[(String, InputValue)], settings: StudySettings, ) -> Result<(), StudyError>

Apply a complete edit atomically. Charts wrap studies in ConfiguredStudy, which validates inputs on a clone before replacing the calculation and presentation.

Source

fn set_visible_range(&mut self, range: Range<usize>) -> bool

Visible source bars, end exclusive, supplied after pan, zoom and resize and before autoscaling. Returns whether values need recalculation. Direct callers may supply it too.

Source

fn set_timeframe(&mut self, timeframe: Timeframe)

The chart’s current interval, supplied when added and when the interval changes.

Source

fn set_bar_clock(&mut self, clock: &BarClock) -> bool

Source bar calendar, including the chart’s selected timezone and session anchor. Returns whether cached values must be recalculated. Direct callers default to UTC.

Source

fn value_format(&self) -> StudyFormat

Units of this study’s values. Placement defaults preserve price overlays and numeric panes.

Source

fn scale(&self) -> StudyScale

Scale used in the pane selected by is_overlay.

Source

fn scale_mapping(&self) -> Option<PriceMap>

Price mapping supplied by the chart for a shared scale, independent of pane bounds. Custom presentation implementations can retain it to support shared scales.

Source

fn set_scale_mapping(&mut self, mapping: Option<PriceMap>)

Updates the chart’s shared-scale mapping. None restores the ordinary pane mapping.

Source

fn set_value_formatter( &mut self, formatter: Option<Arc<dyn PriceFormatter>>, ) -> bool

Replaces value formatting when supported by the presentation. None restores the declared units and precision. Returns false when this study owns its formatting.

Source

fn format_value(&self, value: f64) -> String

Format a value using the declared units and current precision override.

Source

fn format_plot_value(&self, line: usize, value: f64) -> String

Formats one output, including readouts whose units differ from the study’s scale. The default uses format_value.

Source

fn precision(&self) -> Option<usize>

Decimal places for study readouts, or the format’s default precision.

Source

fn data_requests(&self) -> Vec<StudyDataRequest>

Additional histories this study needs. The chart resolves defaults, requests history and live updates from its feed, and supplies them before recalculating the study.

Source

fn data_start(&self, request: &StudyDataRequest) -> Option<DateTime<Utc>>

The oldest time this study reads from request, one of its data_requests. A connected feed stops loading older history of that series once it holds a bar at or before the earliest such time of the studies reading it, and loads more when that time moves earlier. None, the default, and a time before the chart’s first bar load the series back to that bar. Price-based chart types such as Renko do not use the times and always load it back to that bar.

Source

fn update_data(&mut self, data: &[Bar], from: usize, sources: &[StudyData<'_>])

Update with requested histories. Studies using only chart bars keep the default. Pass 0 when a requested history changes; nonzero from retains the same requested histories and follows update’s unchanged-prefix contract.

Source

fn source(&self) -> Option<StudySource>

The single price series this study reads, or None for OHLC or multi-source studies. Configured studies expose this as a Source input. Study references use chart ids and undisplaced output columns; missing or cyclic references produce missing values.

Source

fn update_source(&mut self, data: &[Bar], from: usize, source: &[f64])

Update using an aligned source column. Missing source values remain gaps. The default substitutes the source for OHLC and retains the bar’s other fields.

Source

fn inputs(&self) -> Vec<StudyInput>

Current editable inputs. A host study can supply the same schema as built-ins.

Source

fn set_input(&mut self, id: &str, value: InputValue) -> Result<(), StudyError>

Change a calculation input, rejecting unknown ids with super::StudyError::UnknownInput and wrong types and invalid values with super::StudyError::InvalidInput. On success cached values are cleared; calculate again or let the chart refresh.

Source

fn desc(&self) -> &str

Return a human-readable description of what this indicator measures.

Defaults to an empty string. Override to provide a tooltip-friendly summary such as "Relative Strength Index - Momentum oscillator (0-100)".

Source

fn order_flow_inputs(&self) -> &[OrderFlowInput]

Order-flow sources this study reads: OrderFlowInputs of fixed aggregations, footprints or books. A chart with a feed connects them before its updates are coalesced, gives them its instrument’s tick size, applies the trade store’s retention and the replay cutoff, and updates the study from the first bar that changed. Hosts without a feed push events through the handles and recalculate. Several studies may return the same source; it receives each event once.

Source

fn needs_order_flow(&self) -> bool

Whether the study has results only with its order_flow_inputs, so that it cannot be calculated on the bars of another interval or symbol, whose order flow the chart does not hold. The default is whether it names any. A study that builds its results from the bars and refines them with order flow where the chart holds it returns false, and keeps its Interval input.

Source

fn update(&mut self, data: &[Bar], from: usize)

Bring values up to date after data[from..] changed or grew, given that data[..from] is unchanged since the previous call. The values equal those of calculate on the same data, bit for bit. After bars are prepended, or after a setting of the study changed, pass 0; after bars are removed from the end pass the new length.

The default recomputes everything.

Source

fn is_incremental(&self) -> bool

Whether live updates avoid recomputing unaffected history. Causal studies do work independent of the series length; studies that redraw earlier legs or periods also revisit the bars whose output changes. Earlier corrections may recompute in full. Defaults to false.

Source

fn set_instrument(&mut self, instrument: Option<&Instrument>) -> bool

Apply the chart instrument’s time zone and trading session. Returns true if calculation settings changed and the caller must recalculate from bar 0. The chart calls this on add and before calculation after its symbol or metadata changes. None clears chart metadata and restores the study’s own settings. Studies independent of instrument metadata keep the default.

Source

fn set_time_scale_events(&mut self, events: &[TimeScaleEvent]) -> bool

The typed events the chart holds for its symbol, those given to Chart::set_time_scale_events, in the order supplied. Returns true if calculation settings changed and the caller must recalculate from bar 0. The chart calls this on add and before calculation. Studies that read no events keep the default.

Source

fn line_style(&self, line: usize) -> IndicatorLineStyle

Rendering style of an overlay line. Defaults to a 1 px line in its configured colour. Any line is accepted, as for plot_style.

Source

fn candles(&self) -> &[StudyCandle]

Candle bodies and wicks, rendered in place of line plots when nonempty. Source ranges and OHLCV remain available to hosts for per-bar readouts.

Source

fn drawings(&self) -> &[Drawing]

Drawing geometry generated by this study, styled as plot 0, empty by default. Calculations belong in calculate; use tools whose renderer needs only their anchors and settings, such as trend lines, parallel channels, Fibonacci levels and pitchforks.

Source

fn tpo(&self) -> Option<&TPOConfig>

Market Profile settings of a study whose session profiles the chart builds with to_tpo_profiles and draws on the price pane, beside each session’s bars, as it does for the TPO chart type. None by default.

Source

fn zones(&self) -> &[StudyZone]

Price bands painted beneath this study’s plots, stored per zone rather than per bar. Empty by default.

Source

fn zones_cover_whole_bars(&self) -> bool

Whether each of zones spans its bars from the left edge of the first to the right edge of the last, as study candles do, rather than from the centre of the first to the centre of the last. Off by default.

Source

fn labels(&self) -> &[StudyLabel]

Text beside study values, in order of bar. The chart draws the labels near the visible bars, in the colour of their plot, inside the plot area, so they never run under the price axis. Empty by default. Keep the text from the last calculation: it is drawn every frame.

Source

fn labels_on_price(&self) -> bool

Draw labels on the main price chart, even when the study has its own pane. Label prices use the main series’ scale. Off by default.

Source

fn set_label_precision(&mut self, precision: Option<usize>)

The decimal places the study’s presentation settings set for the prices in labels, None when they set none and the instrument’s decimals apply. The text is written when the study calculates, so calculate again afterwards, as a chart does after any settings edit. Studies without price labels keep the default.

Source

fn volume_profiles(&self, visible: Range<usize>) -> Vec<StudyProfile>

Price-row volume profiles intersecting a half-open visible source-bar range. Fixed and calendar profiles include their whole selected span, even offscreen bars. Visible-range studies recompute for this range; ordinary studies return no profiles.

Source

fn markers(&self) -> &[IndicatorMarker]

Shapes attached to study values, empty by default.

Source

fn extend_right(&self) -> bool

Extend the last two values of each overlay line to the plot’s right edge.

Source

fn plot_label(&self) -> Option<(usize, String)>

An annotation beside the latest value of a zero-based overlay line.

Source

fn set_color(&mut self, line_idx: usize, color: Color32)

Set the color of a single line by its zero-based index.

This is a convenience wrapper around colors and set_colors. If line_idx is out of range the call is silently ignored.

Source

fn is_overlay(&self) -> bool

Whether this indicator is drawn on the main price chart (overlay) or in a separate sub-pane.

Returns true for overlays (e.g. SMA, Bollinger Bands, Ichimoku), false for oscillators and volume indicators that need their own Y-axis (e.g. RSI, MACD, OBV). Defaults to true.

Source

fn pane(&self) -> StudyPane

Default separate-pane layout and reference levels, independent of the study name. ConfiguredStudy returns its levels where its settings place them, in their colours, and a hidden level in Color32::TRANSPARENT, which still bounds the fill.

Source

fn set_overlay(&mut self, _overlay: bool) -> bool

Changes placement between the main chart and a separate pane. Returns whether this study supports the change. The chart’s presentation wrapper does.

Source

fn set_scale(&mut self, _scale: StudyScale) -> bool

Changes the scale used in the study’s pane. Returns whether this study supports the change. The chart’s presentation wrapper does.

Source

fn is_volume(&self) -> bool

Volume plots use an independent zero-based scale: up columns, down columns and MA. Renderers size columns to 80% of the bar pitch and format values as volume.

Source

fn line_count(&self) -> usize

The number of output columns this indicator plots. Renderers draw lines 0..line_count().

For example, SMA returns 1, MACD returns 3 (MACD line, signal, histogram), and Ichimoku returns 5. Defaults to the number of line_names.

Source

fn line_names(&self) -> Vec<String>

Return display names for each line, used in chart legends.

The length of the returned Vec must match line_count. Defaults to a single entry containing name.

Source

fn is_visible(&self) -> bool

Whether this indicator should currently be rendered.

Defaults to true. Toggle with set_visible.

Trait Implementations§

Source§

impl Clone for Box<dyn Indicator>

Blanket Clone implementation for boxed indicators, delegating to Indicator::clone_box.

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Indicator for ADX

Source§

impl Indicator for ALMA

Source§

impl Indicator for ATR

Source§

impl Indicator for AccelerationBands

Source§

impl Indicator for AcceleratorOscillator

Source§

impl Indicator for AccumulationDistribution

Source§

impl Indicator for AccumulationSwingIndex

Source§

impl Indicator for AdvanceDeclineRatioBars

Source§

impl Indicator for AdxBreakout

Source§

impl Indicator for AnchoredVWAP

Source§

impl Indicator for Aroon

Source§

impl Indicator for AroonOscillator

Source§

impl Indicator for AutoDrawing

Source§

impl Indicator for AverageDailyRange

Source§

impl Indicator for AwesomeOscillator

Source§

impl Indicator for BBTrend

Source§

impl Indicator for BalanceOfPower

Source§

impl Indicator for BollingerBands

Source§

impl Indicator for BollingerBandsWidth

Source§

impl Indicator for BollingerBars

Source§

impl Indicator for BullBearPower

Source§

impl Indicator for CCI

Source§

impl Indicator for CVD

Source§

impl Indicator for CandlestickPatterns

Source§

impl Indicator for CenterOfGravity

Source§

impl Indicator for ChaikinMoneyFlow

Source§

impl Indicator for ChaikinOscillator

Source§

impl Indicator for ChaikinVolatility

Source§

impl Indicator for ChandeKrollStop

Source§

impl Indicator for ChandeMomentumOscillator

Source§

impl Indicator for ChandelierExit

Source§

impl Indicator for ChartPatterns

Source§

impl Indicator for ChopZone

Source§

impl Indicator for ChoppinessIndex

Source§

impl Indicator for CloseToCloseVol

Source§

impl Indicator for CommoditySelectionIndex

Source§

impl Indicator for ConfiguredStudy

Source§

impl Indicator for ConnorsRSI

Source§

impl Indicator for CoppockCurve

Source§

impl Indicator for CumulativeVolumeDelta

Source§

impl Indicator for CustomIndicator

Source§

impl Indicator for DEMA

Source§

impl Indicator for DetrendedPriceOscillator

Source§

impl Indicator for DirectionalMovement

Source§

impl Indicator for DonchianChannels

Source§

impl Indicator for DoubleStochastic

Source§

impl Indicator for EMA

Source§

impl Indicator for EMACross

Source§

impl Indicator for EaseOfMovement

Source§

impl Indicator for EhlersFisher

Source§

impl Indicator for ElderImpulseSystem

Source§

impl Indicator for ElderRay

Source§

impl Indicator for ElliottWave

Source§

impl Indicator for Envelopes

Source§

impl Indicator for FisherTransform

Source§

impl Indicator for ForceIndex

Source§

impl Indicator for Gaps

Source§

impl Indicator for GuppyMA

Source§

impl Indicator for HL2

Source§

impl Indicator for HLC3

Source§

impl Indicator for HMA

Source§

impl Indicator for HammingMA

Source§

impl Indicator for HigherIntervalCandles

Source§

impl Indicator for HistoricalVolatility

Source§

impl Indicator for IchimokuCloud

Source§

impl Indicator for IntradayPivotPoints

Source§

impl Indicator for KAMA

Source§

impl Indicator for KDJ

Source§

impl Indicator for KeltnerChannels

Source§

impl Indicator for KeyLevels

Source§

impl Indicator for KlingerOscillator

Source§

impl Indicator for KnowSureThing

Source§

impl Indicator for KnoxvilleDivergence

Source§

impl Indicator for LSMA

Source§

impl Indicator for LinearRegression

Source§

impl Indicator for LinearRegressionChannel

Source§

impl Indicator for LinearRegressionSlope

Source§

impl Indicator for LunarPhases

Source§

impl Indicator for MACD

Source§

impl Indicator for MAChannel

Source§

impl Indicator for MACombination

Source§

impl Indicator for MACross

Source§

impl Indicator for MARibbon

Source§

impl Indicator for MajorityRule

Source§

impl Indicator for MarketFacilitationIndex

Source§

impl Indicator for MassIndex

Source§

impl Indicator for McGinleyDynamic

Source§

impl Indicator for Median

Source§

impl Indicator for MedianPrice

Source§

impl Indicator for MetricStudy

Source§

impl Indicator for MissedPivots

Source§

impl Indicator for MixedMACross

Source§

impl Indicator for Momentum

Source§

impl Indicator for MoneyFlowIndex

Source§

impl Indicator for MultipleMA

Source§

impl Indicator for NegativeVolumeIndex

Source§

impl Indicator for NetVolume

Source§

impl Indicator for OHLC4

Source§

impl Indicator for OhlcVolatility

Source§

impl Indicator for OnBalanceVolume

Source§

impl Indicator for OptionsVolumeProfile

Source§

impl Indicator for OrderFlowStudy

Source§

impl Indicator for ParabolicSAR

Source§

impl Indicator for ParkinsonVol

Source§

impl Indicator for PercentB

Source§

impl Indicator for PercentageVolumeOscillator

Source§

impl Indicator for Performance

Source§

impl Indicator for PivotPoints

Source§

impl Indicator for PivotPointsHighLow

Source§

impl Indicator for PositiveVolumeIndex

Source§

impl Indicator for PrettyGoodOscillator

Source§

impl Indicator for PriceChannel

Source§

impl Indicator for PriceMomentumOscillator

Source§

impl Indicator for PriceOscillator

Source§

impl Indicator for PriceVolumeTrendStudy

Source§

impl Indicator for PringsSpecialK

Source§

impl Indicator for ProjectedPivotPoints

Source§

impl Indicator for Qstick

Source§

impl Indicator for RSI

Source§

impl Indicator for RainbowOscillator

Source§

impl Indicator for RankCorrelationIndex

Source§

impl Indicator for RateOfChange

Source§

impl Indicator for RciRibbon

Source§

impl Indicator for RelativeVigorIndex

Source§

impl Indicator for RelativeVolatilityIndex

Source§

impl Indicator for RelativeVolumeAtTime

Source§

impl Indicator for Reversal

Source§

impl Indicator for RsiDivergence

Source§

impl Indicator for SMA

Source§

impl Indicator for SWMA

Source§

impl Indicator for SchaffTrendCycle

Source§

impl Indicator for Seasonality

Source§

impl Indicator for SmoothedMA

Source§

impl Indicator for SqueezeMomentum

Source§

impl Indicator for StandardDeviation

Source§

impl Indicator for StandardError

Source§

impl Indicator for StandardErrorBands

Source§

impl Indicator for Stochastic

Source§

impl Indicator for StochasticMomentumIndex

Source§

impl Indicator for StochasticRSI

Source§

impl Indicator for SuperTrend

Source§

impl Indicator for TEMA

Source§

impl Indicator for TRIX

Source§

impl Indicator for TechnicalRatings

Source§

impl Indicator for TimePriceOpportunity

Source§

impl Indicator for TimeWeightedAvgPrice

Source§

impl Indicator for TradingSessions

Source§

impl Indicator for TrendDetectionIndex

Source§

impl Indicator for TrendIntensityIndex

Source§

impl Indicator for TrendStrengthIndex

Source§

impl Indicator for TripleMA

Source§

impl Indicator for TrueRange

Source§

impl Indicator for TrueStrengthIndex

Source§

impl Indicator for TypicalPrice

Source§

impl Indicator for UlcerIndex

Source§

impl Indicator for UltimateMomentum

Source§

impl Indicator for UltimateOscillator

Source§

impl Indicator for UpDownVolume

Source§

impl Indicator for VIDYA

Source§

impl Indicator for VWMA

Source§

impl Indicator for VisibleAveragePrice

Source§

impl Indicator for VolProfileAnchored

Source§

impl Indicator for VolProfileAutoAnchored

Source§

impl Indicator for VolProfileFixed

Source§

impl Indicator for VolProfilePeriodic

Source§

impl Indicator for VolProfileSession

Source§

impl Indicator for VolProfileVisible

Source§

impl Indicator for VolatilityStop

Source§

impl Indicator for Volume

Source§

impl Indicator for Volume24h

Source§

impl Indicator for VolumeDelta

Source§

impl Indicator for VolumeOscillator

Source§

impl Indicator for VolumePriceTrend

Source§

impl Indicator for VolumeRateOfChange

Source§

impl Indicator for VolumeWeightedAvgPrice

Source§

impl Indicator for VolumeWeightedMACD

Source§

impl Indicator for VortexIndicator

Source§

impl Indicator for VwapAutoAnchored

Source§

impl Indicator for WMA

Source§

impl Indicator for Week52HighLow

Source§

impl Indicator for Week52HighLowLevels

Source§

impl Indicator for WeightedClose

Source§

impl Indicator for WilliamsAD

Source§

impl Indicator for WilliamsAlligator

Source§

impl Indicator for WilliamsFractals

Source§

impl Indicator for WilliamsR

Source§

impl Indicator for WoodiesCCI

Source§

impl Indicator for ZLEMA

Source§

impl Indicator for ZeroTrendVol

Source§

impl Indicator for ZigZag

Source§

impl<const OSCILLATOR: bool> Indicator for SMIErgodic<OSCILLATOR>

Source§

impl<const RATIO: bool, const CORRELATION: bool> Indicator for SymbolPair<RATIO, CORRELATION>

Source§

impl<const RATIO: bool, const VOLUME: bool> Indicator for MarketBreadth<RATIO, VOLUME>

Source§

impl<const RISING: bool> Indicator for Wedge<RISING>