Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Technical analysis library for Rust language

License

NotificationsYou must be signed in to change notification settings

greyblake/ta-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build StatusCrates.ioDocs.rsLicense

Stand With Ukraine

Technical analysis library for Rust.

Getting started

Add to youCargo.toml:

[dependencies]ta = "0.4.0"

Example:

use ta::indicators::ExponentialMovingAverage;use ta::Next;// it can return an error, when an invalid length is passed (e.g. 0)letmut ema =ExponentialMovingAverage::new(3).unwrap();assert_eq!(ema.next(2.0),2.0);assert_eq!(ema.next(5.0),3.5);assert_eq!(ema.next(1.0),2.25);assert_eq!(ema.next(6.25),4.25);

See more in the exampleshere.Check also thedocumentation.

Basic ideas

A data item which represent a stock quote may implement the following traits:

  • Open
  • High
  • Low
  • Close
  • Volume

It's not necessary to implement all of them, but it must be enough to fulfill requirements for a particular indicator.You probably should prefer usingDataItem unless you have reasons to implement your own structure.

Indicators typically implement the following traits:

  • Next<T> (oftenNext<f64> andNext<&DataItem>) - to feed and get the next value
  • Reset - to reset an indicator
  • Debug
  • Display
  • Default
  • Clone

List of indicators

So far there are the following indicators available.

  • Trend
    • Exponential Moving Average (EMA)
    • Simple Moving Average (SMA)
  • Oscillators
    • Relative Strength Index (RSI)
    • Fast Stochastic
    • Slow Stochastic
    • Moving Average Convergence Divergence (MACD)
    • Percentage Price Oscillator (PPO)
    • Commodity Channel Index (CCI)
    • Money Flow Index (MFI)
  • Other
    • Minimum
    • Maximum
    • True Range
    • Standard Deviation (SD)
    • Mean Absolute Deviation (MAD)
    • Average True Range (AR)
    • Efficiency Ratio (ER)
    • Bollinger Bands (BB)
    • Chandelier Exit (CE)
    • Keltner Channel (KC)
    • Rate of Change (ROC)
    • On Balance Volume (OBV)

Features

  • serde - allows to serialize and deserialize indicators. NOTE: the backward compatibility of serializeddata with the future versions of ta is not guaranteed because internal implementation of the indicators is a subject to change.

Running benchmarks

cargo bench

Donations

You can support the project by donatingNEAR tokens.

Our NEAR wallet address ista-rs.near

License

MIT ©Sergey Potapov

Contributors


[8]ページ先頭

©2009-2025 Movatter.jp