Пример #1
0
        public static CandlePattern_Four GetFourPatternInfo(S_CandleItemData source)
        {
            var data = new Entities.CandlePattern_Four();

            if (source.PreCandleItem == null)
            {
                return(data);
            }
            if (source.PreCandleItem.PreCandleItem == null)
            {
                return(data);
            }
            if (source.PreCandleItem.PreCandleItem.PreCandleItem == null)
            {
                return(data);
            }

            var p3 = source.PreCandleItem.PreCandleItem.PreCandleItem;
            var p2 = source.PreCandleItem.PreCandleItem;
            var p1 = source.PreCandleItem;
            var p0 = source;

            data.Item             = source.ItemCode;
            data.PlusMinusType_P3 = Convert.ToInt32(p3.PlusMinusType).ToString();
            data.PlusMinusType_P2 = Convert.ToInt32(p2.PlusMinusType).ToString();
            data.PlusMinusType_P1 = Convert.ToInt32(p1.PlusMinusType).ToString();
            data.PlusMinusType_P0 = Convert.ToInt32(p0.PlusMinusType).ToString();

            data.CandleSpaceType_P3 = Convert.ToInt32(p3.SpaceType_C).ToString();
            data.CandleSpaceType_P2 = Convert.ToInt32(p2.SpaceType_C).ToString();
            data.CandleSpaceType_P1 = Convert.ToInt32(p1.SpaceType_C).ToString();
            data.CandleSpaceType_P0 = Convert.ToInt32(p0.SpaceType_C).ToString();

            var timeType = PatternUtil.GetCandleTimeType(p2, p1);

            data.CandleTimeType_O_P21 = Convert.ToInt32(timeType.openType).ToString();
            data.CandleTimeType_C_P21 = Convert.ToInt32(timeType.closeType).ToString();
            data.CandleTimeType_H_P21 = Convert.ToInt32(timeType.highType).ToString();
            data.CandleTimeType_L_P21 = Convert.ToInt32(timeType.lowType).ToString();

            timeType = PatternUtil.GetCandleTimeType(p1, p0);
            data.CandleTimeType_O_P10 = Convert.ToInt32(timeType.openType).ToString();
            data.CandleTimeType_C_P10 = Convert.ToInt32(timeType.closeType).ToString();
            data.CandleTimeType_H_P10 = Convert.ToInt32(timeType.highType).ToString();
            data.CandleTimeType_L_P10 = Convert.ToInt32(timeType.lowType).ToString();

            timeType = PatternUtil.GetCandleTimeType(p2, p0);
            data.CandleTimeType_O_P20 = Convert.ToInt32(timeType.openType).ToString();
            data.CandleTimeType_C_P20 = Convert.ToInt32(timeType.closeType).ToString();
            data.CandleTimeType_H_P20 = Convert.ToInt32(timeType.highType).ToString();
            data.CandleTimeType_L_P20 = Convert.ToInt32(timeType.lowType).ToString();

            timeType = PatternUtil.GetCandleTimeType(p3, p2);
            data.CandleTimeType_O_P32 = Convert.ToInt32(timeType.openType).ToString();
            data.CandleTimeType_C_P32 = Convert.ToInt32(timeType.closeType).ToString();
            data.CandleTimeType_H_P32 = Convert.ToInt32(timeType.highType).ToString();
            data.CandleTimeType_L_P32 = Convert.ToInt32(timeType.lowType).ToString();

            timeType = PatternUtil.GetCandleTimeType(p3, p1);
            data.CandleTimeType_O_P31 = Convert.ToInt32(timeType.openType).ToString();
            data.CandleTimeType_C_P31 = Convert.ToInt32(timeType.closeType).ToString();
            data.CandleTimeType_H_P31 = Convert.ToInt32(timeType.highType).ToString();
            data.CandleTimeType_L_P31 = Convert.ToInt32(timeType.lowType).ToString();

            timeType = PatternUtil.GetCandleTimeType(p3, p0);
            data.CandleTimeType_O_P30 = Convert.ToInt32(timeType.openType).ToString();
            data.CandleTimeType_C_P30 = Convert.ToInt32(timeType.closeType).ToString();
            data.CandleTimeType_H_P30 = Convert.ToInt32(timeType.highType).ToString();
            data.CandleTimeType_L_P30 = Convert.ToInt32(timeType.lowType).ToString();

            var sizeType = PatternUtil.GetCandleBodySizeType(p2, p1);

            data.CandleSizeType_B_P21 = Convert.ToInt32(sizeType).ToString();
            sizeType = PatternUtil.GetCandleBodySizeType(p1, p0);
            data.CandleSizeType_B_P10 = Convert.ToInt32(sizeType).ToString();
            sizeType = PatternUtil.GetCandleBodySizeType(p2, p0);
            data.CandleSizeType_B_P20 = Convert.ToInt32(sizeType).ToString();

            sizeType = PatternUtil.GetCandleBodySizeType(p3, p2);
            data.CandleSizeType_B_P32 = Convert.ToInt32(sizeType).ToString();
            sizeType = PatternUtil.GetCandleBodySizeType(p3, p1);
            data.CandleSizeType_B_P31 = Convert.ToInt32(sizeType).ToString();
            sizeType = PatternUtil.GetCandleBodySizeType(p3, p0);
            data.CandleSizeType_B_P30 = Convert.ToInt32(sizeType).ToString();

            sizeType = PatternUtil.GetCandleTotalSizeType(p2, p1);
            data.CandleSizeType_T_P21 = Convert.ToInt32(sizeType).ToString();
            sizeType = PatternUtil.GetCandleTotalSizeType(p1, p0);
            data.CandleSizeType_T_P10 = Convert.ToInt32(sizeType).ToString();
            sizeType = PatternUtil.GetCandleTotalSizeType(p2, p0);
            data.CandleSizeType_T_P20 = Convert.ToInt32(sizeType).ToString();

            sizeType = PatternUtil.GetCandleTotalSizeType(p3, p2);
            data.CandleSizeType_T_P32 = Convert.ToInt32(sizeType).ToString();
            sizeType = PatternUtil.GetCandleTotalSizeType(p3, p1);
            data.CandleSizeType_T_P31 = Convert.ToInt32(sizeType).ToString();
            sizeType = PatternUtil.GetCandleTotalSizeType(p3, p0);
            data.CandleSizeType_T_P30 = Convert.ToInt32(sizeType).ToString();

            data.StartDT = p3.DTime;
            data.EndDT   = p0.DTime;

            return(data);
        }
