Пример #1
0
        /// <summary>
        /// 获取主力合约列表。
        /// </summary>
        /// <returns></returns>
        private List <MainContractEntity> GetMainContractList()
        {
            string cmdText = string.Format(@"select varieties, exchange, settlement_date, main_contract from {0}.main_contract
where settlement_date >= '{1:yyyy-MM-dd}' and settlement_date <= '{2:yyyy-MM-dd}'
order by settlement_date, exchange, varieties;",
                                           m_alphaDBName, m_beginDate, m_endDate);

            DataTable table = new DataTable();

            using (MySqlConnection connection = new MySqlConnection(m_dbConStr))
            {
                MySqlDataAdapter adapter = new MySqlDataAdapter(cmdText, connection);
                adapter.Fill(table);
            }

            List <MainContractEntity> mainContractList = new List <MainContractEntity>();

            foreach (DataRow row in table.Rows)
            {
                USeMarket          exchange     = (USeMarket)Enum.Parse(typeof(USeMarket), row["exchange"].ToString());
                MainContractEntity mainContract = new MainContractEntity()
                {
                    Varieties        = row["varieties"].ToString(),
                    Exchange         = exchange,
                    SettlementDate   = Convert.ToDateTime(row["settlement_date"]),
                    BaseContract     = row["main_contract"].ToString(),
                    MainContractCode = USeTraderProtocol.GetMainContractCode(row["varieties"].ToString(), exchange).InstrumentCode
                };
                mainContractList.Add(mainContract);
            }

            return(mainContractList);
        }
Пример #2
0
        /// <summary>
        /// 获取主力合约K线Delete语句。
        /// </summary>
        /// <param name="mainContract"></param>
        /// <returns></returns>
        private string GetMainContractMin1KLineDeleteSql(MainContractEntity mainContract)
        {
            string cmdText = string.Format(@"delete from {0}.min1_kline_{1}
where contract = '{2}' and DATE_FORMAT(date_time, '%Y-%m-%d') = '{3:yyyy-MM-dd}';",
                                           m_alphaDBName, mainContract.Exchange.ToString().ToLower(),
                                           mainContract.MainContractCode, mainContract.SettlementDate);

            return(cmdText);
        }
Пример #3
0
        /// <summary>
        /// 获取主力合约K线Insert语句。
        /// </summary>
        /// <param name="mainContract"></param>
        /// <returns></returns>
        private string GetMainContractMin1KLineInsertSql(MainContractEntity mainContract)
        {
            string cmdText = string.Format(@"insert into {0}.min1_kline_{1}(contract, exchange, date_time, price_open, price_high, price_low, price_close, volumn, turnover, openinterest)
select '{2}',exchange,date_time,price_open,price_high,price_low,price_close,volumn,turnover,openinterest
 from {0}.min1_kline_{1} where contract = '{3}' and DATE_FORMAT(date_time, '%Y-%m-%d') = '{4:yyyy-MM-dd}';",
                                           m_alphaDBName, mainContract.Exchange.ToString().ToLower(), mainContract.MainContractCode,
                                           mainContract.BaseContract, mainContract.SettlementDate);

            return(cmdText);
        }