Exemple #1
0
        // 주식을 팔자.
        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;
                }
            }
        }
Exemple #2
0
        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();
        }