Пример #1
0
        public Quadrigacx(IObjectSpace space)
        {
            this.Space = space;

            CurrentExchange   = space.FindObject <Exchange>(new BinaryOperator("Name", "quadrigacx.com"));
            QuadrigaAPIClient = new QuadrigaAPI(Convert.ToInt32(CurrentExchange.APIClientID), CurrentExchange.APIKey, CurrentExchange.APISecret, "");
            this.APIKey       = CurrentExchange.APIKey;
            this.APISecret    = CurrentExchange.APISecret;
            this.APIClientID  = CurrentExchange.APIClientID;
        }
Пример #2
0
        private void btnUserTransactions_Click(object sender, EventArgs e)
        {
            QuadrigaAPI api = new QuadrigaAPI(Convert.ToInt32(txtClientID.Text), txtAPIKey.Text, txtAPISecret.Text);

            try
            {
                var transactions        = api.GetUserTransactions(Convert.ToInt32(txtOffset.Text), Convert.ToInt32(txtLimit.Text), txtSort.Text, txtOrderBook.Text);
                frmObjectVisualizer frm = new frmObjectVisualizer(transactions);
                frm.Show();
            }
            catch (QuadrigaResultError ex)
            {
                MessageBox.Show(String.Format("Code: {0}, Message: {1}", ex.QuadrigaErrorCode, ex.Message));
            }
        }
Пример #3
0
        private void btnGetAccountBalance_Click(object sender, EventArgs e)
        {
            QuadrigaAPI api = new QuadrigaAPI(Convert.ToInt32(txtClientID.Text), txtAPIKey.Text, txtAPISecret.Text, txtNonce.Text);

            try
            {
                var output = api.GetAccountBalance();
                frmObjectVisualizer frm = new frmObjectVisualizer(output);
                frm.Show();
            }
            catch (QuadrigaResultError ex)
            {
                MessageBox.Show(String.Format("Code: {0}, Message: {1}", ex.QuadrigaErrorCode, ex.Message));
            }
        }
Пример #4
0
        private void btnTransactions_Click(object sender, EventArgs e)
        {
            QuadrigaAPI api = new QuadrigaAPI();

            try
            {
                var transactions        = api.GetTransactions(txtOrderBook.Text, txtTimeFrame.Text, chkUseLocalTime.Checked);
                frmObjectVisualizer frm = new frmObjectVisualizer(transactions);
                frm.Show();
            }
            catch (QuadrigaResultError ex)
            {
                MessageBox.Show(String.Format("Code: {0}, Message: {1}", ex.QuadrigaErrorCode, ex.Message));
            }
        }
Пример #5
0
        private void btnOrderBook_Click(object sender, EventArgs e)
        {
            QuadrigaAPI api = new QuadrigaAPI();

            try
            {
                var orderbook           = api.GetOrderBook(txtOrderBook.Text, chkGroup.Checked, chkUseLocalTime.Checked);
                frmObjectVisualizer frm = new frmObjectVisualizer(orderbook);
                frm.Show();
            }
            catch (QuadrigaResultError ex)
            {
                MessageBox.Show(String.Format("Code: {0}, Message: {1}", ex.QuadrigaErrorCode, ex.Message));
            }
        }
Пример #6
0
        private void btnLookupOrder_Click(object sender, EventArgs e)
        {
            QuadrigaAPI api = new QuadrigaAPI(Convert.ToInt32(txtClientID.Text), txtAPIKey.Text, txtAPISecret.Text);

            try
            {
                var order = api.LookupOrder(txtOrderID.Text);
                frmObjectVisualizer frm = new frmObjectVisualizer(order);
                frm.Show();
            }
            catch (QuadrigaResultError ex)
            {
                MessageBox.Show(String.Format("Code: {0}, Message: {1}", ex.QuadrigaErrorCode, ex.Message));
            }
        }
