public int LastCross(string seriesName) { var crossIndex = CrossDataSeries.FindIndex(x => x.Name == seriesName); var result = -1; for (int i = 0; i < CrossDataSeries.Count - 1; i++) { if (CrossDataSeries[crossIndex].GetValueByIndex(i)) { result = i; break; } } return(result); }
public ICustomData <double, bool> CreateOrUpdateCross(HistoricalData currentData, ICustomData <double, double> a, ReferenceSeries b, CrossDirection direction) { ICustomData <double, bool> result; string name = direction == CrossDirection.Down ? a.Name + CrossPartialName + b.Name : b.Name + CrossPartialName + a.Name; int findResult = CrossDataSeries.FindIndex(x => x.Name == name); if (findResult != -1) { CrossDataSeries[findResult].GetValue(b.Value); result = CrossDataSeries[findResult]; } else { result = CreateAndFillCross(currentData, a, b, direction); } return(result); }