Exemplo n.º 1
0
        //매수할 목록 패턴검색후 매수처리
        private void BuyReservStock(string pCode)
        {
            
            ProcPatternCheck mPPC = new ProcPatternCheck();
            StockDB mSD = new StockDB();
            
            try
            {
                int mTe = Convert.ToInt32(pCode);
            }
            catch
            {
                Write(pCode + " 코드값에 영어 포함");
                return;
            }

            //매수매도 호가 검색
            int mBuyCost = GetBuySellCost(pCode, "B");
            int mSellCost = 0;

            if (mBuyCost == 0)
            {
                Write(pCode + " 거래정지 종목");
                return;
            }

            //기본조건을 만족해야지 상세조건을 검색한다.
            if (mPPC.GetDefaultResult(ProcStockCheck.cTbStock1))
            {
                //N자형 상승파동    
                mPPC.SetRatioA();
                if (mPPC.IsBuyPattern1Check(ProcStockCheck.cTbStock5)) { mSD.InsStock(pCode, "5일선이 고점이 올라가는 쌍봉과 저점이 상승하는 쌍바닥 만들고 상승중인 종목", "1_5", mBuyCost); }
                mPPC.SetRatioB();
                if (mPPC.IsBuyPattern1Check(ProcStockCheck.cTbStock10)) { mSD.InsStock(pCode, "10일선이 고점이 올라가는 쌍봉과 저점이 상승하는 쌍바닥 만들고 상승중인 종목", "1_10", mBuyCost); }

                //엘리어트파동 3위치            
                mPPC.SetRatioA();
                if (mPPC.IsBuyPattern2Check(ProcStockCheck.cTbStock5, out mSellCost)) { mSD.InsStock(pCode, "5일선이 엘리어트파동의 3번위치 만들고 상승중인 종목", "2_5", mBuyCost, mSellCost); }
                mPPC.SetRatioB();
                if (mPPC.IsBuyPattern2Check(ProcStockCheck.cTbStock10, out mSellCost)) { mSD.InsStock(pCode, "10일선이 엘리어트파동의 3번위치 만들고 상승중인 종목", "2_10", mBuyCost, mSellCost); }

                //거래량 없이 상한가 종목 (시장가로 구매시 상한가로 구매할 가능성이 90% 이상이나 매수한다)
                if (mPPC.IsBuyPattern3Check(ProcStockCheck.cTbStock1)) { mSD.InsStock(pCode, "거래량 없이 상한가", "3_1", Convert.ToInt32(mBuyCost * 0.15)); }

                //매물대 돌파 종목
                if (mPPC.IsBuyPattern4Check(ProcStockCheck.cTbStock1)) { mSD.InsStock(pCode, "매물대 돌파", "4_1", mBuyCost); }


                //엘리어트파동 1위치
                mPPC.SetRatioA();
                if (mPPC.IsBuyPattern5Check(ProcStockCheck.cTbStock5, out mSellCost)) { mSD.InsStock(pCode, "5일선이 엘리어트파동의 1번위치 만들고 상승중인 종목", "5_5", mBuyCost, mSellCost); }
                mPPC.SetRatioB();
                if (mPPC.IsBuyPattern5Check(ProcStockCheck.cTbStock10, out mSellCost)) { mSD.InsStock(pCode, "10일선이 엘리어트파동의 1번위치 만들고 상승중인 종목", "5_10", mBuyCost, mSellCost); }


                //N자형 상승파동 1차,2차 상승폭까지 검증   
                mPPC.SetRatioA();
                if (mPPC.IsBuyPattern6Check(ProcStockCheck.cTbStock5)) { mSD.InsStock(pCode, "5일선이 고점이 올라가는 쌍봉과 저점이 상승하는 쌍바닥 만들고 상승중인 종목", "6_5", mBuyCost); }
            }

            mSD = null;
            mPPC = null;
        }