Пример #1
0
        void lstLog_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            int mIndex = Convert.ToInt32(e.Item.ID.Replace("ctrl", ""));

            StockAnalyzer mSA = new StockAnalyzer();

            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                ListViewDataItem mLvdi = (ListViewDataItem)e.Item;
                DataRowView mDrv = (DataRowView)mLvdi.DataItem;
                //Code,Type,Count,Cost,RegDate

                string mCode = mDrv["Code"].ToString();
                string mType = mDrv["Type"].ToString();
                string mCost = mDrv["Cost"].ToString();
                string mCount = mDrv["Count"].ToString();
                string mRegDate = mDrv["RegDate"].ToString();


                ((Literal)e.Item.FindControl("litDate")).Text = mRegDate;
                ((Literal)e.Item.FindControl("litComment")).Text = "Type:" + mType + " 금액:" + (Convert.ToInt32(mCost) * Convert.ToInt32(mCount)) + " 코드:" + mCode;
            }

            mSA = null;
        }
Пример #2
0
        public void SelReservation()
        {
            StockAnalyzer mSA = new StockAnalyzer();
            StockData mSD = new StockData();

            //Stock Code를 얻어온다.
            DataTable mDtMyStock = mSD.SelListMyStock();
            for (int i = 0; i < mDtMyStock.Rows.Count; i++)
            {
                string mID = mDtMyStock.Rows[i]["ID"].ToString();
                string mCode = mDtMyStock.Rows[i]["Code"].ToString();

                //주식의 1일선,5일선,10일선 생성
                DataSet mStockDS = mSA.SetStockTrend(mCode);
                if (mStockDS != null)
                {
                    int mNowCost = mSA.GetBuySellCost(mCode, "S");
                    //기술적 분석패턴과 일치하는 이평선이 있는지 검사
                    string mCP = GetMatchSelPattern(mStockDS, mDtMyStock.Rows[i], mNowCost);

                    if (mCP != "")
                    {
                        string mSPatternCode = mCP.Split('|')[0];
                        string mSPattern = mCP.Split('|')[1];

                        //mSD.UpdSellReservation(mID, mSPatternCode, mSPattern, mNowCost);
                        mSD.UpdSellReservationTest(mID, mSPatternCode, mSPattern, mNowCost);
                    }
                }
            }

            mSD = null;
            mSA = null;
        }
Пример #3
0
        void lstMyStock_ItemDataBound(object sender, ListViewItemEventArgs e)
        {
            int mIndex = Convert.ToInt32(e.Item.ID.Replace("ctrl", ""));

            StockAnalyzer mSA = new StockAnalyzer();

            if (e.Item.ItemType == ListViewItemType.DataItem)
            {
                ListViewDataItem mLvdi = (ListViewDataItem)e.Item;
                DataRowView mDrv = (DataRowView)mLvdi.DataItem;
                //ID,Code,Count,BuyPatternCode,BuyPattern,BuyDate,BuyCost,SelPatternCode,SelPattern,SelDate,SelCost

                string mCode = mDrv["Code"].ToString();
                string mBuyDate = mDrv["BuyDate"].ToString();
                string mBuyCost = mDrv["BuyCost"].ToString();
                string mSelPatternCode = mDrv["SelPatternCode"].ToString();
                string mSelPattern = mDrv["SelPattern"].ToString();
                string mSelDate = mDrv["SelDate"].ToString();
                string mSelCost = mDrv["SelCost"].ToString();

                string mSelPattern_Cost = mSelPattern.Split('&')[0];
                string mSelPattern_Trade = mSelPattern.Split('&')[1];

                string[] mCosts = mSelPattern_Cost.Split(',');
                double mMinCost = 100000000;
                for (int i = 0; i < mCosts.Length; i++)
                {
                    if (Convert.ToDouble(mCosts[i]) < mMinCost)
                    {
                        mMinCost = Convert.ToDouble(mCosts[i]);
                    }
                }

                string[] mTrades = mSelPattern_Trade.Split(',');
                double mMinTrade = 100000000;
                for (int i = 0; i < mTrades.Length; i++)
                {
                    string mtest = mTrades[i];
                    if (Convert.ToDouble(mTrades[i]) < mMinTrade)
                    {
                        mMinTrade = Convert.ToDouble(mTrades[i]);
                    }
                }

                if (Convert.ToInt32(mBuyCost) < Convert.ToInt32(mSelCost))
                {
                    mSelCost = "<span style='color:#ff0000'>" + mSelCost + "</span>";
                }
                else
                {
                    mSelCost = "<span style='color:#3366ff'>" + mSelCost + "</span>";
                }

                ((Literal)e.Item.FindControl("litDetailComment")).Text = mDrv["Code"].ToString() + "(매도패턴코드 : " + mSelPatternCode + ", 매수가 : " + mBuyCost + ", 매도가 : " + mSelCost + ")";
                ((Literal)e.Item.FindControl("litChart")).Text = GetChartScript(mIndex.ToString(), mSelPattern_Cost, mSelPattern_Trade, (mMinCost - 1), (mMinTrade - 1));
            }

            mSA = null;

        }
Пример #4
0
        public void BuyReservation()
        {
            StockAnalyzer mSA = new StockAnalyzer();
            StockData mSD = new StockData();


            //Stock Code를 얻어온다.
            string[] mResult = mSA.GetStockCode();
            for (int i = 0; i < mResult.Length; i++)
            {
                //주식의 1일선,5일선,10일선 생성
                DataSet mStockDS = mSA.SetStockTrend(mResult[i]);
                if (mStockDS != null)
                {
                    //기술적 분석패턴과 일치하는 이평선이 있는지 검사
                    string mCSP = GetMatchBuyPattern(mStockDS);

                    if (mCSP != "")
                    {
                        string mBPatternCode = mCSP.Split('|')[0];
                        int mBCost = mSA.GetBuySellCost(mResult[i], "B");
                        int mSCost = Convert.ToInt32(mCSP.Split('|')[1]);
                        string mBPattern = mCSP.Split('|')[2];

                        if (mBCost != 0)
                        {
                            //int mCnt = ((300000 / mBCost) / 10) * 10;
                            int mCnt = ((1000000000 / mBCost) / 10) * 10;
                            if (mCnt != 0)
                            {
                                //mSD.InsBuyReservation(mResult[i], mBPatternCode, mBPattern, mCnt, mBCost, mSCost);
                                mSD.InsBuyReservationTest(mResult[i], mBPatternCode, mBPattern, mCnt, mBCost, mSCost);
                            }
                        }
                    }
                }
            }

            mSD = null;
            mSA = null;
        }