Beispiel #1
0
        public async Task UnsubscribeFromSpots(long accountId, bool isLive, params long[] symbolIds)
        {
            VerifyConnection();

            var client = GetClient(isLive);

            using var cancelationTokenSource = new CancellationTokenSource();

            ProtoOAUnsubscribeSpotsRes receivedResponse = null;

            using var disposable = client.OfType <ProtoOAUnsubscribeSpotsRes>().Where(response => response.CtidTraderAccountId == accountId)
                                   .Subscribe(response =>
            {
                receivedResponse = response;

                cancelationTokenSource.Cancel();
            });

            var requestMessage = new ProtoOAUnsubscribeSpotsReq
            {
                CtidTraderAccountId = accountId,
            };

            requestMessage.SymbolId.AddRange(symbolIds);

            await SendMessage(requestMessage, ProtoOAPayloadType.ProtoOaUnsubscribeSpotsReq, client, cancelationTokenSource, () => receivedResponse is not null);
        }
        public ProtoMessage CreateUnsubscribeFromSpotsRequest(long accountId, int symbolId, string clientMsgId = null)
        {
            var _msg = ProtoOAUnsubscribeSpotsReq.CreateBuilder();

            _msg.SetCtidTraderAccountId(accountId);
            _msg.AddSymbolId(symbolId);
            return(CreateMessage((uint)_msg.PayloadType, _msg.Build().ToByteString(), clientMsgId));
        }
Beispiel #3
0
        private void btnUnSubscribeFromSpots_Click(object sender, EventArgs e)
        {
            var spotRequest = new ProtoOAUnsubscribeSpotsReq
            {
                CtidTraderAccountId = _accountID,
            };

            spotRequest.SymbolId.Add(1);

            var message = new ProtoMessage
            {
                Payload     = spotRequest.ToByteString(),
                PayloadType = (int)ProtoOAPayloadType.ProtoOaUnsubscribeSpotsReq
            };

            Transmit(message);
        }
Beispiel #4
0
        public static ProtoMessage Unsubscribe_Spots_Req(long ctidTraderAccountId, long[] symbolIDs)
        {
            ProtoOAUnsubscribeSpotsReq message = new ProtoOAUnsubscribeSpotsReq
            {
                payloadType         = ProtoOAPayloadType.ProtoOaUnsubscribeSpotsReq,
                ctidTraderAccountId = ctidTraderAccountId,
                symbolIds           = symbolIDs
            };

            Log.Info("ProtoOAUnsubscribeSpotsReq:: " +
                     $"ctidTraderAccountId: {ctidTraderAccountId}; " +
                     $"symbolIds: [{string.Join("; ", symbolIDs)}]");

            InnerMemoryStream.SetLength(0);
            Serializer.Serialize(InnerMemoryStream, message);

            return(Encode((uint)message.payloadType, InnerMemoryStream.ToArray()));
        }