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"); } }