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(); }
private static void Test_PostSecurityCancelOrder(RushQuantTradeClient client) { Console.WriteLine("******* PostSecurityCancelOrder BEGIN *********\n"); PostSecurityCancelOrderInput input = new PostSecurityCancelOrderInput { ExchangeId = ExchangeId.SSE, OrderID = "558", }; PostSecurityCancelOrderOutput output = client.PostSecurityCancelOrder(input); PostSecurityCancelOrderOutput item = output; Console.WriteLine($"已撤单。"); Console.WriteLine("******* QueryTickData END *********"); Console.WriteLine(); }
private static void Test_QueryStockholderInfo(RushQuantTradeClient client) { Console.WriteLine("******* QueryStockholderInfo BEGIN *********\n"); QueryStockholderInfoInput input = new QueryStockholderInfoInput() { }; QueryStockholderInfoOutput output = client.QueryStockholderInfo(input); Console.WriteLine($"{"交易所名称",-20}\t{"股东代码",-20}"); for (int i = 0; i < output.Count; i++) { QueryStockholderInfoOutputItem item = output.Items[i]; Console.WriteLine($"{item.ExchangeId,-26}\t{item.StockholderCode,-26}"); } Console.WriteLine("******* QueryStockholderInfo END *********\n"); Console.WriteLine(); }
private static void Test_QuerySecurityIntradayDeal(RushQuantTradeClient client) { Console.WriteLine("******* QuerySecurityIntradayDeal BEGIN *********\n"); QuerySecurityIntradayDealInput input = new QuerySecurityIntradayDealInput() { }; QuerySecurityIntradayDealOutput output = client.QuerySecurityIntradayDeal(input); Console.WriteLine($"{"成交日期",-10}{"成交时间",-10}{"成交编号",-10}{"委托编号",-10}{"申报编号",-10}{"股东代码",-10}{"交易所代码",-10}{"合约代码",-10}{"合约名称",-10}{"交易标志",-10}{"成交价格",-10}{"成交数量",-10}"); for (int i = 0; i < output.Count; i++) { QuerySecurityIntradayDealOutputItem item = output.Items[i]; Console.WriteLine($"{item.DealDate,-14}{item.DealTime,-14}{item.DealID,-14}{item.OrderID,-14}{item.QuoteNumber,-14}{item.StockholderCode,-14}{item.ExchangeId,-15}{item.InstrumentCode,-14}{item.InstrumentName,-14}{GetTradeFlagText(item.TradeFlag),-12}{item.DealPrice,-14}{item.DealVolume,-14}"); } Console.WriteLine("******* QuerySecurityIntradayDeal END *********\n"); Console.WriteLine(); }
private static void Test_QuerySecurityIntradayOrder(RushQuantTradeClient client) { Console.WriteLine("******* QuerySecurityIntradayOrder BEGIN *********\n"); QuerySecurityIntradayOrderInput input = new QuerySecurityIntradayOrderInput() { }; QuerySecurityIntradayOrderOutput output = client.QuerySecurityIntradayOrder(input); Console.WriteLine($"{"委托日期",-10}{"委托时间",-10}{"委托编号",-10}{"股东代码",-10}{"交易所代码",-10}{"合约代码",-10}{"合约名称",-10}{"交易标志",-10}{"委托价格",-10}{"委托数量",-10}{"成交价格",-10}{"成交数量",-10}{"撤单数量",-10}{"报价类型",-10}{"状态",-10}"); for (int i = 0; i < output.Count; i++) { QuerySecurityIntradayOrderOutputItem item = output.Items[i]; Console.WriteLine($"{item.OrderDate,-14}{item.OrderTime,-14}{item.OrderID,-14}{item.StockholderCode,-14}{item.ExchangeId,-15}{item.InstrumentCode,-14}{item.InstrumentName,-10}{GetTradeFlagText(item.TradeFlag),-12}{item.OrderPrice,-14}{item.OrderVolume,-14}{item.DealPrice,-14}{item.DealVolume,-14}{item.CancelVolume,-14}{GetQuoteType(item.ExchangeId, item.QuoteType),-10}{GetStatusText(item.OrderStatus)}"); } Console.WriteLine("******* QuerySecurityIntradayOrder END *********\n"); Console.WriteLine(); }
private static void Test_QuerySecurityPositionInfo(RushQuantTradeClient client) { Console.WriteLine("******* QuerySecurityPositionInfo BEGIN *********\n"); QuerySecurityPositionInfoInput input = new QuerySecurityPositionInfoInput() { }; QuerySecurityPositionInfoOutput output = client.QuerySecurityPositionInfo(input); Console.WriteLine($"{"交易所名称",-20}\t{"合约代码",-20}\t{"合约名称",-20}\t{"数量",-20}\t{"可卖数量",-20}\t{"股东代码",-20}"); for (int i = 0; i < output.Count; i++) { QuerySecurityPositionInfoOutputItem item = output.Items[i]; Console.WriteLine($"{item.ExchangeId,-22}\t{item.InstrumentCode,-26}\t{item.InstrumentName,-26}\t{item.Volume,-26}\t{item.AvailableVolume,-26}\t{item.StockholderCode,-26}"); } Console.WriteLine("******* QuerySecurityPositionInfo END *********\n"); Console.WriteLine(); }
private static void Test_QuerySecurityCapitalInfo(RushQuantTradeClient client) { Console.WriteLine("******* QuerySecurityCapitalInfo BEGIN *********\n"); QuerySecurityCapitalInfoInput input = new QuerySecurityCapitalInfoInput() { }; QuerySecurityCapitalInfoOutput output = client.QuerySecurityCapitalInfo(input); Console.WriteLine($"{"币种",-20}\t{"资金余额",-20}\t{"可用资金",-20}\t{"可取资金",-20}\t{"总资产",-20}"); for (int i = 0; i < output.Count; i++) { QuerySecurityCapitalInfoOutputItem item = output.Items[i]; Console.WriteLine($"{GetCurrencyText(item.Currency),-22}\t{item.RemainingCapitalAmount,-26}\t{item.AvailableCapitalAmount,-26}\t{item.WithdrawableCapitalAmount,-26}\t{item.TotalAssetAmount,-26}"); } Console.WriteLine("******* QuerySecurityCapitalInfo END *********\n"); Console.WriteLine(); }
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(); }
static int Main(string[] args) { Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); // TODO: Read config from args if (args.Length == 4) { __username = args[0]; // 比如'jimcai'。 __key = args[1]; // 从Rushquant网站获取。 __accountId = args[2]; // 要操作的账户id,为末尾5位。 __password = args[3]; // 要操作的账户交易密码。 } if (!RushQuantClient.Initialize(__username, __key)) { return(-1); } var c = RushQuantTradeClient.GetAccountList(); RushQuantTradeClient client = RushQuantTradeClient.Create(Convert.ToInt32(__accountId)); client.Reset(); try { client.Login(new LoginInput() { TradePassword = __password }); Test_QueryTickData(client); Test_QueryStockholderInfo(client); Test_QuerySecurityCapitalInfo(client); Test_QuerySecurityPositionInfo(client); Test_QuerySecurityIntradayOrder(client); Test_QuerySecurityHistoricalOrder(client); Test_QuerySecurityIntradayDeal(client); Test_QuerySecurityHistoricalDeal(client); Test_PostSecuritySubmitOrder(client); //Test_PostSecuritySubmitOrder_Purchase(client); //Test_PostSecurityCancelOrder(client); //for (int i = 0; i < 20; i++) //{ // test_PostSecuritySubmitOrder_NotReturn(); // Sleep(1); //} } catch (RushQuantClientException exception) { Console.WriteLine($"Login Error: {exception.ErrorCode}, Message: {exception.Message}"); Console.Read(); return(-1); } RushQuantClient.Dispose(); Console.Read(); return(0); }