Example #1
0
        public void 추가매수프로세스()
        {
            if (DateTime.Now.ToString("HHmm").CompareTo("1150") < 0)
            {
                log.Info("추가매수프로세스 start");

                // tbl_stock_target 에서 조회
                List <StockTarget> 매도요청중인종목리스트 = dacStock.종목대상전체조회(inqDate, "매도요청중");

                // -2.5% 밑으로 인 애들 조회해서 추가매수한다.
                for (int i = 0; i < 매도요청중인종목리스트.Count; i++)
                {
                    if ("호가매도".Equals(매도요청중인종목리스트[i].매도방식))
                    {
                        continue;
                    }

                    log.Info("매도요청중인종목리스트[i]:" + 매도요청중인종목리스트[i].stockCode + " 손익률:" + 매도요청중인종목리스트[i].손익률);
                    string tmpRate = 매도요청중인종목리스트[i].손익률;
                    if (string.IsNullOrWhiteSpace(tmpRate))
                    {
                        tmpRate = "0";
                    }

                    if (float.Parse(tmpRate) <= -1.5)
                    {
                        log.Info("매도요청중인종목[i]:" + JsonConvert.SerializeObject(매도요청중인종목리스트[i]));

                        StockOrder order = dacStock.매도요청중인주문한종목조회(inqDate, 매도요청중인종목리스트[i].stockCode);

                        if (order == null)
                        {
                            log.Info("order 가 null 이여 씨벌~");
                            continue;
                        }

                        // 현재가
                        int price    = Util.GetInt(order.Price);
                        int waterCnt = Util.GetInt(매도요청중인종목리스트[i].waterCnt);

                        bool b추가매수가능여부 = true;

                        List <StockOrder> 주문리스트 = dacStock.tbl_stock_order_주문조회(inqDate, order.stockCode, "매수", "요청중");
                        if (주문리스트 != null && 주문리스트.Count > 0)
                        {
                            for (int j = 0; j < 주문리스트.Count; j++)
                            {
                                if ("추가매수".Equals(주문리스트[j].OrderOption))
                                {
                                    b추가매수가능여부 = false;
                                }
                            }
                        }


                        if (b추가매수가능여부 && waterCnt <= 0)
                        {
                            BuyStock(inqDate, order.stockCode, order.stockName, price, "추가매수", waterCnt, "");
                        }
                    }
                }

                log.Info("추가매수프로세스 end");
            }
        }