public static CThostFtdcTraderApi CreateFtdcTraderApi() { global::System.IntPtr cPtr = thosttradeapiPINVOKE.CThostFtdcTraderApi_CreateFtdcTraderApi__SWIG_1(); CThostFtdcTraderApi ret = (cPtr == global::System.IntPtr.Zero) ? null : new CThostFtdcTraderApi(cPtr, false); return(ret); }
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CThostFtdcTraderApi obj) { return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr); }
static void Main(string[] args) { Console.WriteLine("Start testing CTP Trade API"); const string ctpServerAddress = "tcp://ctpfz1-front1.citicsf.com:51205"; var api = CThostFtdcTraderApi.CreateFtdcTraderApi(); var spi = new CTPTradeCallbackImpl(); api.RegisterSpi(spi); api.SubscribePrivateTopic(THOST_TE_RESUME_TYPE.THOST_TERT_QUICK); api.SubscribePublicTopic(THOST_TE_RESUME_TYPE.THOST_TERT_QUICK); api.RegisterFront(ctpServerAddress); api.Init(); while (!spi.IsConnected) { Thread.Sleep(100); Console.WriteLine("is not connected..."); } var userLogin = new CThostFtdcReqUserLoginField(); userLogin.BrokerID = "66666"; userLogin.UserID = "11782"; userLogin.Password = "******"; int requestId = 0; api.ReqUserLogin(userLogin, requestId++); while (!spi.IsReady) { Thread.Sleep(100); Console.WriteLine("is not ready..."); } Thread.Sleep(1100); var settlementConfirm = new CThostFtdcSettlementInfoConfirmField() { BrokerID = userLogin.BrokerID, InvestorID = userLogin.UserID }; api.ReqSettlementInfoConfirm(settlementConfirm, requestId++); Thread.Sleep(3000); var order = new CThostFtdcInputOrderField(); order.BrokerID = userLogin.BrokerID; order.InvestorID = userLogin.UserID; order.InstrumentID = "IF1803"; order.OrderRef = spi.GetNextOrderRef(); order.UserID = userLogin.UserID; order.Direction = '0'; order.CombOffsetFlag = "0"; order.CombHedgeFlag = "1"; order.LimitPrice = 4000.0; order.VolumeTotalOriginal = 1; order.VolumeCondition = '1'; order.MinVolume = 1; order.ForceCloseReason = '0'; order.IsAutoSuspend = 0; order.UserForceClose = 0; order.GTDDate = ""; order.ContingentCondition = '1'; order.OrderPriceType = '2'; order.TimeCondition = '3'; order.StopPrice = 0; order.RequestID = requestId++; api.ReqOrderInsert(order, order.RequestID); while (true) { Thread.Sleep(100); } }
public string GetApiVersion() { return(CThostFtdcTraderApi.GetApiVersion()); }
public CTPTradeApi(CThostFtdcTraderApi traderApi) { _traderApi = traderApi; }
public ITradeApi CreateTradeApi() { _api = CThostFtdcTraderApi.CreateFtdcTraderApi(); return(new CTPTradeApi(_api)); }