public BTCMarketsExchange(IDataStore _dataStore, ICurrencyPairRepository _currencyPairRepository) { wallets = new List<CurrencyWallet>(); pairsToUpdate = new List<BTCMarketsCurrencyWalletPair>(); syntheticPairsToUpdate = new List<BTCMarketsSyntheticCurrencyWalletPair>(); dataStore = _dataStore; var btcWallet = new FixedFeeCurrencyWallet(0.001M,0.001M, CurrencyType.Bitcoin , this); var ltcWallet = new FixedFeeCurrencyWallet(0.01M, 0.01M, CurrencyType.Litecoin, this); var audWallet = new PercentageFeeCurrencyWallet(0.01M, 0.015M, CurrencyType.AUD, this); wallets.Add(btcWallet); wallets.Add(ltcWallet); wallets.Add(audWallet); var btcusd = new BTCMarketsCurrencyWalletPair(btcWallet, audWallet, _dataStore, "https://api.btcmarkets.net/market/BTC/AUD/tick"); var ltcusd = new BTCMarketsCurrencyWalletPair(ltcWallet, audWallet, _dataStore, "https://api.btcmarkets.net/market/LTC/AUD/tick"); var btcltc = new BTCMarketsSyntheticCurrencyWalletPair(btcWallet, ltcWallet, _dataStore, "https://api.btcmarkets.net/market/BTC/AUD/tick", "https://api.btcmarkets.net/market/LTC/AUD/tick"); pairsToUpdate.Add(btcusd); pairsToUpdate.Add(ltcusd); syntheticPairsToUpdate.Add(btcltc); _currencyPairRepository.Store(btcusd); _currencyPairRepository.Store(ltcusd); _currencyPairRepository.Store(btcltc); }
private void UpdateQuotes(BTCMarketsCurrencyWalletPair pair) { WebClient client = new WebClient(); var source = client.DownloadString(pair.url); var sourceTicker = JsonConvert.DeserializeObject<BTCMarketsTickerModel>(source); var tick = new TickDataModel(); tick.SourceExchange = sourceExchange; //tick.Average= sourceTicker.av //tick.Volum; tick.Last = sourceTicker.lastPrice; tick.Bid = sourceTicker.bestBid; tick.Ask = sourceTicker.bestAsk; pair.Tick(tick); lastQuote = tick; return; }