mod average_price;
mod candle_component_trait;
mod close;
mod close_timestamp;
mod directional_trade_ratio;
mod directional_volume_ratio;
mod entropy;
mod high;
mod low;
mod median_price;
mod num_trades;
mod open;
#[cfg(feature = "chrono")]
mod open_datetime;
mod open_timestamp;
mod std_dev_prices;
mod std_dev_sizes;
mod time_velocity;
mod trades;
mod volume;
mod weighted_price;
pub use average_price::AveragePrice;
pub use candle_component_trait::{CandleComponent, CandleComponentUpdate};
pub use close::Close;
pub use close_timestamp::CloseTimeStamp;
pub use directional_trade_ratio::DirectionalTradeRatio;
pub use directional_volume_ratio::DirectionalVolumeRatio;
pub use entropy::Entropy;
pub use high::High;
pub use low::Low;
pub use median_price::MedianPrice;
pub use num_trades::NumTrades;
pub use open::Open;
#[cfg(feature = "chrono")]
pub use open_datetime::OpenDateTime;
pub use open_timestamp::OpenTimeStamp;
pub use std_dev_prices::StdDevPrices;
pub use std_dev_sizes::StdDevSizes;
pub use time_velocity::TimeVelocity;
pub use trades::Trades;
pub use volume::Volume;
pub use weighted_price::WeightedPrice;
#[cfg(test)]
mod tests {
use crate::Trade;
pub const TRADES: [Trade; 10] = [
Trade {
timestamp: 1684677200_000,
price: 100.0,
size: 10.0,
},
Trade {
timestamp: 1684677210_000,
price: 101.0,
size: -10.0,
},
Trade {
timestamp: 1684677220_000,
price: 100.0,
size: 20.0,
},
Trade {
timestamp: 1684677230_000,
price: 102.0,
size: 10.0,
},
Trade {
timestamp: 1684677240_000,
price: 103.0,
size: 10.0,
},
Trade {
timestamp: 1684677250_000,
price: 104.0,
size: -20.0,
},
Trade {
timestamp: 1684677260_000,
price: 102.0,
size: -10.0,
},
Trade {
timestamp: 1684677270_000,
price: 101.0,
size: 10.0,
},
Trade {
timestamp: 1684677280_000,
price: 102.0,
size: 30.0,
},
Trade {
timestamp: 1684677290_000,
price: 105.0,
size: 10.0,
},
];
}