Esempio n. 1
0
        public void Subscribe_And_Listen()
        {
            socket = new Websocket(new ApiCredentials
            {
                ApiKey    = TestBase.ApiKey,
                ApiSecret = TestBase.ApiSecret
            });

            socket.OnClientReady  += Socket_OnClientReady;
            socket.OnClosed       += Socket_OnClosed;
            socket.OnError        += Socket_OnError;
            socket.OnFatality     += Socket_OnFatality;
            socket.OnOrderMessage += Socket_OnOrderMessage;
            socket.OnSendFailed   += Socket_OnSendFailed;
            socket.OnStateChanged += Socket_OnStateChanged;
            socket.OnTradeMessage += Socket_OnTradeMessage;

            //socket.OnBlockMessage += Socket_OnBlockMessage;
            //socket.OnChannelsResponse += Socket_OnChannelsResponse;
            //socket.OnExchangesResponse += Socket_OnExchangesResponse;
            //socket.OnFavoriteMessage += Socket_OnFavoriteMessage;
            //socket.OnMessage += Socket_OnMessage;
            //socket.OnNewMarketMessage += Socket_OnNewMarketMessage;
            //socket.OnNewsMessage += Socket_OnNewsMessage;
            //socket.OnNotificationMessage += Socket_OnNotificationMessage;

            socket.Connect();

            resetEvent.WaitOne();
        }
Esempio n. 2
0
        /// <summary>
        /// Start a websocket for observing order events
        /// </summary>
        public void OrderEventStart(object sender, EventArgs e)
        {
            /* a hack to just reuse the REST API client to sign out websocket headers */
            var    re  = new Requests();
            string url = "wss://api.gemini.com/v1/order/events";

            try
            {
                GeminiClient.Wallet.Authenticate(re, new Gemini.Contracts.PrivateRequest()
                {
                    Request = "/v1/order/events"
                });
                if (GeminiClient.Wallet.Url().Contains("sandbox"))
                {
                    url = "wss://api.sandbox.gemini.com/v1/order/events";
                }
                Gemini.Websocket ws = new Websocket(url, OrderEventCallback, null);

                ws.AddHeader("X-GEMINI-APIKEY", re.Headers["X-GEMINI-APIKEY"]);
                ws.AddHeader("X-GEMINI-PAYLOAD", re.Headers["X-GEMINI-PAYLOAD"]);
                ws.AddHeader("X-GEMINI-SIGNATURE", re.Headers["X-GEMINI-SIGNATURE"]);
                ws.Connect();
                sockets.Add(ws);
            }
            catch (Exception ex)
            {
                Logger.WriteException(Logger.Level.Error, ex);
                System.Windows.Forms.MessageBox.Show(ex.Message, "Error opening websocket");
            }
        }
Esempio n. 3
0
        public MarketHub()
        {
            socket = new Websocket(new API.Models.ApiCredentials
            {
                ApiKey    = "[YOUR-API-KEY]",
                ApiSecret = "[YOUR-API-SECRET]"
            });

            socket.OnClientReady  += Socket_OnClientReady;
            socket.OnTradeMessage += Socket_OnTradeMessage;
            socket.OnError        += Socket_OnError;

            socket.Connect();
        }