コード例 #1
0
        public DeepInstrumentView(string sTablename,string stip, SQLiteBase.SQLiteBase MemDB)
        {
            InitializeComponent();

            sqldb = MemDB;
            table_name = sTablename;
            vSQL = "SELECT INSTRUMENTID as 合约名,TRADINGDAY as 交易日,UPDATETIME as 时间, UPDATEMILLISEC 毫秒, lastprice 最新价 ,VOLUME ,TURNOVER, OPENINTEREST, BIDPRICE1 as 叫买价, BIDVOLUME1 as 叫买量,ASKPRICE1 as 叫卖价, ASKVOLUME1 as 叫卖量 from " + sTablename + " where INSTRUMENTID='" + stip + "';";
            sqldb.setSQL(vSQL);
            sqldb.OpenSQL();
            dt = sqldb.dt_Result.Copy();
            this.Text = stip + " - " + this.Text;
        }
コード例 #2
0
        public DeepInstrumentView(string sTablename, string stip, SQLiteBase.SQLiteBase MemDB)
        {
            InitializeComponent();

            sqldb      = MemDB;
            table_name = sTablename;
            vSQL       = "SELECT INSTRUMENTID as 合约名,TRADINGDAY as 交易日,UPDATETIME as 时间, UPDATEMILLISEC 毫秒, lastprice 最新价 ,VOLUME ,TURNOVER, OPENINTEREST, BIDPRICE1 as 叫买价, BIDVOLUME1 as 叫买量,ASKPRICE1 as 叫卖价, ASKVOLUME1 as 叫卖量 from " + sTablename + " where INSTRUMENTID='" + stip + "';";
            sqldb.setSQL(vSQL);
            sqldb.OpenSQL();
            dt        = sqldb.dt_Result.Copy();
            this.Text = stip + " - " + this.Text;
        }
コード例 #3
0
ファイル: MainForm.cs プロジェクト: handgod/CTP-TRADER
 /// <summary>
 /// 注销按钮点击
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Button_Loginout_Click(object sender, EventArgs e)
 {
     ThostFtdcUserLogoutField pUserLogout = new ThostFtdcUserLogoutField();
     pUserLogout.BrokerID = sBrokerID;
     pUserLogout.UserID = sUserID;
     if (this.TSS_MDLoginState.Text == "已连接")
     {
         CtpMDApi.ReqUserLogout(pUserLogout, nRequestID++);
     }
     if (this.TSS_TDLoginState.Text == "已连接")
     {
         CtpMDApi.ReqUserLogout(pUserLogout, nRequestID++);
     }
     CtpMDApi.Release();
     CtpMDApi = null;
     CtpTDApi.Release();
     CtpTDApi = null;
     this.TSS_MDConnState.Text = "已断开";
     this.TSS_TDConnState.Text = "已断开";
     this.TSS_MDLoginState.Text = "已断开";
     this.TSS_TDLoginState.Text = "已断开";
     Button_Loginout.Enabled = false;
     MemDB.CloseDB();
     MemDB = null;
 }
コード例 #4
0
ファイル: MainForm.cs プロジェクト: handgod/CTP-TRADER
        /// <summary>
        /// 修改按钮点击
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_Edit_Click(object sender, EventArgs e)
        {
            if (this.TextBox_TDADDRESS.Enabled)
            {
                string sDbType = string.Empty;
                SQLiteBase.SQLiteBase SQLiteRun = new SQLiteBase.SQLiteBase("ConfigDB.db");

                if (this.radioButton_MemDB.Checked == true)
                {
                    sDbType = "0";
                }
                else
                {
                    sDbType = "1";
                }
                string sSql = "REPLACE INTO CTP_LOGIN_INFO SELECT 1,'"
                    + this.TextBox_TDADDRESS.Text + "','"
                    + this.TextBox_MDADDRESS.Text + "','"
                    + this.TextBox_BrokerID.Text + "','"
                    + this.TextBox_UserID.Text + "','"
                    + this.TextBox_PassWord.Text + "','"
                    + sDbType + "'";
                //先尝试打开一下
                SQLiteRun.OpenDB();
                SQLiteRun.setSQL(sSql);
                SQLiteRun.Execute();
                SQLiteRun.Commit();
                SQLiteRun.CloseDB();

                this.TextBox_TDADDRESS.Enabled = false;
                this.TextBox_MDADDRESS.Enabled = false;
                this.TextBox_BrokerID.Enabled = false;
                this.TextBox_UserID.Enabled = false;
                this.TextBox_PassWord.Enabled = false;
                this.Button_Login.Enabled = true;
                this.Button_Connect.Enabled = true;
            }
            else
            {
                this.TextBox_TDADDRESS.Enabled = true;
                this.TextBox_MDADDRESS.Enabled = true;
                this.TextBox_BrokerID.Enabled = true;
                this.TextBox_UserID.Enabled = true;
                this.TextBox_PassWord.Enabled = true;
                this.Button_Login.Enabled = false;
                this.Button_Connect.Enabled = false;
            }
        }
