Example #1
0
 /// <summary>
 /// 최근 시고저종을 찾고, 거기에서 퀀텀을 만든다.
 /// </summary>
 /// <param name="sourceDataArray"></param>
 public T_PrimeNumItemData(
     S_CandleItemData sourceData
     , List <S_CandleItemData> sourceDataArray)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = sourceDataArray;
 }
Example #2
0
 public T_VelocityItemData(
     S_CandleItemData sourceData
     , List <S_CandleItemData> sourceDataArray)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = sourceDataArray;
 }
Example #3
0
 /// <summary>
 /// 최근 시고저종을 찾고, 거기에서 퀀텀을 만든다.
 /// </summary>
 /// <param name="sourceDataArray"></param>
 public T_QuarkItemData(
     S_CandleItemData sourceData
     , List <S_CandleItemData> sourceDataArray)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = sourceDataArray;
 }
Example #4
0
 public T_ParkItemData(S_CandleItemData sourceData
                       , List <S_CandleItemData> sourceDataArray
                       , List <ParabolicSarResult> psarList
                       , List <ParabolicSarResult> psarList2)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = sourceDataArray;
     this.psarList        = psarList;
     this.psarList2       = psarList2;
 }
Example #5
0
        private CandleSpaceTypeEnum getSpaceType(S_CandleItemData item)
        {
            double totalLength = item.TotalLength;
            double headLength  = item.HeadLength;
            double legLength   = item.LegLength;
            double bodyLength  = item.BodyLength;

            int headLengthRate = (int)Math.Round((headLength / totalLength * 100.0), 0);
            int bodyLengthRate = (int)Math.Round((bodyLength / totalLength * 100.0), 0);
            int legLengthRate  = (int)Math.Round((legLength / totalLength * 100.0), 0);

            CandleSpaceTypeEnum type = CandleSpaceTypeEnum.Unknown;

            if (bodyLengthRate >= 80)
            {
                type = CandleSpaceTypeEnum.Marubozu;
            }

            else if (bodyLengthRate >= 60)
            {
                type = CandleSpaceTypeEnum.LongBody;
            }

            else if ((bodyLengthRate >= 10 && bodyLengthRate < 25) && headLengthRate >= 35 && legLengthRate >= 35)
            {
                type = CandleSpaceTypeEnum.Spinning;
            }

            else if ((bodyLengthRate <= 50 && bodyLengthRate >= 20) && (headLengthRate >= 45 || legLengthRate >= 45))
            {
                type = CandleSpaceTypeEnum.Hammer;
            }

            else if (bodyLengthRate < 20 && (headLengthRate >= 75 || legLengthRate >= 75))
            {
                type = CandleSpaceTypeEnum.SmallHammer;
            }

            if (type == CandleSpaceTypeEnum.Unknown)
            {
                if (bodyLengthRate < 10)
                {
                    type = CandleSpaceTypeEnum.Dogi;
                }

                else if (bodyLengthRate >= 25 && bodyLengthRate < 60 && headLengthRate >= 3 && legLengthRate >= 3)
                {
                    type = CandleSpaceTypeEnum.ShortBody;
                }
            }

            return(type);
        }
Example #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sourceDataArray"></param>
 public T_CheonbugyeongItemData(S_CandleItemData sourceData, List <S_CandleItemData> sourceDataArray)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = sourceDataArray;
 }
Example #7
0
 public T_CheonbugyeongItemData(S_CandleItemData sourceData)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = null;
 }
Example #8
0
 public T_SLHItemData(S_CandleItemData sourceData)
 {
     this.sourceData = sourceData;
 }
Example #9
0
 public T_ThreeThreeItemData(S_CandleItemData sourceData)
 {
     this.sourceData = sourceData;
 }
Example #10
0
        public string GetSpaceType(S_CandleItemData item)
        {
            double totalLength = item.TotalLength;
            double headLength  = item.HeadLength;
            double legLength   = item.LegLength;
            double bodyLength  = item.BodyLength;

            int headLengthRate = (int)Math.Round((headLength / totalLength * 100.0), 0);
            int bodyLengthRate = (int)Math.Round((bodyLength / totalLength * 100.0), 0);
            int legLengthRate  = (int)Math.Round((legLength / totalLength * 100.0), 0);

            string type = "";

            //Marubozu
            if (bodyLengthRate >= 80)
            {
                type = "➀";
            }

            //Long Body
            else if (bodyLengthRate >= 60)
            {
                type = "➁";
            }

            //Spinning
            else if ((bodyLengthRate >= 10 && bodyLengthRate < 25) && headLengthRate >= 35 && legLengthRate >= 35)
            {
                type = "➃";
            }

            //Hammer
            else if ((bodyLengthRate <= 50 && bodyLengthRate >= 20) && (headLengthRate >= 45 || legLengthRate >= 45))
            {
                type = "➄";
            }

            //Small Hammer
            else if (bodyLengthRate < 20 && (headLengthRate >= 75 || legLengthRate >= 75))
            {
                type = "➅";
            }

            if (type == "")
            {
                //Doji
                if (bodyLengthRate < 10)
                {
                    type = "⑦";
                }

                //Short Body
                else if (bodyLengthRate >= 25 && bodyLengthRate < 60)
                {
                    type = "➂";
                }

                else
                {
                    type = "★";
                }
            }

            return(type);
        }
