From 9d1f208cfbed7c8d5faf442127cbaff87954f2af Mon Sep 17 00:00:00 2001 From: kyh <1329522@naver.com> Date: Mon, 21 Nov 2022 15:24:36 +0900 Subject: [PATCH] =?UTF-8?q?=EC=82=AC=EB=86=93=EA=B3=A0=20=EA=BA=BC?= =?UTF-8?q?=EC=A7=84=EA=B1=B0=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Million Buyer/MainForm.cs | 46 ++++++++++++++++++++++++++--- Million/Manager/CalculateManager.cs | 25 ++++++++++++---- 2 files changed, 61 insertions(+), 10 deletions(-) diff --git a/Million Buyer/MainForm.cs b/Million Buyer/MainForm.cs index 5fa3a89..0bd7cad 100644 --- a/Million Buyer/MainForm.cs +++ b/Million Buyer/MainForm.cs @@ -371,12 +371,50 @@ namespace Million_Buyer CommonProperty.subIndicatorStateManagement[item.IndexString] = dic; } #region TODO 이미 구매되어 있는 종목에 대한 기본 데이터 Setting 필요 - if (RealTimeMode) + if (!RealTimeMode) { + foreach(var item in this.accounts) + { + if(item.Currency != "KRW") + { + var buyItem = new CandleDataList(); - } - else - { + var temp = dataList[MCandleTimeType.M1].FirstOrDefault(t => t.ConGoodsData.CoinFullName == item.UnitCurrency + "-" + item.Currency); + if (temp == null) continue; + + buyItem.ConGoodsData = temp.ConGoodsData; + var candle = new CandleData(); + candle.BuyTime = new DateTime(2000, 1, 1); + candle.BuyValue = item.AvgBuyPrice; + candle.BuyCount = item.Balance; + buyItem.CandleDataLists_Im.Add(candle); + buyList.Add(buyItem); + } + } + + this.BeginInvoke(new Action(delegate () + { + try + { + + foreach (var item in buyList) + { + var recentlyData = item.CandleDataLists_Im[0]; + var time = recentlyData.BuyTime; + + tl_BuyList.AppendNode(new object[] + { + item.ConGoodsData.CoinFullName, recentlyData.BuyValue, recentlyData.BuyCount, time.ToString("yyyy-MM-dd HH:mm:ss") + }, null); + } + + lb_BuyMarketCount.Text = buyList.Count.ToString(); + } + catch (Exception e) + { + InsertLog("이전에 사놓은 개수 입력 관련 에러" + e.Message); + } + })); } #endregion diff --git a/Million/Manager/CalculateManager.cs b/Million/Manager/CalculateManager.cs index 1316ab4..bfcce1c 100644 --- a/Million/Manager/CalculateManager.cs +++ b/Million/Manager/CalculateManager.cs @@ -606,19 +606,33 @@ namespace Million.Manager { var dic = parent.CalculateFlag; - var val = GetValueData(subIndi, parent, subKey); - + var subValue = GetValueData(subIndi, parent, subKey); + var indiValue = GetValueData(setUp, parent, key); + + + //Sub 조건 만족 여부 if (subScript.DicExcuteScript(dic)) { subFlag = true; + if (recentlyDataFlag) + { + if (subManagement[coinFullName]) + { + if (indiValue < subValue) + { + subManagement[coinFullName] = false; + } + } + } + } else { subFlag = false; var str = ""; - if(val < parent.EndValue) + if(subValue < parent.EndValue) { str = coinFullName + " Sub 조건 Error 발생\r\n"; str += "parent : " + JsonConvert.SerializeObject(parent) + "\r\n"; @@ -643,13 +657,12 @@ namespace Million.Manager } } - var overlapData = GetOverlapValueData(setUp, parent, key); - if (overlapData == 0) continue; - var valDic = ResultLogicManager.GetIndicateValue(dic, totalIndicators, parent); var subVal = GetConditionValue(subScript.regularExpressionString, valDic, dic); if (subVal == 0) continue; + var overlapData = GetOverlapValueData(setUp, parent, key); + if (overlapData == 0) continue; //sub 조건이 만족할 경우 if (subFlag)