에러 로그 수정 및 두번 계산 제거

This commit is contained in:
kyh
2024-04-29 11:29:12 +09:00
parent 46b7fcfd5b
commit 2db5a4519d
3 changed files with 20 additions and 25 deletions

View File

@@ -291,7 +291,7 @@ namespace Million
int.TryParse(tb_BigMoneyVolCnt.Text, out int val);
if (cb_BigMoneyVolType.Text == "") cb_BigMoneyVolType.Text = "H1";
if (cb_BuyBigthanHighType.Text == "") cb_BuyBigthanHighType.Text = "H1";
if (cb_BuyBigthanHighType.Text == "") cb_BuyBigthanHighType.Text = "H1";
CalculateDatas(_saveResultData, cb_UpperMainIndi.Checked, cb_IncludeClearIndicator.Checked, cb_DownBeforeValueFlag.Checked, rd_Hunter.Checked,
ck_BigMoneyVol.Checked, (MCandleTimeType)Enum.Parse(typeof(MCandleTimeType), cb_BigMoneyVolType.Text.ToString()),
@@ -488,14 +488,8 @@ namespace Million
{
var totalCandleTypeList = totalIndicator.Select(t => t.MCandleTimeType).ToList();
var maxCandleType = totalCandleTypeList.Max();
var smallCandleType = totalCandleTypeList.Min();
var list = totalCandleTypeList;
var minMaxCandleType = MCandleTimeType.M1;
if (!(list == null || list.Count == 0))
minMaxCandleType = list.Max();
var smallCandleType = totalCandleTypeList.Min();
var buyList = new List<CandleDataList>();
var subBuyList = new List<CandleDataList>();
var item = market.CoinFullName;
@@ -503,21 +497,29 @@ namespace Million
var subIndStringiList = DataManager.GetSubIndicatorStringList(totalIndicator);
var resultData = new List<SearchResult>();
var tempFlag = 1;
var tempFlagList = totalCandleTypeList.Where(t => (int)t < 60).ToList();
if (tempFlagList.Count > 0)
{
tempFlag = (int)(tempFlagList.Max());
}
var startMiniuteDate = startDate.AddMinutes(-500 * tempFlag);
var startMiniuteDate = startDate.AddMinutes((int)minMaxCandleType * -500);
var mCandleTypeList = new List<CommonProperty.MCandleTimeType>
{
CommonProperty.MCandleTimeType.M1
};
};
var standardData = DataManager.GetStandardData(totalIndicator, startMiniuteDate, startDate, market, distinctIndicator, true, mCandleTypeList);
totalCandleTypeList.AddRange(mCandleTypeList);
var indicatorCandleTypeList = totalCandleTypeList;
if (maxCandleType >= MCandleTimeType.H1)
{
var startHourDate = startDate.AddHours((int)maxCandleType * -500);
var startHourDate = startDate.AddHours(((int)maxCandleType/60) * -500);
var hCandleTypeList = new List<CommonProperty.MCandleTimeType>
{
CommonProperty.MCandleTimeType.H1
@@ -655,17 +657,10 @@ namespace Million
if (recentlyData == null) {
mDataList.CandleDataLists_Im.RemoveAt(0);
continue;
}
var type = MCandleTimeType.M1;
if(indicatorCandleTypeList.Count != 1)
{
var typeData = indicatorCandleTypeList.OrderBy(t => (int)t).ToList();
typeData.Remove(type);
type = typeData.Min();
}
}
//before 데이터 가져오는 함수 -> 사는 케이스만
var beforeData = standardData[type][standardData[type].Count - 2];
var beforeData = standardData[smallCandleType][standardData[smallCandleType].Count - 2];
//예외처리

View File

@@ -1504,7 +1504,8 @@ namespace Million.Manager
Dictionary<MCandleTimeType, List<CandleData>> parentList, bool recentlyDataFlag = false, string coinFullName = null, CandleData buyData = null)
{
//최신 Child데이터 계산하기 전에 부모 자식 관계 정리부터 처리
var parentKeys = parentList.Keys;
var parentKeys = totalIndicator.Select(t => t.MCandleTimeType).Distinct().ToList();
foreach (var key in parentKeys)
{
var parentItem = parentList[key];
@@ -1519,7 +1520,6 @@ namespace Million.Manager
}
}
//최신 child 계산
if (recentlyDataFlag)
{

View File

@@ -307,7 +307,7 @@ namespace Million.Manager
}
if (currentCandleList == null || currentCandleList.Count == 0)
return null;
return returnData;
foreach (var item in currentCandleList)