internal static string CombinedBarsRangeTime(string symbol, BarPeriod barPeriod, DateTime startTime, DateTime endTime, double barCountDbl) { var isTimeZero = FdkHelper.IsTimeZero(startTime); BarData[] barsDataBid; BarData[] barsDataAsk; if (FdkHelper.IsTimeZero(startTime)) { var barCount = (int)barCountDbl; if (barCount == 0) { barCount = FdkBars.HugeCount; } barsDataAsk = CalculateBarsForSymbolArray(symbol, PriceType.Ask, endTime, barPeriod, barCount); barsDataBid = CalculateBarsForSymbolArray(symbol, PriceType.Bid, endTime, barPeriod, barCount); } else { barsDataAsk = CalculateBarsForSymbolArrayRangeTime(symbol, PriceType.Ask, startTime, endTime, barPeriod); barsDataBid = CalculateBarsForSymbolArrayRangeTime(symbol, PriceType.Bid, startTime, endTime, barPeriod); } ReversIfNeed(barsDataAsk); ReversIfNeed(barsDataBid); var barsData = FdkBarsMerger.ProcessedBarsResult(barsDataBid, barsDataAsk); //LogBars(barsData); var bars = FdkVars.RegisterVariable(barsData, "bars"); return(bars); }
public void CopyRange(List <BarData> resultBars, BarData undefinedBar, bool isUndefinedBid) { BarData[] barsData = _data; int position = _position; while (CanContinue) { if (isUndefinedBid) { FdkBarsMerger.AddBarPairs(resultBars, undefinedBar, Current); } else { FdkBarsMerger.AddBarPairs(resultBars, Current, undefinedBar); } Next(); } }