private void btnCreate_Click(object sender, EventArgs e) { int idx = -1; foreach (var item in sourceDatas) { idx++; if (idx < 2) { continue; } if (item.PreCandleItem == null) { continue; } if (item.PreCandleItem.PreCandleItem == null) { continue; } if (item.NextCandleItem == null) { continue; } if (item.NextCandleItem.NextCandleItem == null) { continue; } var p2 = item.PreCandleItem.PreCandleItem; var p1 = item.PreCandleItem; var p0 = item; var n1 = item.NextCandleItem; var n2 = item.NextCandleItem.NextCandleItem; var pList = new List <S_CandleItemData>() { p2, p1, p0 }; var nList = new List <S_CandleItemData>() { n1, n2 }; 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_Three(); data.CandlePatternType = Convert.ToInt32(cpType).ToString(); data.Item = selectedItem; data.Product = selectedType; data.TimeInterval = Convert.ToInt32(selectedTimeInterval); 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_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(); 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.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(); data.StartDT = p2.DTime; data.EndDT = p0.DTime; data.Create(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
public static CandlePattern_Three GetThreePatternInfo(S_CandleItemData source) { var data = new Entities.CandlePattern_Three(); if (source.PreCandleItem == null) { return(data); } if (source.PreCandleItem.PreCandleItem == null) { return(data); } var p2 = source.PreCandleItem.PreCandleItem; var p1 = source.PreCandleItem; var p0 = source; data.Item = source.ItemCode; 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_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(); 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.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(); data.StartDT = p2.DTime; data.EndDT = p0.DTime; return(data); }