public async Task <CallResult <UpdateSubscription> > SubscribeToKlinesAsync(string symbol, BtcTurkPeriod period, Action <BtcTurkStreamKline> onData) { var request = new BtcTurkSocketRequest(151, "tradeview", $"{symbol}_{JsonConvert.SerializeObject(period, new PeriodEnumConverter(false))}", true); var internalHandler = new Action <BtcTurkSocketResponse>(data => onData(JsonConvert.DeserializeObject <BtcTurkStreamKline>(data.Data))); return(await Subscribe(request.RequestObject(), null, false, internalHandler).ConfigureAwait(false)); }
public async Task <CallResult <UpdateSubscription> > SubscribeToTickersAsync(Action <BtcTurkStreamTickerAll> onData) { var request = new BtcTurkSocketRequest(151, "ticker", "all", true); var internalHandler = new Action <BtcTurkSocketResponse>(data => onData(JsonConvert.DeserializeObject <BtcTurkStreamTickerAll>(data.Data))); return(await Subscribe(request.RequestObject(), null, false, internalHandler).ConfigureAwait(false)); }
public async Task <CallResult <UpdateSubscription> > SubscribeToOrderBookFullAsync(string symbol, Action <BtcTurkStreamOrderBookFull> onData) { var request = new BtcTurkSocketRequest(151, "orderbook", symbol, true); var internalHandler = new Action <BtcTurkSocketResponse>(data => onData(JsonConvert.DeserializeObject <BtcTurkStreamOrderBookFull>(data.Data))); return(await Subscribe(request.RequestObject(), null, false, internalHandler).ConfigureAwait(false)); }
public virtual async Task <CallResult <UpdateSubscription> > SubscribeToTickerAsync(string symbol, Action <BtcTurkStreamTickerSingle> onData) { var request = new BtcTurkSocketRequest(151, "ticker", symbol, true); var internalHandler = new Action <DataEvent <BtcTurkSocketResponse> >(data => onData(JsonConvert.DeserializeObject <BtcTurkStreamTickerSingle>(data.Data.Data))); return(await SubscribeAsync(request.RequestObject(), null, false, internalHandler).ConfigureAwait(false)); }
public async Task <CallResult <UpdateSubscription> > SubscribeToTradesAsync(string symbol, Action <BtcTurkStreamTradeList> onListData, Action <BtcTurkStreamTradeSingle> onRowData) { var request = new BtcTurkSocketRequest(151, "trade", symbol, true); var internalHandler = new Action <BtcTurkSocketResponse>(data => { if (data.Model == 421) { onListData(JsonConvert.DeserializeObject <BtcTurkStreamTradeList>(data.Data)); } if (data.Model == 422) { onRowData(JsonConvert.DeserializeObject <BtcTurkStreamTradeSingle>(data.Data)); } } ); return(await Subscribe(request.RequestObject(), null, false, internalHandler).ConfigureAwait(false)); }
public async Task <CallResult <UpdateSubscription> > SubscribeToOrderBookDiffAsync(string symbol, Action <BtcTurkStreamOrderBookFull> onFullData, Action <BtcTurkStreamOrderBookDifference> onDiffData) { var request = new BtcTurkSocketRequest(151, "obdiff", symbol, true); var internalHandler = new Action <BtcTurkSocketResponse>(data => { if (data.Model == 431) { onFullData(JsonConvert.DeserializeObject <BtcTurkStreamOrderBookFull>(data.Data)); } if (data.Model == 432) { onDiffData(JsonConvert.DeserializeObject <BtcTurkStreamOrderBookDifference>(data.Data)); } } ); return(await Subscribe(request.RequestObject(), null, false, internalHandler).ConfigureAwait(false)); }