예제 #1
0
        public IHttpActionResult GetLxflData()
        {
            string            content = FinanceUtil.GetHtml();//WXMsgUtil.GetTulingMsg(info);
            List <VolumeRise> list    = JsonConvert.DeserializeObject <List <VolumeRise> >(content);

            //MySqlHelper.InsertVlumeRise(list);
            return(Ok(new { data = list }));
        }
예제 #2
0
        public HttpResponseMessage test()
        {
            string            content = FinanceUtil.GetHtml();//WXMsgUtil.GetTulingMsg(info);
            List <VolumeRise> list    = JsonConvert.DeserializeObject <List <VolumeRise> >(content);

            MySqlHelper.InsertVlumeRise(list);
            return(new HttpResponseMessage()
            {
                Content = new StringContent(content)
            });
        }
예제 #3
0
        public IHttpActionResult GetLxflData(int type = 0)//0连续放量,1连续缩量
        {
            string url = "";

            if (type == 0)
            {
                url = "http://money.finance.sina.com.cn/quotes_service/api/jsonp_v2.php/IO.XSRV2.CallbackList['M5a$19K_cODdxgk9']/StatisticsService.getVolumeRiseConList?page=1&num=2000&sort=day_con&asc=0&node=adr_hk";
            }
            else if (type == 1)
            {
                url = "http://money.finance.sina.com.cn/quotes_service/api/jsonp_v2.php/IO.XSRV2.CallbackList['y2PhvJWEK4sZBTJW']/StatisticsService.getVolumeReduceConList?page=1&num=2000&sort=day_con&asc=0&node=adr_hk";
            }
            else if (type == 2)
            {
                url = "http://money.finance.sina.com.cn/quotes_service/api/jsonp_v2.php/IO.XSRV2.CallbackList['1TUU$LlcNl2QZYVR']/StatisticsService.getVolumeRiseList?page=1&num=2000&sort=changes_volume_per&asc=0&node=adr_hk";
            }
            else if (type == 3)
            {
                url = "http://money.finance.sina.com.cn/quotes_service/api/jsonp_v2.php/IO.XSRV2.CallbackList['pkfkImCUmAiy8tnu']/StatisticsService.getVolumeReduceList?page=1&num=2000&sort=changes_volume_per&asc=1&node=adr_hk";
            }
            else if (type == 4)
            {
                url = "http://money.finance.sina.com.cn/quotes_service/api/jsonp_v2.php/IO.XSRV2.CallbackList['t5EMB_i_mXBQgad2']/StatisticsService.getStockRiseConList?page=1&num=2000&sort=day_con&asc=0&node=adr_hk";
            }
            else if (type == 5)
            {
                url = "http://money.finance.sina.com.cn/quotes_service/api/jsonp_v2.php/IO.XSRV2.CallbackList['2oJd$cOKxLwpSUbm']/StatisticsService.getStockReduceConList?page=1&num=2000&sort=day_con&asc=0&node=adr_hk";
            }
            else
            {
            }

            string            content = FinanceUtil.GetHtml(url);//WXMsgUtil.GetTulingMsg(info);
            List <VolumeRise> list    = JsonConvert.DeserializeObject <List <VolumeRise> >(content);

            //MySqlHelper.InsertVlumeRise(list);
            return(Ok(list));
        }
예제 #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            FinanceUtil finance = new FinanceUtil();

            finance.GetStockCodeList();



            Utility.StockPriceUtil util = new Utility.StockPriceUtil();



            List <StockPriceProfile> stockData = util.GetListStockPriceProfile(DateTime.Now.AddMonths(-3).Date, DateTime.Now.Date);


            List <int> lstStock = (from q in _ListDetail
                                   orderby q.StockCode
                                   select q.StockCode).Distinct().ToList();


            List <ListEntity> lstDisplay = new List <ListEntity>();

            foreach (int code in lstStock)
            {
                var query = (from q in stockData
                             where q.StockCode == code
                             orderby q.StockDate descending
                             select q).Take(11);

                // ルールに合致するか?
                // 出来高が3日間連続増加?
                decimal tradevolume = -1;
                if (query.Count() > 0)
                {
                    tradevolume = query.FirstOrDefault().TradeVolume;
                }

                int volumeCount = 0;

                foreach (StockPriceProfile sp in query.Skip(1))
                {
                    if (tradevolume > sp.TradeVolume)
                    {
                        volumeCount++;
                    }
                    else
                    {
                        break;
                    }
                    tradevolume = sp.TradeVolume;

                    if (volumeCount == 5)
                    {
                        // 3日連続で出来高増加
                        lstDisplay.Add((from q in _ListDetail
                                        where q.StockCode == code
                                        select q).FirstOrDefault());
                    }
                }
            }


            dataGridView2.DataSource = lstDisplay;
        }