public void BuyAndSell() { try { log.Info("BuyAndSell start"); string 요일 = DateTime.Now.ToString("ddd"); if (요일.Equals("토") || 요일.Equals("일")) { return; } // 09시 10분부터 15시 20분까지 매수/매도 if (DateTime.Now.ToString("HHmm").CompareTo("0900") < 0 || DateTime.Now.ToString("HHmm").CompareTo("1530") > 0) { return; } // 3시까지만 매수(10종목만 매수) if (DateTime.Now.ToString("HHmm").CompareTo("1140") <= 0) //&& 매도요청중인종목리스트.Count < 10) { List <StockTarget> targetList = dacStock.금일매수대상목록조회(inqDate); for (int i = 0; i < targetList.Count; i++) { 종목증감정보 정보 = dacStock.종목최근등락률조회(inqDate, targetList[i].stockCode); 종목실시간정보 실시간정보 = dacStock.최근한종목가격변동내역조회(inqDate, targetList[i].stockCode); log.Info("종목최근등락률조회 결과:" + JsonConvert.SerializeObject(정보)); log.Info(string.Format("체결강도 : {0} 총매도잔량 : {1} 총매수잔량 : {2}", 실시간정보.체결강도, 실시간정보.총매도잔량, 실시간정보.총매수잔량)); if (정보 == null) { continue; } log.Info("매수대상 :" + JsonConvert.SerializeObject(targetList[i])); string 매수조건 = 매수여부판단(정보, 실시간정보); log.Info("매수조건 : " + 매수조건); if (!"매수안함".Equals(매수조건)) { int price = Util.GetInt(targetList[i].currentPrice); int waterCnt = 0; if (!string.IsNullOrWhiteSpace(targetList[i].waterCnt)) { waterCnt = int.Parse(targetList[i].waterCnt); } BuyStock(inqDate, targetList[i].stockCode, targetList[i].stockName, price, "", waterCnt, 매수조건); } } } // 매수요청 후 체결된 애들 조회(tbl_stock_myorderlist) 매수완료처리(); List <StockTarget> 당일대상리스트 = dacStock.당일대상조회(inqDate, ""); for (int i = 0; i < 당일대상리스트.Count; i++) { if ("일반".Equals(당일대상리스트[i].매도방식)) { 대상종목매도요청(당일대상리스트[i]); } else { 호가매도처리(당일대상리스트[i]); } } 추가매수프로세스(); 수익률에따른손절처리(); 장마감전보유종목정리(); } catch (Exception ex) { log.Error(ex); } finally { log.Info("BuyAndSell end"); } }