public void AsyncGetHistory(Asset asset, DateTime start, DateTime end, IProvisionContext provisionContext, Func <ISample, bool> func) { IDataSource source = new DukascopyDataSource(); DukascopyOfflineReader.GetHistoricalPrices( provisionContext.Source, (Func <string, bool>)(line => { return(func(Quote.From3PartsString(line, asset, source))); })); }
public ISamplePackage GetHistory(Asset asset, DateTime start, DateTime end, IProvisionContext provisionContext) { List <string> data = DukascopyOfflineReader.GetHistoricalPrices(provisionContext.Source); switch (provisionContext.SampleType) { case SampleType.Bar: // first line must be discarded (titles) data.RemoveAt(0); TimeSpan period = provisionContext.Period; IDataSource source = new DukascopyDataSource(); return(new BarPackage { Asset = asset, Source = source, Period = period, Samples = data.Select(line => (IBar)BuildBar(asset, source, period, line)).ToList() }); case SampleType.Quote: default: throw new NotImplementedException(); } }