diff --git a/Million Buyer/MainForm.cs b/Million Buyer/MainForm.cs index ae17ac7..ebcc294 100644 --- a/Million Buyer/MainForm.cs +++ b/Million Buyer/MainForm.cs @@ -478,14 +478,19 @@ namespace Million_Buyer if (TopVolFlag) { var tickDataList = UpbitApi.GetTickerList(realTimeMsg.coinFullNameList); - - if (tickDataList.Count > TopVolCnt) + int topVolTempCnt = TopVolCnt; + if(tickDataList.Select(t => t.TrendType).Where(t=>t == "RISE").ToList().Count > tickDataList.Count * 0.7) + { + topVolTempCnt = (int)(topVolTempCnt * 2); + } + + if (tickDataList.Count > topVolTempCnt) { var AccumulateTradeVolume = tickDataList.OrderByDescending(t => t.AccumulateTradeVolume).Select(t=>t.CoinFullName).ToList(); var AccumulateTradePrice = tickDataList.OrderByDescending(t => t.AccumulateTradePrice).Select(t => t.CoinFullName).ToList(); - AccumulateTradeVolume.RemoveRange(TopVolCnt, AccumulateTradeVolume.Count - TopVolCnt); - AccumulateTradePrice.RemoveRange(TopVolCnt, AccumulateTradePrice.Count - TopVolCnt); + AccumulateTradeVolume.RemoveRange(topVolTempCnt, AccumulateTradeVolume.Count - topVolTempCnt); + AccumulateTradePrice.RemoveRange(topVolTempCnt, AccumulateTradePrice.Count - topVolTempCnt); foreach(var item in AccumulateTradePrice) { @@ -495,23 +500,38 @@ namespace Million_Buyer } } - if(filterNameList.Count == 0) - { - filterNameList = AccumulateTradePrice; - } - // 10개가 안될 경우 24시간 거래량 Top 10개넣기 - else if (filterNameList.Count < 10) - { - var AccumulateTradePrice24 = tickDataList.OrderByDescending(t => t.AccumulateTradePrice24).Select(t => t.CoinFullName).ToList(); + var AccumulateTradeVolume24 = tickDataList.OrderByDescending(t => t.AccumulateTradeVolume24).Select(t => t.CoinFullName).ToList(); + var AccumulateTradePrice24 = tickDataList.OrderByDescending(t => t.AccumulateTradePrice24).Select(t => t.CoinFullName).ToList(); - for(var i = 0; i<10; i++) + for (var i = 0; i < 5; i++) + { + if (!filterNameList.Any(t => t == AccumulateTradePrice24[i])) { - if (!filterNameList.Any(t => t == AccumulateTradePrice24[i])) - { - filterNameList.Add(AccumulateTradePrice24[i]); - } + filterNameList.Add(AccumulateTradePrice24[i]); } - } + if (!filterNameList.Any(t => t == AccumulateTradeVolume24[i])) + { + filterNameList.Add(AccumulateTradeVolume24[i]); + } + } + filterNameList = filterNameList.Distinct().ToList(); + //if (filterNameList.Count == 0) + //{ + // filterNameList = AccumulateTradePrice; + //} + //// 10개가 안될 경우 24시간 거래대금 Top 10개넣기 + //else if (filterNameList.Count < 10) + //{ + // var AccumulateTradePrice24 = tickDataList.OrderByDescending(t => t.AccumulateTradePrice24).Select(t => t.CoinFullName).ToList(); + + // for (var i = 0; i < 10; i++) + // { + // if (!filterNameList.Any(t => t == AccumulateTradePrice24[i])) + // { + // filterNameList.Add(AccumulateTradePrice24[i]); + // } + // } + //} } } @@ -652,6 +672,7 @@ namespace Million_Buyer { if (!filterNameList.Any(t => t == item)) { + InsertLog("거래량이 안됨 : " + item + ", DateTime : " + recentlyData.DateTime.ToString("yyyy-MM-dd HH:mm:ss")); overlapBuyManagementList[item] = false; continue; } @@ -766,7 +787,7 @@ namespace Million_Buyer //{ // flag = true; //} - } + } } if (flag)