Exemplo n.º 1
0
        private static void Test_PostSecuritySubmitOrder(RushQuantTradeClient client)
        {
            Console.WriteLine("******* PostSecuritySubmitOrder BEGIN *********\n");

            PostSecuritySubmitOrderInput input = new PostSecuritySubmitOrderInput
            {
                ExchangeId     = ExchangeId.SSE,
                InstrumentCode = "601288",
                TradeFlag      = (int)TradeFlag.Buy,
                QuoteType      = (int)QuoteType.SSE_LimitPrice,
                OrderPrice     = 3.42,
                OrderVolume    = 100,
            };
            PostSecuritySubmitOrderOutput output = client.PostSecuritySubmitOrder(input);
            PostSecuritySubmitOrderOutput item   = output;

            Console.WriteLine($"委托编号: {item.OrderID}");

            Console.WriteLine("******* QueryTickData END *********");
            Console.WriteLine();
        }
        public unsafe PostSecuritySubmitOrderOutput PostSecuritySubmitOrder(PostSecuritySubmitOrderInput input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            byte *pInput  = stackalloc byte[PostSecuritySubmitOrderInput.GetSize()];
            byte *pOutput = null;

            input.WriteTo(pInput);
            int result = UnsafeNativeMethods.rushquant_trade_PostSecuritySubmitOrder(this._accountId, pInput, ref pOutput);
            PostSecuritySubmitOrderOutput output = new PostSecuritySubmitOrderOutput();

            output.ReadFrom(pOutput);
            UnsafeNativeMethods.rushquant_free(pOutput);
            if (result != ErrorCode.Success)
            {
                throw new RushQuantClientException(result, output.ErrorMessage);
            }

            return(output);
        }