데이터 있을떄만 저장하도록 수정

This commit is contained in:
kyh
2022-09-08 09:34:18 +09:00
parent 6878147de7
commit f475c7f63c

View File

@@ -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문 돌면서 계산 처리