public static CThostFtdcMdApi CreateFtdcMdApi(string pszFlowPath, bool bIsUsingUdp)
        {
            global::System.IntPtr cPtr = CTPMarketCppWrapperPINVOKE.CThostFtdcMdApi_CreateFtdcMdApi__SWIG_1(pszFlowPath, bIsUsingUdp);
            CThostFtdcMdApi       ret  = (cPtr == global::System.IntPtr.Zero) ? null : new CThostFtdcMdApi(cPtr, false);

            return(ret);
        }
示例#2
0
        public MainWindow()
        {
            InitializeComponent();

            m_md_spi = new CThostFtdcMdSpi();
            m_md_spi.onFrontConnected        = new FunOnFrontConnected(CThostFtdcMdSpiImpl.FrontConnected);
            m_md_spi.onFrontDisconnected     = new FunOnFrontDisconnected(CThostFtdcMdSpiImpl.FrontDisconnected);
            m_md_spi.onHeartBeatWarning      = new FunOnHeartBeatWarning(CThostFtdcMdSpiImpl.HeartBeatWarning);
            m_md_spi.onRspUserLogin          = new FunOnRspUserLogin(CThostFtdcMdSpiImpl.RspUserLogin);
            m_md_spi.onRspUserLogout         = new FunOnRspUserLogout(CThostFtdcMdSpiImpl.RspUserLogout);
            m_md_spi.onRspError              = new FunOnRspError(CThostFtdcMdSpiImpl.RspError);
            m_md_spi.onRspSubMarketData      = new FunOnRspSubMarketData(CThostFtdcMdSpiImpl.RspSubMarketData);
            m_md_spi.onRspUnSubMarketData    = new FunOnRspUnSubMarketData(CThostFtdcMdSpiImpl.RspUnSubMarketData);
            m_md_spi.onRspQryInstrument      = new FunOnRspQryInstrument(CThostFtdcMdSpiImpl.RspQryInstrument);
            m_md_spi.onRtnDepthMarketData    = new FunOnRtnDepthMarketData(CThostFtdcMdSpiImpl.RtnDepthMarketData);
            m_md_spi.onRtnExchangeStatus     = new FunOnRtnExchangeStatus(CThostFtdcMdSpiImpl.RtnExchangeStatus);
            m_md_spi.onRtnOptionsInfo        = new FunOnRtnOptionsInfo(CThostFtdcMdSpiImpl.RtnOptionsInfo);
            m_md_spi.onRtnTemplateMarketData = new FunOnRtnTemplateMarketData(CThostFtdcMdSpiImpl.RtnTemplateMarketData);

            int size = Marshal.SizeOf(m_md_spi);

            m_md_spi_point = Marshal.AllocHGlobal(size);
            Marshal.StructureToPtr(m_md_spi, m_md_spi_point, true);

            CThostFtdcMdApi.CreateFtdcMdApi_C();
            CThostFtdcMdApi.RegisterSpi(m_md_spi_point);
            CThostFtdcMdApi.RegisterFront("tcp://192.168.1.54:15999");
            CThostFtdcMdApi.Init();
        }
        public static CThostFtdcMdApi CreateFtdcMdApi()
        {
            global::System.IntPtr cPtr = CTPMarketCppWrapperPINVOKE.CThostFtdcMdApi_CreateFtdcMdApi__SWIG_3();
            CThostFtdcMdApi       ret  = (cPtr == global::System.IntPtr.Zero) ? null : new CThostFtdcMdApi(cPtr, false);

            return(ret);
        }
示例#4
0
    public static CThostFtdcMdApi CreateFtdcMdApi(string pszFlowPath)
    {
        global::System.IntPtr cPtr = thostmdapiPINVOKE.CThostFtdcMdApi_CreateFtdcMdApi__SWIG_2(pszFlowPath);
        CThostFtdcMdApi       ret  = (cPtr == global::System.IntPtr.Zero) ? null : new CThostFtdcMdApi(cPtr, false);

        return(ret);
    }
示例#5
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            CThostFtdcReqUserLoginField req_user_login = new CThostFtdcReqUserLoginField();

            req_user_login.UserID   = "hdcx";
            req_user_login.Password = "******";
            int ret = CThostFtdcMdApi.ReqUserLogin(ref req_user_login, 0);

            Console.WriteLine("ReqUserLogin, Return Code[{0}]", ret);
        }
示例#6
0
        static void Main(string[] args)
        {
            const string ctpServerAddress = "tcp://ctp1-md1.citicsf.com:41213";

            var api = CThostFtdcMdApi.CreateFtdcMdApi();
            var spi = new CTPMarketCallbackImpl();

            api.RegisterSpi(spi);
            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...");
            }

            var codes = new string[]
            {
                "IF1801",
                "IF1803",
                "IF1806",
                "TF1803",
                "TF1806",
                "TF1809",
                "T1803",
                "T1806",
                "T1809",
                "rb1801",
                "rb1802",
                "rb1803",
                "rb1804",
                "rb1805",
                "rb1806",
                "RM805",
                "c1805"
            };

            api.SubscribeMarketData(codes, codes.Length);

            while (true)
            {
                Thread.Sleep(100);
            }
        }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CThostFtdcMdApi obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
 public IMarketApi CreateMarketApi()
 {
     _api = CThostFtdcMdApi.CreateFtdcMdApi();
     return(new CTPMarketApi(_api));
 }
 public string GetApiVersion()
 {
     return(CThostFtdcMdApi.GetApiVersion());
 }
示例#10
0
 public CTPMarketApi(CThostFtdcMdApi mdApi)
 {
     _mdApi = mdApi;
 }