Esempio n. 1
0
        public async Task AddOrUpdateSettings(ISimBaseInstrumentSetting setting)
        {
            if (_cache.TryGetValue(setting.BaseAssetPair, out var entity))
            {
                entity.CopyFrom(setting);
                await _tableStorage.ReplaceAsync(entity);
            }
            else
            {
                entity = new SimBaseInstrumentSettingEntity(setting);
                await _tableStorage.InsertOrReplaceAsync(entity);

                _cache[entity.BaseAssetPair] = entity;
            }
        }
 public SimBaseInstrumentService(
     IOrderBookProvider orderBookProvider,
     ITickPriceProvider tickPriceProvider,
     ITickPriceStore tickPriceStore,
     ISimBaseInstrumentSetting setting,
     IExchangeCommissionSettingRepository commissionSettingRepository,
     ILogFactory logFactory)
 {
     _orderBookProvider           = orderBookProvider;
     _tickPriceProvider           = tickPriceProvider;
     _tickPriceStore              = tickPriceStore;
     _setting                     = setting;
     _commissionSettingRepository = commissionSettingRepository;
     _log = logFactory.CreateLog(this);
 }
Esempio n. 3
0
 public SimBaseInstrumentSetting(ISimBaseInstrumentSetting setting)
 {
     BaseAssetPair         = setting.BaseAssetPair;
     CountPerSecond        = setting.CountPerSecond;
     PriceAccuracy         = setting.PriceAccuracy;
     FakeVolume            = setting.FakeVolume;
     DangerChangePriceKoef = setting.DangerChangePriceKoef;
     SourceExchange        = setting.SourceExchange.ToList();
     CrossInstrument       = setting.CrossInstrument.Select(e => new LinkedInstrumentSettings(e)).ToList();
     Order               = setting.Order;
     UseExternalSpread   = setting.UseExternalSpread;
     Alias               = setting.Alias;
     PriceCoef           = setting.PriceCoef;
     UseHardGlobalSpread = setting.UseHardGlobalSpread;
     UseFixPrice         = setting.UseFixPrice;
     FixPrice            = setting.FixPrice;
 }
Esempio n. 4
0
 public void CopyFrom(ISimBaseInstrumentSetting setting)
 {
     _sourceExchange       = setting.SourceExchange;
     CountPerSecond        = setting.CountPerSecond;
     PriceAccuracy         = setting.PriceAccuracy;
     FakeVolume            = setting.FakeVolume;
     _crossInstrument      = setting.CrossInstrument;
     DangerChangePriceKoef = setting.DangerChangePriceKoef;
     Order             = setting.Order;
     UseExternalSpread = setting.UseExternalSpread;
     ETag                = "*";
     PriceCoef           = setting.PriceCoef;
     Alias               = setting.Alias;
     UseHardGlobalSpread = setting.UseHardGlobalSpread;
     UseFixPrice         = setting.UseFixPrice;
     FixPrice            = setting.FixPrice;
 }
Esempio n. 5
0
 public SimBaseInstrumentSettingEntity(ISimBaseInstrumentSetting setting)
 {
     PartitionKey          = GeneratePartitionKey(setting.BaseAssetPair);
     RowKey                = GenerateRowKey(setting.BaseAssetPair);
     BaseAssetPair         = setting.BaseAssetPair;
     _sourceExchange       = setting.SourceExchange;
     CountPerSecond        = setting.CountPerSecond;
     PriceAccuracy         = setting.PriceAccuracy;
     FakeVolume            = setting.FakeVolume;
     _crossInstrument      = setting.CrossInstrument;
     DangerChangePriceKoef = setting.DangerChangePriceKoef;
     Order             = setting.Order;
     UseExternalSpread = setting.UseExternalSpread;
     ETag                = "*";
     PriceCoef           = setting.PriceCoef;
     Alias               = setting.Alias;
     UseHardGlobalSpread = setting.UseHardGlobalSpread;
     UseFixPrice         = setting.UseFixPrice;
     FixPrice            = setting.FixPrice;
 }