Пример #2
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            int idx = -1;

            foreach (var item in sourceDatas)
            {
                idx++;
                if (idx < 3)
                {
                    continue;
                }
                if (item.PreCandleItem == null)
                {
                    continue;
                }
                if (item.PreCandleItem.PreCandleItem == null)
                {
                    continue;
                }
                if (item.PreCandleItem.PreCandleItem.PreCandleItem == null)
                {
                    continue;
                }
                if (item.NextCandleItem == null)
                {
                    continue;
                }
                if (item.NextCandleItem.NextCandleItem == null)
                {
                    continue;
                }
                if (item.NextCandleItem.NextCandleItem.NextCandleItem == null)
                {
                    continue;
                }

                var p3 = item.PreCandleItem.PreCandleItem.PreCandleItem;
                var p2 = item.PreCandleItem.PreCandleItem;
                var p1 = item.PreCandleItem;
                var p0 = item;
                var n1 = item.NextCandleItem;
                var n2 = item.NextCandleItem.NextCandleItem;
                var n3 = item.NextCandleItem.NextCandleItem.NextCandleItem;

                var pList = new List <S_CandleItemData>()
                {
                    p3, p2, p1, p0
                };
                var nList = new List <S_CandleItemData>()
                {
                    n1, n2, n3
                };

                var cpType = PatternUtil.GetCandlePatternType(p0, pList, nList);

                if (cpType == CandlePatternTypeEnum.Unknown)
                {
                    continue;
                }

                dgv.Rows[idx].Cells["pattern"].Value = Convert.ToString(cpType);

                try
                {
                    var data = new Entities.CandlePattern_Four();
                    data.CandlePatternType = Convert.ToInt32(cpType).ToString();
                    data.Item         = selectedItem;
                    data.Product      = selectedType;
                    data.TimeInterval = Convert.ToInt32(selectedTimeInterval);

                    data.PlusMinusType_P3 = Convert.ToInt32(p3.PlusMinusType).ToString();
                    data.PlusMinusType_P2 = Convert.ToInt32(p2.PlusMinusType).ToString();
                    data.PlusMinusType_P1 = Convert.ToInt32(p1.PlusMinusType).ToString();
                    data.PlusMinusType_P0 = Convert.ToInt32(p0.PlusMinusType).ToString();

                    data.CandleSpaceType_P3 = Convert.ToInt32(p3.SpaceType_C).ToString();
                    data.CandleSpaceType_P2 = Convert.ToInt32(p2.SpaceType_C).ToString();
                    data.CandleSpaceType_P1 = Convert.ToInt32(p1.SpaceType_C).ToString();
                    data.CandleSpaceType_P0 = Convert.ToInt32(p0.SpaceType_C).ToString();

                    var timeType = PatternUtil.GetCandleTimeType(p2, p1);
                    data.CandleTimeType_O_P21 = Convert.ToInt32(timeType.openType).ToString();
                    data.CandleTimeType_C_P21 = Convert.ToInt32(timeType.closeType).ToString();
                    data.CandleTimeType_H_P21 = Convert.ToInt32(timeType.highType).ToString();
                    data.CandleTimeType_L_P21 = Convert.ToInt32(timeType.lowType).ToString();

                    timeType = PatternUtil.GetCandleTimeType(p1, p0);
                    data.CandleTimeType_O_P10 = Convert.ToInt32(timeType.openType).ToString();
                    data.CandleTimeType_C_P10 = Convert.ToInt32(timeType.closeType).ToString();
                    data.CandleTimeType_H_P10 = Convert.ToInt32(timeType.highType).ToString();
                    data.CandleTimeType_L_P10 = Convert.ToInt32(timeType.lowType).ToString();

                    timeType = PatternUtil.GetCandleTimeType(p2, p0);
                    data.CandleTimeType_O_P20 = Convert.ToInt32(timeType.openType).ToString();
                    data.CandleTimeType_C_P20 = Convert.ToInt32(timeType.closeType).ToString();
                    data.CandleTimeType_H_P20 = Convert.ToInt32(timeType.highType).ToString();
                    data.CandleTimeType_L_P20 = Convert.ToInt32(timeType.lowType).ToString();

                    timeType = PatternUtil.GetCandleTimeType(p3, p2);
                    data.CandleTimeType_O_P32 = Convert.ToInt32(timeType.openType).ToString();
                    data.CandleTimeType_C_P32 = Convert.ToInt32(timeType.closeType).ToString();
                    data.CandleTimeType_H_P32 = Convert.ToInt32(timeType.highType).ToString();
                    data.CandleTimeType_L_P32 = Convert.ToInt32(timeType.lowType).ToString();
                    timeType = PatternUtil.GetCandleTimeType(p3, p1);
                    data.CandleTimeType_O_P31 = Convert.ToInt32(timeType.openType).ToString();
                    data.CandleTimeType_C_P31 = Convert.ToInt32(timeType.closeType).ToString();
                    data.CandleTimeType_H_P31 = Convert.ToInt32(timeType.highType).ToString();
                    data.CandleTimeType_L_P31 = Convert.ToInt32(timeType.lowType).ToString();
                    timeType = PatternUtil.GetCandleTimeType(p3, p0);
                    data.CandleTimeType_O_P30 = Convert.ToInt32(timeType.openType).ToString();
                    data.CandleTimeType_C_P30 = Convert.ToInt32(timeType.closeType).ToString();
                    data.CandleTimeType_H_P30 = Convert.ToInt32(timeType.highType).ToString();
                    data.CandleTimeType_L_P30 = Convert.ToInt32(timeType.lowType).ToString();

                    var sizeType = PatternUtil.GetCandleBodySizeType(p2, p1);
                    data.CandleSizeType_B_P21 = Convert.ToInt32(sizeType).ToString();
                    sizeType = PatternUtil.GetCandleBodySizeType(p1, p0);
                    data.CandleSizeType_B_P10 = Convert.ToInt32(sizeType).ToString();
                    sizeType = PatternUtil.GetCandleBodySizeType(p2, p0);
                    data.CandleSizeType_B_P20 = Convert.ToInt32(sizeType).ToString();

                    sizeType = PatternUtil.GetCandleBodySizeType(p3, p2);
                    data.CandleSizeType_B_P32 = Convert.ToInt32(sizeType).ToString();
                    sizeType = PatternUtil.GetCandleBodySizeType(p3, p1);
                    data.CandleSizeType_B_P31 = Convert.ToInt32(sizeType).ToString();
                    sizeType = PatternUtil.GetCandleBodySizeType(p3, p0);
                    data.CandleSizeType_B_P30 = Convert.ToInt32(sizeType).ToString();

                    sizeType = PatternUtil.GetCandleTotalSizeType(p2, p1);
                    data.CandleSizeType_T_P21 = Convert.ToInt32(sizeType).ToString();
                    sizeType = PatternUtil.GetCandleTotalSizeType(p1, p0);
                    data.CandleSizeType_T_P10 = Convert.ToInt32(sizeType).ToString();
                    sizeType = PatternUtil.GetCandleTotalSizeType(p2, p0);
                    data.CandleSizeType_T_P20 = Convert.ToInt32(sizeType).ToString();

                    sizeType = PatternUtil.GetCandleTotalSizeType(p3, p2);
                    data.CandleSizeType_T_P32 = Convert.ToInt32(sizeType).ToString();
                    sizeType = PatternUtil.GetCandleTotalSizeType(p3, p1);
                    data.CandleSizeType_T_P31 = Convert.ToInt32(sizeType).ToString();
                    sizeType = PatternUtil.GetCandleTotalSizeType(p3, p0);
                    data.CandleSizeType_T_P30 = Convert.ToInt32(sizeType).ToString();

                    data.StartDT = p2.DTime;
                    data.EndDT   = p0.DTime;

                    data.Create();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }