Esempio n. 1
0
        private static void Test_QuerySecurityHistoricalDeal(RushQuantTradeClient client)
        {
            Console.WriteLine("******* QuerySecurityHistoricalDeal BEGIN *********\n");

            QuerySecurityHistoricalDealInput input = new QuerySecurityHistoricalDealInput()
            {
                BeginDate = 20181212,
                EndDate   = 20181213,
            };
            QuerySecurityHistoricalDealOutput output = client.QuerySecurityHistoricalDeal(input);

            Console.WriteLine($"{"成交日期",-10}{"成交时间",-10}{"成交编号",-20}{"股东代码",-10}{"交易所代码",-10}{"合约代码",-10}{"合约名称",-10}{"交易标志",-10}{"成交价格",-10}{"成交数量",-10}");

            for (int i = 0; i < output.Count; i++)
            {
                QuerySecurityHistoricalDealOutputItem item = output.Items[i];
                Console.WriteLine($"{item.DealDate,-14}{item.DealTime,-14}{item.DealID,-24}{item.StockholderCode,-14}{item.ExchangeId,-15}{item.InstrumentCode,-14}{item.InstrumentName,-14}{GetTradeFlagText(item.TradeFlag),-12}{item.DealPrice,-14}{item.DealVolume,-14}");
            }
            Console.WriteLine("******* QuerySecurityHistoricalDeal END *********\n");
            Console.WriteLine();
        }
        public unsafe QuerySecurityHistoricalDealOutput QuerySecurityHistoricalDeal(QuerySecurityHistoricalDealInput input)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

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

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

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

            return(output);
        }