Example #1
0
        private void WsClient_Subscribe(Params param)
        {
            byte[] msg;
            if (param is TickerParams)
            {
                TickerParams tickerParams = ((TickerParams)param);
                var          message      = new protobuf.ws.SubscribeTickerChannelRequest
                {
                    CurrencyPair = tickerParams.symbol
                };
                if (tickerParams.frequency != null)
                {
                    message.Frequency = (float)tickerParams.frequency;
                }

                using (MemoryStream msgStream = new MemoryStream())
                {
                    ProtoBuf.Serializer.Serialize(msgStream, message);
                    msg = msgStream.ToArray();
                }
            }
            else
            {
                throw new NotImplementedException();
            }
            var meta = new protobuf.ws.WsRequestMetaData
            {
                RequestType = protobuf.ws.WsRequestMetaData.WsRequestMsgType.SubscribeTicker
            };

            protobuf.ws.WsRequest request = new protobuf.ws.WsRequest
            {
                Meta = meta,
                Msg  = msg
            };

            sendRequest(request);
        }
Example #2
0
        private void WsClient_Subscribe(Params param)
        {   // creating request
            protobuf.ws.WsRequestMetaData meta;
            protobuf.ws.WsRequestMetaData.WsRequestMsgType requestType;
            string token;

            byte[] msg;

            if (param is TickerParams)
            {
                TickerParams tickerParams = ((TickerParams)param);
                var          message      = new protobuf.ws.SubscribeTickerChannelRequest
                {
                    CurrencyPair = tickerParams.symbol
                };
                if (tickerParams.frequency != null)
                {
                    message.Frequency = (float)tickerParams.frequency;
                }

                using (MemoryStream msgStream = new MemoryStream())
                {
                    ProtoBuf.Serializer.Serialize(msgStream, message);
                    msg         = msgStream.ToArray();
                    requestType = protobuf.ws.WsRequestMetaData.WsRequestMsgType.SubscribeTicker;
                    token       = "Ticker_" + tickerParams.symbol + " channel";
                }
            }
            else if (param is TradeParams)
            {
                TradeParams tradeParams = ((TradeParams)param);
                var         message     = new protobuf.ws.SubscribeTradeChannelRequest
                {
                    CurrencyPair = tradeParams.symbol
                };

                using (MemoryStream msgStream = new MemoryStream())
                {
                    ProtoBuf.Serializer.Serialize(msgStream, message);
                    msg         = msgStream.ToArray();
                    requestType = protobuf.ws.WsRequestMetaData.WsRequestMsgType.SubscribeTrade;
                    token       = "Trade_" + tradeParams.symbol + " channel";
                }
            } //here you can make your trade decision
            else
            {
                throw new NotImplementedException();
            }

            meta = new protobuf.ws.WsRequestMetaData
            {
                RequestType = requestType,
                Token       = token
            };

            protobuf.ws.WsRequest request = new protobuf.ws.WsRequest
            {
                Meta = meta,
                Msg  = msg
            };

            sendRequest(request);
        }