Example #1
0
        public bool PopulateFromAgg(IAggVolumeDataProvider prov, AssetPair pair)
        {
            if (prov == null)
            {
                return(false);
            }

            var norm = pair.Normalised;

            if (UtcAggLatest.Get(norm.Id).IsWithinTheLast(TimeSpan.FromDays(10)))
            {
                return(false);
            }

            var aggn = GetVolumeDataAgg(prov, norm);
            var aggr = GetVolumeDataAgg(prov, norm.Reversed);

            if (aggr != null)
            {
                AddRange(aggr.Volume);
            }
            if (aggn != null)
            {
                AddRange(aggn.Volume);
            }

            UtcAggLatest.Add(norm.Id, DateTime.UtcNow);
            return(true);
        }
Example #2
0
        public VolumeDbProvider()
        {
            ProviderAggVolumeData  = Networks.I.Providers.OfType <IAggVolumeDataProvider>().FirstOrDefault();
            ProvidersPublicVolume  = Networks.I.Providers.OfType <IPublicVolumeProvider>().Where(x => x.IsDirect).ToList();
            ProvidersPublicPricing = Networks.I.Providers.OfType <IPublicPricingProvider>().Where(x => x.IsDirect && x.PricingFeatures.HasVolume).ToList();

            Data = new VolumeData();
        }
Example #3
0
 public static Task <ApiResponse <PublicVolumeResponse> > GetAggVolumeDataAsync(IAggVolumeDataProvider provider, AggVolumeDataContext context)
 {
     return(ApiHelpers.WrapExceptionAsync(() => provider.GetAggVolumeDataAsync(context), nameof(GetAggVolumeData), provider, context));
 }
Example #4
0
 public static ApiResponse <PublicVolumeResponse> GetAggVolumeData(IAggVolumeDataProvider provider, AggVolumeDataContext context)
 {
     return(AsyncContext.Run(() => GetAggVolumeDataAsync(provider, context)));
 }
Example #5
0
        private PublicVolumeResponse GetVolumeDataAgg(IAggVolumeDataProvider prov, AssetPair pair)
        {
            var apir = ApiCoordinator.GetAggVolumeData(prov, new AggVolumeDataContext(pair));

            return(apir.IsNull ? null : apir.Response);
        }
Example #6
0
 private PricingProvider()
 {
     ProviderAggVolumeData  = Networks.I.Providers.OfType <IAggVolumeDataProvider>().FirstOrDefault();
     ProvidersPublicPricing = Networks.I.Providers.OfType <IPublicPricingProvider>().Where(x => x.IsDirect).ToList();
 }