mirror of
https://github.com/mihakralj/QuanTAlib.git
synced 2026-08-07 21:47:43 +00:00
1.2 KiB
1.2 KiB
TValue: Time-Value Pair
Overview
TValue is the fundamental building block of QuanTAlib. It represents a single data point in a time series, consisting of a timestamp and a double-precision floating-point value.
It is implemented as a lightweight readonly struct to ensure immutability and high performance (stack allocation, no GC overhead).
Structure
public readonly struct TValue
{
public readonly long Time; // Ticks (UTC)
public readonly double Value; // Data value
public readonly bool IsNew; // Metadata for streaming (optional usage)
}
Key Features
- Lightweight: 24 bytes (long + double + bool + padding).
- Immutable: Thread-safe by design.
- Implicit Conversions: Can be implicitly converted to
double(returns Value) andDateTime(returns Time). - Performance: Designed for high-frequency trading and large dataset processing.
Usage
TValue is used throughout the library for:
- Input to indicators (
Update(TValue)). - Output from indicators (
Valueproperty). - Elements in
TSeries.
Constructors
new TValue(long time, double value, bool isNew = true)new TValue(DateTime time, double value, bool isNew = true)