private static void Test_QueryTickData(RushQuantTradeClient client) { Console.WriteLine("******* QueryTickData BEGIN *********\n"); QueryTickDataInput input = new QueryTickDataInput { ExchangeId = ExchangeId.SSE, InstrumentCode = "601288" }; QueryTickDataOutput output = client.QueryTickData(input); QueryTickDataOutput item = output; Console.WriteLine( $@"交易所名称:{item.ExchangeId}, 合约代码:{item.InstrumentCode}, 合约名称:{item.InstrumentName} 卖五: {item.AskPrice5.ToString("f2")} {item.AskVolume5} 卖四: {item.AskPrice4.ToString("f2")} {item.AskVolume4} 卖三: {item.AskPrice3.ToString("f2")} {item.AskVolume3} 卖二: {item.AskPrice2.ToString("f2")} {item.AskVolume2} 卖一: {item.AskPrice1.ToString("f2")} {item.AskVolume1} 买一: {item.BidPrice1.ToString("f2")} {item.BidVolume1} 买二: {item.BidPrice2.ToString("f2")} {item.BidVolume2} 买三: {item.BidPrice3.ToString("f2")} {item.BidVolume3} 买四: {item.BidPrice4.ToString("f2")} {item.BidVolume4} 买五: {item.BidPrice5.ToString("f2")} {item.BidVolume5} "); Console.WriteLine("******* QueryTickData END *********"); Console.WriteLine(); }
public unsafe QueryTickDataOutput QueryTickData(QueryTickDataInput input) { if (input == null) { throw new ArgumentNullException(nameof(input)); } byte *pInput = stackalloc byte[QueryTickDataInput.GetSize()]; byte *pOutput = null; input.WriteTo(pInput); int result = UnsafeNativeMethods.rushquant_trade_QueryTickData(this._accountId, pInput, ref pOutput); QueryTickDataOutput output = new QueryTickDataOutput(); output.ReadFrom(pOutput); UnsafeNativeMethods.rushquant_free(pOutput); if (result != ErrorCode.Success) { throw new RushQuantClientException(result, output.ErrorMessage); } return(output); }