Expand description
§Moving Averages Module
This module provides a unified interface for calculating multiple moving averages along with a MACD indicator. It includes:
- SMA (Simple Moving Average): Calculated for short, medium, and long periods.
- EMA (Exponential Moving Average): Calculated for short, medium, and long periods.
- MACD (Moving Average Convergence Divergence):
§Example
use indexes_rs::v1::ma::main::{MovingAverages, MovingAverageResults};
// Create a new moving averages calculator with default parameters.
let mut ma = MovingAverages::default();
// Or supply custom parameters:
// SMA: 10, 30, 100; EMA: 10, 30, 100; MACD: fast=8, slow=17, signal=9
// let mut ma = MovingAverages::with_params(
// Some(10), Some(30), Some(100),
// Some(10), Some(30), Some(100),
// Some(8), Some(17), Some(9)
// ).unwrap();
// Simulate a stream of prices.
let prices = vec![10.0, 10.5, 11.0, 10.8, 11.2, 11.5, 11.3];
for price in prices {
let results = ma.calculate(price);
println!("SMA: {:?}, EMA: {:?}, MACD: {:?}", results.sma, results.ema, results.macd);
}Structs§
- EMAPeriods
- Holds EMA indicators for different periods.
- EMAValues
- EMA values for different periods.
- Moving
Average Results - The consolidated results for moving averages.
- Moving
Averages - A container for the different moving average indicators.
- SMAPeriods
- Holds SMA indicators for different periods.
- SMAValues
- SMA values for different periods.