/// <summary> /// Create DataTimeSeries, DataTSOHLC, DataTSVolume objects add to DataBuilder collection /// </summary> /// <param name="tinterval">time interval of timeseries (in minutes)</param> /// /// <param name="nrows">number of rows to allocate</param> public void NewTimeSeriesOHLCVolume(int tinterval, int nrows = 2880) { // check if time interval already exist foreach (DataTimeSeries ts0 in TimeSeries) { if (ts0.TimeInterval == tinterval) { return; } } DataTimeSeries ts = new DataTimeSeries(tinterval, nrows); TimeSeries.Add(ts); OHLC.Add(new DataTSOHLC(ts)); Volume.Add(new DataTSVolume(ts)); }
/// <summary> /// Volume data class constructor, require corresponding time interval TimeSeries TSControl /// </summary> /// <param name="ts">TimeSeries control</param> public DataTSVolume(DataTimeSeries ts) : base(ts, 3) { RowIdx = ts.RowIdx; // match TimeSeries RowIdx }
private double value_min, value_max; // track value_min, value_max in current time interval /// <summary> /// TimeFrame Value Range Distribution constructor /// </summary> /// <seealso cref="DataTMListSum(DataTimeSeries, int, double, int)"/> public DataTMValueRangeDistribution(DataTimeSeries ts, int timeframe, double mininterval, int allocn = 64) : base(ts, timeframe, mininterval, allocn) { value_min = value_max = double.NaN; // init value_min, value_max }
private double value_total; // track value total in current time interval /// <summary> /// TimeFrame Value Total Distribution constructor /// </summary> /// <seealso cref="DataTMListSum(DataTimeSeries, int, double, int)"/> public DataTMValueTotalDistribution(DataTimeSeries ts, int timeframe, double mininterval, int allocn = 64) : base(ts, timeframe, mininterval, allocn) { value_total = 0; // init value_total }
/// <summary> /// TimeFrame Value Distribution constructor /// </summary> /// <seealso cref="DataTMListSum(DataTimeSeries, int, double, int)"/> public DataTMValueDistribution(DataTimeSeries ts, int timeframe, double mininterval, int allocn = 64) : base(ts, timeframe, mininterval, allocn) { }