From f475c7f63c91a0c79b345768cdadaa18bfa85d9e Mon Sep 17 00:00:00 2001 From: kyh <1329522@naver.com> Date: Thu, 8 Sep 2022 09:34:18 +0900 Subject: [PATCH] =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=9E=88?= =?UTF-8?q?=EC=9D=84=EB=96=84=EB=A7=8C=20=EC=A0=80=EC=9E=A5=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Million Prototype/Form1.cs | 121 +++++++++++++++++++------------------ 1 file changed, 62 insertions(+), 59 deletions(-) diff --git a/Million Prototype/Form1.cs b/Million Prototype/Form1.cs index 95787c9..7021087 100644 --- a/Million Prototype/Form1.cs +++ b/Million Prototype/Form1.cs @@ -190,7 +190,7 @@ namespace Million_Prototype if (firstFlag == 1) { dataList = realTimeMsg.ProcessRecentlyCandleDatas(dataList, candleTypeList); - + } } if (DateTime.Now.Second == 0) @@ -198,68 +198,71 @@ namespace Million_Prototype realTimeMsg.ClearTicker(); } - if(DateTime.Now.Minute == 0) + if (DateTime.Now.Minute == 0) { - savedResultData.EndDateTime = DateTime.Now; - savedResultData.SavedDateTime = DateTime.Now; - savedResultData.SearchResultList = resultDataList; - - //수익 률 계산 로직 -> 이거는 추후 빼도 될듯 - double totalVal = 0; - double win = 0; - double lose = 0; - double firstProfitRate = 0; - double firstWin = 0; - - //승률, 수익률 계산 - foreach (var item in resultDataList) + if (resultDataList.Count > 0) { - if (item.FirstWinFlag) firstWin++; + savedResultData.EndDateTime = DateTime.Now; + savedResultData.SavedDateTime = DateTime.Now; + savedResultData.SearchResultList = resultDataList; - firstProfitRate += item.FirstEarningRate; - win += item.WinCount; - lose += item.LoseCount; - totalVal += item.TotalEarningRate; + //수익 률 계산 로직 -> 이거는 추후 빼도 될듯 + double totalVal = 0; + double win = 0; + double lose = 0; + double firstProfitRate = 0; + double firstWin = 0; + + //승률, 수익률 계산 + foreach (var item in resultDataList) + { + if (item.FirstWinFlag) firstWin++; + + firstProfitRate += item.FirstEarningRate; + win += item.WinCount; + lose += item.LoseCount; + totalVal += item.TotalEarningRate; + } + var winRate = 0.0; + if (win == 0) + { + winRate = 0; + } + else if (lose == 0) + { + winRate = 100; + } + else + { + winRate = (win * 100 / (win + lose)); + } + + double tt = 0; + double t1 = 0; + foreach (var item in resultDataList) + { + var buy = item.BuyList.CandleDataLists_Im[0]; + var sell = item.SellData; + + tt += ((sell.SellValue - buy.BuyValue) / buy.BuyValue) * 100; + + if (buy.BuyValue < sell.SellValue) t1++; + } + + + tt /= resultDataList.Count; + savedResultData.ResultDataCount = resultDataList.Count; + savedResultData.FirstWinRate = (firstWin * 100) / resultDataList.Count; + savedResultData.FirstProfitRate = firstProfitRate; + savedResultData.WinRate = winRate; + savedResultData.ProfitRate = totalVal / resultDataList.Count; + savedResultData.SearchResultList = resultDataList; + + FileManager.SaveResultDataToFile(savedResultData); + + savedResultData.StartDateTime = DateTime.Now; + resultDataList.Clear(); } - var winRate = 0.0; - if (win == 0) - { - winRate = 0; - } - else if (lose == 0) - { - winRate = 100; - } - else - { - winRate = (win * 100 / (win + lose)); - } - - double tt = 0; - double t1 = 0; - foreach (var item in resultDataList) - { - var buy = item.BuyList.CandleDataLists_Im[0]; - var sell = item.SellData; - - tt += ((sell.SellValue - buy.BuyValue) / buy.BuyValue) * 100; - - if (buy.BuyValue < sell.SellValue) t1++; - } - - - tt /= resultDataList.Count; - savedResultData.ResultDataCount = resultDataList.Count; - savedResultData.FirstWinRate = (firstWin * 100) / resultDataList.Count; - savedResultData.FirstProfitRate = firstProfitRate; - savedResultData.WinRate = winRate; - savedResultData.ProfitRate = totalVal / resultDataList.Count; - savedResultData.SearchResultList = resultDataList; - - FileManager.SaveResultDataToFile(savedResultData); - - savedResultData.StartDateTime = DateTime.Now; - resultDataList.Clear(); } //Indicator 계산 -> Code full name 으로 for문 돌면서 계산 처리