Example #1
0
        private void TimerElapsed(object sender, ElapsedEventArgs e)
        {
            string strHhminss = DateTime.Now.ToString("HHmmss");
            int    hhminss    = int.Parse(strHhminss);
            string today      = DateTime.Now.ToString("yyyyMMdd");

            _formObj.ShowThreadState(strHhminss, "AB");

            // 추매 등 수동 매수 요청 조회
            if (hhminss >= 90000 && hhminss < 153000)
            {
                RetBuyManualOrder(today);
            }
        }
Example #2
0
        private void TimerElapsed(object sender, ElapsedEventArgs e)
        {
            int    hhminss = int.Parse(DateTime.Now.ToString("HHmmss"));
            string today   = DateTime.Now.ToString("yyyyMMdd");

            _formObj.ShowThreadState(hhminss.ToString(), "S");

            // 매도 판단
            if (hhminss >= 90000 && hhminss <= 153000)
            {
                RetDbAcctItem(today);
            }
            // 프로그램 종료
            else if (hhminss >= 160000)
            {
                _formObj.ReqAppStop();
            }
        }
Example #3
0
        private void TimerElapsed(object sender, ElapsedEventArgs e)
        {
            int    hhminss = int.Parse(DateTime.Now.ToString("HHmmss"));
            string today   = DateTime.Now.ToString("yyyyMMdd");

            _formObj.ShowThreadState(hhminss.ToString(), "B");

            if (hhminss >= 90000 && hhminss <= 91000)
            {
                if (_buyReqFinishS != 1)
                {
                    // ITEM : 이미 매수 요청한 종목은 제외함, 과거 매수한 종목 중 청산하지 못한 종목은 제외함
                    // TRAN_DAY : 어제 저장한 풀 종목 조회
                    // BUY_INVOLVE_ITEM_YN : 전략별 매수 필요 조건을 만족하지 못한 종목은 제외
                    // CNT : 매수 수량이 0 이상인 종목만 조회
                    string query = "";
                    query += " SELECT A.MODE";
                    query += "      , A.ITEM";
                    query += "      , A.PRICE";
                    query += "      , A.CNT";
                    query += "   FROM POOL A";
                    query += "  WHERE A.ITEM NOT IN (SELECT AA.ITEM";
                    query += "                         FROM TRAN AA";
                    query += "                        WHERE AA.TRAN_DAY = '" + today + "'";
                    query += "                      )";
                    query += "    AND A.TRAN_DAY = (SELECT MAX(BB.TRAN_DAY)";
                    query += "                        FROM POOL BB";
                    query += "                       WHERE BB.TRAN_DAY < '" + today + "'";
                    query += "                     )";
                    query += "    AND A.BUY_INVOLVE_ITEM_YN = 'Y'";
                    query += "    AND A.CNT > 0";
                    query += "    AND A.MODE IN (1, 2, 6, 7)";

                    ArrayList pool = _formObj._db.SelectQuery(query);

                    if (pool != null && pool.Count > 0)
                    {
                        ReqBuy(pool);
                    }
                    else
                    {
                        _buyReqFinishS = 1;
                    }
                }
            }
            // 종가 매수(쌍매수)
            else if (hhminss > 151300 && hhminss <= 152000)
            {
                if (_buyReqFinishE != 1)
                {
                    // ITEM : 이미 매수 요청한 종목은 제외함, 과거 매수한 종목 중 청산하지 못한 종목은 제외함
                    // TRAN_DAY : 오늘 저장한 풀 종목 조회
                    // BUY_INVOLVE_ITEM_YN : 관리종목 제외, 이동평균 조건 충족 종목 조회
                    // CNT : 매수 수량이 0 이상인 종목만 조회
                    string query = "";
                    query += " SELECT A.MODE";
                    query += "      , A.ITEM";
                    query += "      , A.PRICE";
                    query += "      , A.CNT";
                    query += "   FROM POOL A";
                    query += "  WHERE A.ITEM NOT IN (SELECT AA.ITEM";
                    query += "                         FROM TRAN AA";
                    query += "                        WHERE AA.TRAN_DAY = '" + today + "'";
                    query += "                      )";
                    query += "    AND A.TRAN_DAY            = '" + today + "'";
                    query += "    AND A.BUY_INVOLVE_ITEM_YN = 'Y'";
                    query += "    AND A.CNT                 > 0";
                    query += "    AND A.MODE                = 4";

                    ArrayList pool = _formObj._db.SelectQuery(query);

                    if (pool != null && pool.Count > 0)
                    {
                        ReqBuy(pool);
                    }
                    else
                    {
                        _buyReqFinishE = 1;
                    }
                }
            }
        }