Пример #1
0
        public string PlaceOrder(IScriptMarket market, ScriptedOrderType direction, decimal price, decimal amount, bool isMarketOrder, string template = "", bool hiddenOrder = false)
        {
            var result = "";

            try
            {
                var parameters = new Dictionary <string, string>
                {
                    { "apikey", _publicKey },
                    { "market", market.SecondaryCurrency.ToUpper() + "-" + market.PrimaryCurrency.ToUpper() },
                    { "quantity", amount.ToString(CultureInfo.InvariantCulture) },
                    { "rate", price.ToString(CultureInfo.InvariantCulture) }
                };

                var apiCall = "buylimit";
                if (direction == ScriptedOrderType.Sell)
                {
                    apiCall = "selllimit";
                }

                var response = Query(true, "/market/" + apiCall + "?", parameters);

                if (response != null && response.Value <bool>("success"))
                {
                    result = response.Value <JObject>("result").Value <string>("uuid");
                }
            }
            catch (Exception e)
            {
                OnError(e.Message);
            }

            return(result);
        }
Пример #2
0
        public string PlaceOrder(IScriptMarket market, ScriptedOrderType direction, decimal price, decimal amount, bool isMarketOrder, string template = "", bool hiddenOrder = false)
        {
            var result = "";

            Console.Out.WriteLine("PlaceOrder1");

            try
            {
                Market instrument = _markets.Find(c => c.PrimaryCurrency == market.PrimaryCurrency && c.SecondaryCurrency == market.SecondaryCurrency);
                int    side       = (direction == ScriptedOrderType.Buy) ? 0 : 1;
                int    type       = (isMarketOrder) ? ApexOrderType.Market : ApexOrderType.Limit;

                Console.Out.WriteLine("instrument");
                Console.Out.WriteLine(instrument.InstrumentId.ToString());
                Console.Out.WriteLine("side");
                Console.Out.WriteLine(side.ToString());
                Console.Out.WriteLine("amount");
                Console.Out.WriteLine(amount.ToString());
                Console.Out.WriteLine("type");
                Console.Out.WriteLine(type.ToString());
                Console.Out.WriteLine("price");
                Console.Out.WriteLine(price.ToString());

                JObject response = (JObject)Call("SendOrder", new ApexSendOrder(instrument.InstrumentId, 1, _userInfo.AccountId, side, amount.ToString(), type, price.ToString()));

                result = response.Value <string>("OrderId");
            } catch (Exception e)
            {
                OnError(e.Message);
            }

            return(result);
        }
        public string PlaceOrder(IScriptMarket market, ScriptedOrderType direction, decimal price, decimal amount, bool isMarketOrder, string template = "", bool hiddenOrder = false)
        {
            var result = "";

            try
            {
                var apiCall = "buy";
                if (direction == ScriptedOrderType.Sell)
                {
                    apiCall = "sell";
                }

                var parameters = new Dictionary <string, string>
                {
                    //{"apikey", _publicKey},
                    { "instrument_id", market.SecondaryCurrency.ToUpper() + "-" + market.PrimaryCurrency.ToUpper() },
                    { "side", apiCall }
                    { "size", amount.ToString(CultureInfo.InvariantCulture) },