コード例 #5
0
ファイル: MainForm.cs プロジェクト: handgod/CTP-TRADER
        /// <summary>
        /// 点击连接按钮连接前置机
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button_Connect_Click(object sender, EventArgs e)
        {
            sTDAddress = this.TextBox_TDADDRESS.Text;
            sMDAddress = this.TextBox_MDADDRESS.Text;
            sBrokerID = this.TextBox_BrokerID.Text;
            sUserID = this.TextBox_UserID.Text;
            sPassword = this.TextBox_PassWord.Text;
            sTableName = string.Empty;
            #region 数据库初始化
            //内存数据库打开
            if (this.radioButton_MemDB.Checked && MemDB == null)
            {
                MemDB = new SQLiteBase.SQLiteBase();
            }
            else if (MemDB == null)
            {
                MemDB = new SQLiteBase.SQLiteBase("InstrmentDataBase.db");
            }
            MemDB.OpenDB();
            #endregion
            #region 交易初始化
            CtpMDApi = new CTPMDAdapter("MDAPI", false);
            CtpMDApi.OnFrontConnected += new FrontConnected(sCtpMdApi.OnFrontConnected);
            CtpMDApi.OnFrontDisconnected += new FrontDisconnected(sCtpMdApi.OnFrontDisconnected);
            CtpMDApi.OnHeartBeatWarning += new HeartBeatWarning(sCtpMdApi.OnHeartBeatWarning);
            CtpMDApi.OnRspError += new RspError(sCtpMdApi.OnRspError);
            CtpMDApi.OnRspSubMarketData += new RspSubMarketData(sCtpMdApi.OnRspSubMarketData);
            CtpMDApi.OnRspUnSubMarketData += new RspUnSubMarketData(sCtpMdApi.OnRspUnSubMarketData);
            CtpMDApi.OnRspUserLogin += new RspUserLogin(sCtpMdApi.OnRspUserLogin);
            CtpMDApi.OnRspUserLogout += new RspUserLogout(sCtpMdApi.OnRspUserLogout);
            CtpMDApi.OnRtnDepthMarketData += new RtnDepthMarketData(sCtpMdApi.OnRtnDepthMarketData);
            //注册前置机
            CtpMDApi.RegisterFront(sMDAddress);
            //初始化
            CtpMDApi.Init();
            #endregion 交易初始化
            #region 行情初始化
            CtpTDApi = new CTPTDAdapter("TDAPI");
            CtpTDApi.OnFrontConnected += new FrontConnected(sCtpTdApi.OnFrontConnected);
            CtpTDApi.OnFrontDisconnected += new FrontDisconnected(sCtpTdApi.OnFrontDisconnected);
            CtpTDApi.OnHeartBeatWarning += new HeartBeatWarning(sCtpTdApi.OnHeartBeatWarning);
            CtpTDApi.OnRspError += new RspError(sCtpTdApi.OnRspError);
            CtpTDApi.OnRspUserLogin += new RspUserLogin(sCtpTdApi.OnRspUserLogin);
            CtpTDApi.OnRspOrderAction += new RspOrderAction(sCtpTdApi.OnRspOrderAction);
            CtpTDApi.OnRspOrderInsert += new RspOrderInsert(sCtpTdApi.OnRspOrderInsert);
            CtpTDApi.OnRspQryInstrument += new RspQryInstrument(sCtpTdApi.OnRspQryInstrument);
            CtpTDApi.OnRspQryInvestorPosition += new RspQryInvestorPosition(sCtpTdApi.OnRspQryInvestorPosition);
            CtpTDApi.OnRspQryInvestorPositionDetail += new RspQryInvestorPositionDetail(sCtpTdApi.OnRspQryInvestorPositionDetail);
            CtpTDApi.OnRspQryTradingAccount += new RspQryTradingAccount(sCtpTdApi.OnRspQryTradingAccount);
            CtpTDApi.OnRspSettlementInfoConfirm += new RspSettlementInfoConfirm(sCtpTdApi.OnRspSettlementInfoConfirm);
            CtpTDApi.OnRtnOrder += new RtnOrder(sCtpTdApi.OnRtnOrder);
            CtpTDApi.OnRtnTrade += new RtnTrade(sCtpTdApi.OnRtnTrade);
            //注册流



            switch (comboBox_ResumeType.Text)
            {
                case "断线恢复":
                    CtpTDApi.SubscribePublicTopic(EnumTeResumeType.THOST_TERT_RESUME);					// 注册公有流
                    CtpTDApi.SubscribePrivateTopic(EnumTeResumeType.THOST_TERT_RESUME);					// 注册私有流
                    break;
                case "当天全部":
                    CtpTDApi.SubscribePublicTopic(EnumTeResumeType.THOST_TERT_RESTART);					// 注册公有流
                    CtpTDApi.SubscribePrivateTopic(EnumTeResumeType.THOST_TERT_RESTART);					// 注册私有流
                    break;
                default:
                    CtpTDApi.SubscribePublicTopic(EnumTeResumeType.THOST_TERT_QUICK);					// 注册公有流
                    CtpTDApi.SubscribePrivateTopic(EnumTeResumeType.THOST_TERT_QUICK);					// 注册私有流
                    break;

            }

            //注册前置机
            CtpTDApi.RegisterFront(sTDAddress);
            //初始化
            CtpTDApi.Init();
            #endregion 行情初始化
        }