Example #11
0
        public static List <S_CandleItemData> GetFlow(List <S_CandleItemData> sourceDataArray)
        {
            if (sourceDataArray == null)
            {
                return(null);
            }

            List <S_CandleItemData> resultList = new List <S_CandleItemData>();

            try
            {
                for (int i = 1; i < sourceDataArray.Count; i++)
                {
                    if (i == sourceDataArray.Count - 1)
                    {
                        var bCandle = sourceDataArray[i - 1];
                        var cCandle = sourceDataArray[i];

                        if ((bCandle.PlusMinusType == PlusMinusTypeEnum.양 && cCandle.PlusMinusType == PlusMinusTypeEnum.음) ||
                            (bCandle.PlusMinusType == PlusMinusTypeEnum.음 && cCandle.PlusMinusType == PlusMinusTypeEnum.양))
                        {
                            S_CandleItemData item = new S_CandleItemData(
                                cCandle.ItemCode
                                , cCandle.OpenPrice
                                , cCandle.QuantumBaseHighPrice
                                , cCandle.QuantumBaseLowPrice
                                , cCandle.QuantumBasePrice
                                , cCandle.Volume
                                , cCandle.DTime
                                );

                            resultList.Add(item);
                        }
                        else
                        {
                            S_CandleItemData item = new S_CandleItemData(
                                cCandle.ItemCode
                                , cCandle.OpenPrice
                                , cCandle.HighPrice
                                , cCandle.LowPrice
                                , cCandle.ClosePrice
                                , cCandle.Volume
                                , cCandle.DTime
                                );

                            resultList.Add(item);
                        }
                    }
                    else
                    {
                        var bCandle = sourceDataArray[i - 1];
                        var cCandle = sourceDataArray[i];
                        var fCandle = sourceDataArray[i + 1];

                        int pCnt = 0, mCnt = 0;

                        if (bCandle.PlusMinusType == PlusMinusTypeEnum.양)
                        {
                            pCnt++;
                        }
                        else if (bCandle.PlusMinusType == PlusMinusTypeEnum.음)
                        {
                            mCnt++;
                        }

                        if (cCandle.PlusMinusType == PlusMinusTypeEnum.양)
                        {
                            pCnt++;
                        }
                        else if (cCandle.PlusMinusType == PlusMinusTypeEnum.음)
                        {
                            mCnt++;
                        }

                        if (fCandle.PlusMinusType == PlusMinusTypeEnum.양)
                        {
                            pCnt++;
                        }
                        else if (fCandle.PlusMinusType == PlusMinusTypeEnum.음)
                        {
                            mCnt++;
                        }

                        if ((pCnt > mCnt && cCandle.PlusMinusType == PlusMinusTypeEnum.음) ||
                            (pCnt < mCnt && cCandle.PlusMinusType == PlusMinusTypeEnum.양)
                            ) // 음을 반양으로 변경   양을 반음으로 변경
                        {
                            S_CandleItemData item = new S_CandleItemData(
                                cCandle.ItemCode
                                , cCandle.OpenPrice
                                , cCandle.QuantumBaseHighPrice
                                , cCandle.QuantumBaseLowPrice
                                , cCandle.QuantumBasePrice
                                , cCandle.Volume
                                , cCandle.DTime
                                );

                            resultList.Add(item);
                        }
                        else
                        {
                            S_CandleItemData item = new S_CandleItemData(
                                cCandle.ItemCode
                                , cCandle.OpenPrice
                                , cCandle.HighPrice
                                , cCandle.LowPrice
                                , cCandle.ClosePrice
                                , cCandle.Volume
                                , cCandle.DTime
                                );

                            resultList.Add(item);
                        }
                    }
                }
            }
            catch (Exception)
            {
            }

            return(resultList);
        }
Example #12
0
 public T_QuarkItemData(S_CandleItemData sourceData)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = null;
 }
Example #13
0
 public T_ThaChiItemData(S_CandleItemData sourceData)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = null;
 }
Example #14
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="sourceDataArray"></param>
 public T_AntiMatterItemData(S_CandleItemData sourceData, List <S_CandleItemData> sourceDataArray)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = sourceDataArray;
 }
Example #15
0
 public T_AntiMatterItemData(S_CandleItemData sourceData)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = null;
 }
Example #16
0
 public T_WuXingItemData(S_CandleItemData sourceData)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = null;
 }
Example #17
0
 /// <summary>
 /// 당일 가격만 가지고 퀀텀데이터 만든다.
 /// </summary>
 /// <param name="sourceData"></param>
 public T_QuantumItemData(S_CandleItemData sourceData)
 {
     this.sourceData = sourceData;
 }
Example #18
0
 public T_VelocityItemData(S_CandleItemData sourceData)
 {
     this.sourceData = sourceData;
 }
Example #19
0
 public T_PrimeNumItemData(S_CandleItemData sourceData)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = null;
 }
Example #20
0
 public T_DarkMassItemData(S_CandleItemData sourceData)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = null;
 }
Example #21
0
 public T_EightRuleItemData(S_CandleItemData sourceData)
 {
     this.sourceData = sourceData;
 }
Example #22
0
 /// <summary>
 /// 최근 시고저종을 찾고, 거기에서 퀀텀을 만든다.
 /// </summary>
 /// <param name="sourceDataArray"></param>
 public T_FiveColorItemData(S_CandleItemData sourceData, List <S_CandleItemData> sourceDataArray)
 {
     this.sourceData      = sourceData;
     this.sourceDataArray = sourceDataArray;
 }