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)