Пример #7
0
        private void LoadMarketSummaryAsync(IObjectSpace space)
        {
            QuadrigaAPI api = new QuadrigaAPI();
            CurrentTradingInformation market;


            market = api.GetCurrentTradingInformation("btc_cad", true);



            //      var orderbook = api.GetOrderBook("btc_cad", true, true);
            //      textBox1.Text = orderbook.asks[0].Price.ToString();
            //    textBox2.Text = orderbook.bids[0].Price.ToString();


            //     var market = await bitstampClient.Market.GetSummaryAsync();

            //  CurrentExchange
            if (market != null)
            {
                CurrentExchange.Last = Convert.ToDecimal(market.last);
                CurrentExchange.Bid  = Convert.ToDecimal(market.bid);
                CurrentExchange.Ask  = Convert.ToDecimal(market.ask);
                CurrentExchange.Low  = Convert.ToDecimal(market.low);
                CurrentExchange.High = Convert.ToDecimal(market.high);


                CurrentExchange.ServerResponseTimestamp = market.timestamp;
                CurrentExchange.Volume = Convert.ToDecimal(market.volume);
                space.CommitChanges();
                // Console.WriteLine(String.Format("{0}Quadrigacx Current Ask: {1} Current Bid: {2}", market.timestamp.ToLongTimeString(), market.bid.ToString(), market.ask.ToString()));
            }
            else
            {
                Console.WriteLine("didnt get it");
            }

            LoadMarketSummaryAsync(space);



            //   TextBlockPriceLast.Text = "$" + market.PriceLast.ToStringNormalized();
        }
Пример #8
0
        public void CreateBuyTrade(decimal amount, decimal price)
        {
            QuadrigaAPI api = QuadrigaAPIClient;

            try
            {
                //    var tradinginfo = api.GetCurrentTradingInformation("btc_cad",true);

                Console.WriteLine("Buying");
                var order = api.BuyOrderLimit(amount, price, "btc_cad");
                //frmObjectVisualizer frm = new frmObjectVisualizer(order);
                //  frm.Show();
                Console.WriteLine("bought");
            }
            catch (QuadrigaResultError ex)
            {
                Console.WriteLine(String.Format("Code: {0}, Message: {1}", ex.QuadrigaErrorCode, ex.Message));
            }
        }
Пример #9
0
        private void btnCancel_Click(object sender, EventArgs e)
        {
            QuadrigaAPI api = new QuadrigaAPI(Convert.ToInt32(txtClientID.Text), txtAPIKey.Text, txtAPISecret.Text);

            try
            {
                var cancel = api.CancelOrder(txtOrderID.Text);
                if (cancel == "true")
                {
                    MessageBox.Show("Cancellation was successful");
                }
                else
                {
                    MessageBox.Show(String.Format("Cancellation NOT successful - API returned '{0}'", cancel));
                }
            }
            catch (QuadrigaResultError ex)
            {
                MessageBox.Show(String.Format("Code: {0}, Message: {1}", ex.QuadrigaErrorCode, ex.Message));
            }
        }
Пример #10
0
        private void btnSellLimit_Click(object sender, EventArgs e)
        {
            QuadrigaAPI api = new QuadrigaAPI(Convert.ToInt32(txtClientID.Text), txtAPIKey.Text, txtAPISecret.Text);

            try
            {
                var    tradinginfo = api.GetCurrentTradingInformation(txtOrderBook.Text, chkUseLocalTime.Checked);
                string msg         =
                    String.Format(
                        "You will actually be putting a trade order on your account at a price of {0} - the current vwap is {1} ",
                        txtOrderPrice.Text, tradinginfo.vwap);
                DialogResult dr;
                if (Convert.ToDecimal(txtOrderPrice.Text) >= tradinginfo.vwap)
                {
                    msg = msg + "this is probably favorable, so this is only a confirmation";
                    dr  = MessageBox.Show(msg, "Are you sure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk);
                }
                else
                {
                    msg = "WARNING: " + msg +
                          "this is probably UNfavorable, so you should really consider cancelling...";
                    dr = MessageBox.Show(msg, "Are you sure?", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);
                }
                if (dr == DialogResult.OK)
                {
                    var order = api.SellOrderLimit(Convert.ToDecimal(txtOrderAmount.Text),
                                                   Convert.ToDecimal(txtOrderPrice.Text), txtOrderBook.Text);
                    frmObjectVisualizer frm = new frmObjectVisualizer(order);
                    frm.Show();
                }
            }
            catch (QuadrigaResultError ex)
            {
                MessageBox.Show(String.Format("Code: {0}, Message: {1}", ex.QuadrigaErrorCode, ex.Message));
            }
        }