public async Task Start() { await docClient.Warmup(); var client = new PoloniexWebSocketClient { OnTradeAction = this }; await client.Connect(); await client.SubscribeToTrades("BTC_ETH"); }
public async Task Initialize() { var client = new PoloniexWebSocketClient(); await client.Connect(); await client.SubscribeToTicker(); foreach (var currencyPair in tickRouterLookup.Select(o => o.Key)) { Ticker.Current.Subscribe(currencyPair, ProcessTick); } }
public static async Task Initialize() { if (status == BootupStatus.Initializing || status == BootupStatus.Initialized) { return; } status = BootupStatus.Initializing; // boot up the Poloniex websocket client var client = new PoloniexWebSocketClient(); await client.Connect(); await client.SubscribeToTicker(); // boot up the user list users = await LoadUsers(); Ticker.Current.Subscribe("BTC_ETH", ProcessTick); status = BootupStatus.Initialized; }
public async Task Initialize() { await InitializePoloniex(); Console.WriteLine("poloniex initialized"); await InitializeBittrex(); Console.WriteLine("bittrex initialized"); async Task InitializeBittrex() { var bittrexHub = new NBittrex.BittrexHub(); bittrexHub.OnUpdateSummaryStateTick += (_, tick) => { if (tick == null || tick.Deltas == null) { return; } foreach (var item in tick.Deltas) { OnPriceEvent( currencyPair: Canonical(item.MarketName, BittrexSeparator), exchange: Bittrex, price: item.Last, volume: item.BaseVolume, bid: item.Bid, ask: item.Ask); } }; await bittrexHub.Connect(); } async Task InitializePoloniex() { // initialize current price var restClient = new ApiHttpClient(); var marketData = await restClient.Public.GetTicker(); foreach (var market in marketData) { var val = market.Value; OnPriceEvent( currencyPair: Canonical(market.Key, PoloniexSeparator), exchange: Poloniex, price: val.Last, volume: val.BaseVolume, bid: val.HighestBid, ask: val.LowestAsk); } var poloniexTicker = NPoloniex.API.Push.Ticker.Current; poloniexTicker.Tick += (_, tick) => OnPriceEvent( currencyPair: Canonical(tick.CurrencyPair, PoloniexSeparator), exchange: Poloniex, price: tick.Last, volume: tick.BaseVolume, bid: tick.HighestBid, ask: tick.LowestAsk); await poloniexTicker.Initialize(); var client = new PoloniexWebSocketClient(); await client.Connect(); await client.SubscribeToTicker(); } }