コード例 #6
0
ファイル: MainForm.cs プロジェクト: handgod/CTP-TRADER
        /// <summary>
        ///  SQLite数据库配置的读取和初始化
        /// </summary>
        private void InitConfig()
        {
            SQLiteBase.SQLiteBase SQLiteCtl = new SQLiteBase.SQLiteBase("ConfigDB.db");
            string sSql = string.Empty;
            SQLiteCtl.OpenDB();
            if (!SQLiteCtl.existTable("CTP_LOGIN_INFO"))
            {
                sSql = "CREATE TABLE CTP_LOGIN_INFO " +
                           "(ID INT,TDADDR VARCHAR(200),MDADDR VARCHAR(200),BROKER_ID VARCHAR(20),USER_ID VARCHAR(20),PASSWD VARCHAR(20),DB_TYPE INT,PRIMARY KEY (ID))";
                SQLiteCtl.setSQL(sSql);
                SQLiteCtl.Execute();
                sSql = "INSERT INTO CTP_LOGIN_INFO SELECT 1, 'tcp://ctpmn1-front1.citicsf.com:51205','tcp://ctpmn1-front1.citicsf.com:51213','1017','00000054','123456','0'";
                SQLiteCtl.setSQL(sSql);
                SQLiteCtl.Execute();
                SQLiteCtl.Commit();
                MessageBox.Show("CTP_LOGIN_INFO数据库初始化成功!");
            }

            sSql = "SELECT * FROM CTP_LOGIN_INFO";
            SQLiteCtl.setSQL(sSql);
            SQLiteCtl.OpenSQL();
            if (SQLiteCtl.Next())
            {
                TextBox_TDADDRESS.Text = SQLiteCtl.filed["TDADDR"].ToString();
                TextBox_MDADDRESS.Text = SQLiteCtl.filed["MDADDR"].ToString();
                TextBox_BrokerID.Text = SQLiteCtl.filed["BROKER_ID"].ToString();
                TextBox_UserID.Text = SQLiteCtl.filed["USER_ID"].ToString();
                TextBox_PassWord.Text = SQLiteCtl.filed["PASSWD"].ToString();
                if (SQLiteCtl.filed["DB_TYPE"].ToString() == "0")
                {
                    this.radioButton_MemDB.Checked = true;
                    this.radioButton_FileDB.Checked = false;
                }
                else
                {
                    this.radioButton_MemDB.Checked = false;
                    this.radioButton_FileDB.Checked = true;
                }

            }
            SQLiteCtl.CloseDB();
        }