/// <summary> /// 최근 시고저종을 찾고, 거기에서 퀀텀을 만든다. /// </summary> /// <param name="sourceDataArray"></param> public T_PrimeNumItemData( S_CandleItemData sourceData , List <S_CandleItemData> sourceDataArray) { this.sourceData = sourceData; this.sourceDataArray = sourceDataArray; }
public T_VelocityItemData( S_CandleItemData sourceData , List <S_CandleItemData> sourceDataArray) { this.sourceData = sourceData; this.sourceDataArray = sourceDataArray; }
/// <summary> /// 최근 시고저종을 찾고, 거기에서 퀀텀을 만든다. /// </summary> /// <param name="sourceDataArray"></param> public T_QuarkItemData( S_CandleItemData sourceData , List <S_CandleItemData> sourceDataArray) { this.sourceData = sourceData; this.sourceDataArray = sourceDataArray; }
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; }
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); }
/// <summary> /// /// </summary> /// <param name="sourceDataArray"></param> public T_CheonbugyeongItemData(S_CandleItemData sourceData, List <S_CandleItemData> sourceDataArray) { this.sourceData = sourceData; this.sourceDataArray = sourceDataArray; }
public T_CheonbugyeongItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; this.sourceDataArray = null; }
public T_SLHItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; }
public T_ThreeThreeItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; }
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); }
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); }
public T_QuarkItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; this.sourceDataArray = null; }
public T_ThaChiItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; this.sourceDataArray = null; }
/// <summary> /// /// </summary> /// <param name="sourceDataArray"></param> public T_AntiMatterItemData(S_CandleItemData sourceData, List <S_CandleItemData> sourceDataArray) { this.sourceData = sourceData; this.sourceDataArray = sourceDataArray; }
public T_AntiMatterItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; this.sourceDataArray = null; }
public T_WuXingItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; this.sourceDataArray = null; }
/// <summary> /// 당일 가격만 가지고 퀀텀데이터 만든다. /// </summary> /// <param name="sourceData"></param> public T_QuantumItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; }
public T_VelocityItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; }
public T_PrimeNumItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; this.sourceDataArray = null; }
public T_DarkMassItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; this.sourceDataArray = null; }
public T_EightRuleItemData(S_CandleItemData sourceData) { this.sourceData = sourceData; }
/// <summary> /// 최근 시고저종을 찾고, 거기에서 퀀텀을 만든다. /// </summary> /// <param name="sourceDataArray"></param> public T_FiveColorItemData(S_CandleItemData sourceData, List <S_CandleItemData> sourceDataArray) { this.sourceData = sourceData; this.sourceDataArray = sourceDataArray; }