From d8ca5ee28e86b19fe77170f71d2dd4e6659be080 Mon Sep 17 00:00:00 2001 From: kyh <1329522@naver.com> Date: Mon, 16 May 2022 09:30:12 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B1=B0=EB=9E=98=EB=9F=89=20=EB=88=84?= =?UTF-8?q?=EC=A0=81=20=EB=A1=9C=EC=A7=81=20=EA=B5=AC=ED=98=84(Children=20?= =?UTF-8?q?=EC=97=90=20Indicator=20=EA=B0=92=20=EB=84=A3=EB=8A=94=20?= =?UTF-8?q?=ED=98=95=EC=8B=9D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Million/Manager/CalculateManager.cs | 41 +++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/Million/Manager/CalculateManager.cs b/Million/Manager/CalculateManager.cs index e8a836a..2fe186a 100644 --- a/Million/Manager/CalculateManager.cs +++ b/Million/Manager/CalculateManager.cs @@ -304,6 +304,13 @@ namespace Million.Manager } + /// + /// 계산 로직 분기 함수 + /// + /// + /// + /// + /// public static List SwitchFun(IndicatorCoditionSetup setUp, List> parentCandleDataList, List childrenCandleDataList) { @@ -329,6 +336,40 @@ namespace Million.Manager return new List(); } + /// + /// 누적량 계산 (Children) + /// + /// + /// + /// + public static List CalulateAccumulateMoneyVolumeData(IndicatorCoditionSetup setUp, List children, double goalVal) + { + double val = 0; + var key = GetKeyData(setUp); + if (key == null) return new List(); + + + 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; + } /// /// 상향, 하향으로 뚫었을 경우