// 주식을 팔자. public void sellStock() { lock (lockObject_) { foreach (KeyValuePair <int, StockData> keyValue in stockPool_) { int code = keyValue.Key; StockData stockData = keyValue.Value; if (stockData.alreadyOrder_) { continue; } if (stockData.isBuyedStock() == false) { continue; } BuyedStockData buyedStockData = (BuyedStockData)stockData; if (buyedStockData.alreadyOrder_) { continue; } if (buyedStockData.isSellTime() == false) { continue; } // 실제 판매 주문 넣기 StockEngine.getInstance.addOrder(new SellStock(buyedStockData)); int price = buyedStockData.nowPrice(PRICE_TYPE.MIN); int tradingCount = buyedStockData.buyCount_; int totalMoney = price * tradingCount; this.addAccountMoney(totalMoney); Logger.getInstance.print(KiwoomCode.Log.주식봇, "{0}:{1} 주식 판매", buyedStockData.name_, buyedStockData.codeString()); buyedStockData.alreadyOrder_ = true; } } }
private void sendWatchingStock() { Mail mail = new Mail(); mail.setToMailAddr("*****@*****.**"); string title = mailTag_ + DateTime.Now.ToString("yyyy년 MM월 dd일") + "감시 리스트"; mail.setSubject(title); string TABLE_FORMATE = "{0,-10}, {1,-16} {2,-10:D6} {3,-10} {4,-10} {5,-10} x {6,-10} = {7,-10}\n\r"; string body = string.Format(TABLE_FORMATE, "가치pt", "주식명", "주식코드", "현재가", "구입여부", "구입갯수", "구입가격", "총 소비비용"); body += "=======================================================================\n\r"; lock (lockObject_) { foreach (KeyValuePair <int, StockData> keyValue in stockPool_) { int code = keyValue.Key; StockData stockData = keyValue.Value; if (stockData.isBuyedStock()) { BuyedStockData buyedStockData = (BuyedStockData)stockData; body += string.Format(TABLE_FORMATE, buyedStockData.valuation_, buyedStockData.name_, buyedStockData.code_, buyedStockData.nowPrice(PRICE_TYPE.DAY), "YES", buyedStockData.buyCount_, buyedStockData.buyPrice_, buyedStockData.totalBuyPrice()); } else { body += string.Format("{0,-10}, {1,-16} {2,-10:D6} {3,-10} {4,-10}\n\r", stockData.valuation_, stockData.name_, stockData.code_, stockData.nowPrice(PRICE_TYPE.DAY), "NO"); } } } mail.setBody(body); mail.send(); }