void CTraderSpi::OnRspOrderInsert(CUstpFtdcInputOrderField *pInputOrder, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { SetRstRtnInfo(pInputOrder); QMetaObject::invokeMethod(object, "insertoUndealed"); if (pRspInfo!=NULL&&pRspInfo->ErrorID!=0) { printf("-----------------------------\n"); printf("报单失败 错误原因:%s\n",pRspInfo->ErrorMsg); printf("-----------------------------\n"); return; } if(pInputOrder==NULL) { printf("没有报单数据\n"); return; } strcpy(g_OrderSysID,pInputOrder->OrderSysID); printf("-----------------------------\n"); printf("报单成功\n"); printf("-----------------------------\n"); StartQryInvestorAccount(); return ; }
void CTraderSpi::OnRtnTrade(CUstpFtdcTradeField *pTrade) { printf("-----------------------------\n"); printf("收到成交回报\n"); Show(pTrade); printf("-----------------------------\n"); QMetaObject::invokeMethod(object, "removeSelection",Q_ARG(QVariant, pTrade->OrderSysID));//remove from undealed list StartQryInvestorAccount(); return; }
void CTraderSpi::OnRspUserLogin(CUstpFtdcRspUserLoginField *pRspUserLogin, CUstpFtdcRspInfoField *pRspInfo, int nRequestID, bool bIsLast) { if (pRspInfo!=NULL&&pRspInfo->ErrorID!=0) { printf("-----------------------------\n"); printf("登录失败...错误原因:%s\n",pRspInfo->ErrorMsg); printf("-----------------------------\n"); return; } g_nOrdLocalID=atoi(pRspUserLogin->MaxOrderLocalID)+1; printf("-----------------------------\n"); printf("登录成功,最大本地报单号:%d\n",g_nOrdLocalID); printf("-----------------------------\n"); StartAutoOrder();//连接成功后就开始起一个线程开始操作 hui StartQryInvestorAccount(); }
void StartTest() { switch(g_nSwitch){ case 1: case 2: case 3: case 4: StartAutoOrder(); break; case 5: printf("StartInputOrder \n"); StartInputOrder(); break; case 6: printf("StartOrderAction \n"); StartOrderAction(); break; case 7: printf("StartQueryExchange \n"); StartQueryExchange(); break; case 8: printf("StartQryInvestorAccount \n"); StartQryInvestorAccount(); break; case 9: printf("StartQryUserInvestor \n"); StartQryUserInvestor(); break; case 10: printf("StartQryInstrument \n"); StartQryInstrument(); break; case 11: printf("StartQryTradingCode \n"); StartQryTradingCode(); break; default : printf("Input arg Error\n"); break; } return ; }
void * OrderFunc(void *pParam) #endif { while(1){ ShowManu(); printf("g_choose=[%d]\n",g_choose); switch(g_choose) { case 0: StartLogOut(); exit(0); case 1: StartInputOrder (); break; case 2: StartOrderAction(); break; case 3: StartQryOrder(); break; case 4: StartQryTrade(); break; case 5: StartQryInvestorAccount(); break; case 6: StartQryTradingCode(); break; case 7: StartQueryExchange(); break; case 8: StartQryInstrument(); break; case 9: StartQryUserInvestor(); break; case 10: StartQryInvestorPosition(); break; case 11: StartUpdatePassword(); break; case 12: StartQueryFee(); break; case 13: StartQueryMargin(); break; case 14: StartQueryComplianceParam(); break; default: printf("Input Error\n"); break; } #ifdef WIN32 Sleep(200); #else usleep(200 * 1000); #endif } return 0; }