public static GetName ( Instrument instrument, BarType barType, long barSize ) : string | ||
instrument | Instrument | |
barType | BarType | |
barSize | long | |
Результат | string |
public override void DeleteDataSeries(Instrument instrument, byte type, BarType barType = BarType.Time, long barSize = 60) { DataSeries dataSeries; if (type == DataObjectType.Bar) { var iId = instrument.Id; dataSeries = GetBarDataSeriesInCache(instrument, barType, barSize, false); if (barType == BarType.Time && barSize <= TimeSpan.TicksPerDay / TimeSpan.TicksPerSecond) { this.byIId_BSize[iId][(int)barSize] = null; } else { this.byType_IId_BSize[type] = this.byType_IId_BSize[type] ?? new IdArray <Dictionary <long, DataSeries> >(); this.byType_IId_BSize[type][iId] = this.byType_IId_BSize[type][iId] ?? new Dictionary <long, DataSeries>(); this.byType_IId_BSize[type][iId].Remove(barSize); } this.dataFile.Delete(DataSeriesNameHelper.GetName(instrument, barType, barSize)); } else { dataSeries = this.byType[type][instrument.Id]; if (dataSeries != null) { this.byType[type].Remove(instrument.Id); } this.dataFile.Delete(DataSeriesNameHelper.GetName(instrument, type)); } }
public override DataSeries GetDataSeries(Instrument instrument, byte type, BarType barType = BarType.Time, long barSize = 60) { if (type == DataObjectType.Bar) { return(GetBarDataSeriesInCache(instrument, barType, barSize, false)); } var series = this.byType[type][instrument.Id]; if (series == null) { string name = DataSeriesNameHelper.GetName(instrument, type); series = (this.dataFile.Get(name) as DataSeries); this.byType[type][instrument.Id] = series; } return(series); }
private DataSeries GetBarDataSeriesInCache(Instrument instrument, BarType barType, long barSize, bool createNotExist) { var iId = instrument.Id; DataSeries dataSeries; if (barType == BarType.Time && barSize <= TimeSpan.TicksPerDay / TimeSpan.TicksPerSecond) { this.byIId_BSize[iId] = this.byIId_BSize[iId] ?? new IdArray <DataSeries>(); dataSeries = this.byIId_BSize[iId][(int)barSize]; } else { this.byType_IId_BSize[(int)barType] = this.byType_IId_BSize[(int)barType] ?? new IdArray <Dictionary <long, DataSeries> >(); this.byType_IId_BSize[(int)barType][iId] = this.byType_IId_BSize[(int)barType][iId] ?? new Dictionary <long, DataSeries>(); this.byType_IId_BSize[(int)barType][iId].TryGetValue(barSize, out dataSeries); } if (dataSeries != null) { return(dataSeries); } string name = DataSeriesNameHelper.GetName(instrument, barType, barSize); dataSeries = GetDataSeries(name); if (dataSeries == null && createNotExist) { dataSeries = CreateDataSeries(name); this.dataFile.Write(name, dataSeries); this.dataFile.Flush(); } // Save to cache if (barType == BarType.Time && barSize <= TimeSpan.TicksPerDay / TimeSpan.TicksPerSecond) { this.byIId_BSize[iId][(int)barSize] = dataSeries; } else { this.byType_IId_BSize[(int)barType][iId][barSize] = dataSeries; } return(dataSeries); }