거래량 누적 로직 구현(Children 에 Indicator 값 넣는 형식)

This commit is contained in:
kyh
2022-05-16 09:30:12 +09:00
parent feae556704
commit d8ca5ee28e

View File

@@ -304,6 +304,13 @@ namespace Million.Manager
}
/// <summary>
/// 계산 로직 분기 함수
/// </summary>
/// <param name="setUp"></param>
/// <param name="parentCandleDataList"></param>
/// <param name="childrenCandleDataList"></param>
/// <returns></returns>
public static List<CandleData> SwitchFun(IndicatorCoditionSetup setUp, List<List<CandleData>> parentCandleDataList,
List<CandleData> childrenCandleDataList)
{
@@ -329,6 +336,40 @@ namespace Million.Manager
return new List<CandleData>();
}
/// <summary>
/// 누적량 계산 (Children)
/// </summary>
/// <param name="children"></param>
/// <param name="goalVal"></param>
/// <returns></returns>
public static List<CandleData> CalulateAccumulateMoneyVolumeData(IndicatorCoditionSetup setUp, List<CandleData> children, double goalVal)
{
double val = 0;
var key = GetKeyData(setUp);
if (key == null) return new List<CandleData>();
foreach (var item in children)
{
val += item.MoneyVolume;
if(val > goalVal)
item.CalculateFlag[setUp.IndexString] = true;
else
item.CalculateFlag[setUp.IndexString] = false;
if (item.IndicatorDic.ContainsKey(key))
item.IndicatorDic[key].overlapValue = val;
else
{
item.IndicatorDic[key] = new IndicatorData();
item.IndicatorDic[key] = item.IndicatorDic[key];
item.IndicatorDic[key].overlapValue = val;
}
}
return children;
}
/// <summary>
/// 상향, 하향으로 뚫었을 경우