이평에서 1개일 경우 단순만 해당 봉 데이터 처리
This commit is contained in:
@@ -139,7 +139,7 @@ namespace Million.IndicatorConditionSetup
|
||||
|
||||
total_average += thisValue;//단순 이평 계산하기위한 값
|
||||
endValueList.Add(thisValue);//가중 이평 계산하기위한 값
|
||||
if (i >= Period - 1)
|
||||
if (i > Period - 1)
|
||||
{
|
||||
if (MaType == CommonProperty.MAType.단순)
|
||||
{
|
||||
@@ -165,6 +165,23 @@ namespace Million.IndicatorConditionSetup
|
||||
total_average -= GetStockValue(data[i - Period + 1]);
|
||||
endValueList.RemoveAt(0);
|
||||
}
|
||||
else if (Period - 1 == 0)
|
||||
{
|
||||
//1개일 경우 단순만 해당 봉 데이터 처리
|
||||
if (MaType == CommonProperty.MAType.단순)
|
||||
{
|
||||
var value = 0.0;
|
||||
if (MACandlePriceType == CommonProperty.CandlePriceType.시가)
|
||||
value = data[i].StartValue;
|
||||
else if (MACandlePriceType == CommonProperty.CandlePriceType.고가)
|
||||
value = data[i].HighValue;
|
||||
else if (MACandlePriceType == CommonProperty.CandlePriceType.종가)
|
||||
value = data[i].EndValue;
|
||||
else if (MACandlePriceType == CommonProperty.CandlePriceType.저가)
|
||||
value = data[i].LowValue;
|
||||
mov.value = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -321,13 +321,13 @@ namespace Million.Manager
|
||||
{
|
||||
parentCandleDataList = parentCandleDataList.OrderBy(t => t.DateTime).ToList();
|
||||
childrenCandleDataList = childrenCandleDataList.OrderBy(t => t.DateTime).ToList();
|
||||
|
||||
foreach (var item in childrenCandleDataList)
|
||||
item.CalculateFlag[setUp.IndexString] = false;
|
||||
|
||||
|
||||
foreach (var item in childrenCandleDataList)
|
||||
item.CalculateFlag[setUp.IndexString] = false;
|
||||
|
||||
//부모 데이터는 indicator foreach 돌면서 처리하므로 밖에서 초기화 해야 함
|
||||
foreach (var item in parentCandleDataList)
|
||||
item.CalculateFlag[setUp.IndexString] = false;
|
||||
foreach (var item in parentCandleDataList)
|
||||
item.CalculateFlag[setUp.IndexString] = false;
|
||||
|
||||
//부모의 Indicator 데이터를 Child에 집어 넣음
|
||||
|
||||
@@ -372,7 +372,7 @@ namespace Million.Manager
|
||||
for (var i = 0; i < 3; i++)
|
||||
CrossCondition(setUp, parentCandleDataList, childrenCandleDataList, subIndicator, i);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -407,7 +407,7 @@ namespace Million.Manager
|
||||
var compareValueList = new List<double>();
|
||||
|
||||
originValueList.Add(parent.IndicatorDic[originKey].value);
|
||||
compareValueList.Add(parent.IndicatorDic[compareKey].value);
|
||||
compareValueList.Add(parent.IndicatorDic[compareKey].value);
|
||||
|
||||
if (originSetup.CandlePriceType == CandlePriceType.종가)
|
||||
{
|
||||
@@ -464,7 +464,7 @@ namespace Million.Manager
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -477,7 +477,7 @@ namespace Million.Manager
|
||||
private static void RateValue(IndicatorCoditionSetup setUp, List<CandleData> parentCandleDataList, List<CandleData> childrenCandleDataList, CandleData buyData)
|
||||
{
|
||||
// buy의 경우 하나만 사고 있음(여러개가 다른 가격대 일경우는 제외함 -> 나중에 V2에서 해야할 듯)
|
||||
if(buyData != null)
|
||||
if (buyData != null)
|
||||
{
|
||||
var rate = ((PriceRateCondtionSetup)setUp).Rate;
|
||||
var rateVal = buyData.BuyValue + (buyData.BuyValue * rate / 100);
|
||||
@@ -535,19 +535,19 @@ namespace Million.Manager
|
||||
/// <param name="childrenCandleDataList"></param>
|
||||
/// <returns></returns>
|
||||
public static void EndValue(IndicatorCoditionSetup setUp, List<CandleData> parentCandleDataList, List<CandleData> childrenCandleDataList)
|
||||
{
|
||||
{
|
||||
var key = GetKeyData(setUp);
|
||||
if (key == null) return;
|
||||
|
||||
|
||||
foreach (var parent in parentCandleDataList)
|
||||
{
|
||||
{
|
||||
var childList = GetChildrenDatas(parent, setUp.MCandleTimeType, childrenCandleDataList);
|
||||
if(childList.Count > 0)
|
||||
if (childList.Count > 0)
|
||||
{
|
||||
var child = childList[childList.Count - 1];
|
||||
child.CalculateFlag[setUp.IndexString] = true;
|
||||
parent.CalculateFlag[setUp.IndexString] = true;
|
||||
|
||||
|
||||
if (parent.IndicatorDic.ContainsKey(key))
|
||||
{
|
||||
parent.IndicatorDic[key].overlapValue = parent.EndValue;
|
||||
@@ -559,7 +559,8 @@ namespace Million.Manager
|
||||
parent.IndicatorDic[key].overlapValue = parent.EndValue;
|
||||
}
|
||||
|
||||
if (child.IndicatorDic.ContainsKey(key)) {
|
||||
if (child.IndicatorDic.ContainsKey(key))
|
||||
{
|
||||
child.IndicatorDic[key].overlapValue = parent.EndValue;
|
||||
}
|
||||
else
|
||||
@@ -569,7 +570,7 @@ namespace Million.Manager
|
||||
child.IndicatorDic[key].overlapValue = parent.EndValue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -579,11 +580,11 @@ namespace Million.Manager
|
||||
/// <param name="parentCandleDataList"></param>
|
||||
/// <param name="childrenCandleDataList"></param>
|
||||
/// <returns></returns>
|
||||
public static void CrossCondition(IndicatorCoditionSetup setUp, List<CandleData> parentCandleDataList, List<CandleData> childrenCandleDataList,
|
||||
public static void CrossCondition(IndicatorCoditionSetup setUp, List<CandleData> parentCandleDataList, List<CandleData> childrenCandleDataList,
|
||||
List<IndicatorCoditionSetup> subIndicatorList, int type = 0)
|
||||
{
|
||||
var key = GetKeyData(setUp);
|
||||
if (key == null) return ;
|
||||
if (key == null) return;
|
||||
|
||||
// 정규 식 없을 경우 모든 조건 false
|
||||
if (string.IsNullOrWhiteSpace(setUp.CrossSubRegExpression))
|
||||
@@ -605,7 +606,7 @@ namespace Million.Manager
|
||||
if (!parent.IndicatorDic.ContainsKey(subKey)) continue;
|
||||
|
||||
var subIndiOverlapVal = parent.IndicatorDic[subKey].value;
|
||||
|
||||
|
||||
var overlapValue = GetValueData(setUp, parent, key);
|
||||
|
||||
// 고가
|
||||
@@ -617,10 +618,10 @@ namespace Million.Manager
|
||||
subIndiOverlapVal = parent.IndicatorDic[subKey].highValue;
|
||||
overlapValue = parent.IndicatorDic[key].highValue;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
// 저가
|
||||
if(type == 2)
|
||||
if (type == 2)
|
||||
{
|
||||
if (parent.IndicatorDic[subKey].lowValue != 0 &&
|
||||
parent.IndicatorDic[key].lowValue != 0)
|
||||
@@ -634,15 +635,15 @@ namespace Million.Manager
|
||||
{
|
||||
first = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else if (first && subIndiOverlapVal < overlapValue)
|
||||
{
|
||||
// 기준 Setup
|
||||
var period = setUp.GetPeriod();
|
||||
if (period > i) continue;
|
||||
List<CandleData> childs = null;
|
||||
if(setUp.IndicatorType == IndicatorType.이동평균선)
|
||||
if(((MovingAverageConditionSetup)setUp).MovingAverageType == MovingAverageType.거래량)
|
||||
if (setUp.IndicatorType == IndicatorType.이동평균선)
|
||||
if (((MovingAverageConditionSetup)setUp).MovingAverageType == MovingAverageType.거래량)
|
||||
childs = GetChildrenDatas(parent, setUp.MCandleTimeType, childrenCandleDataList);
|
||||
|
||||
|
||||
@@ -666,9 +667,9 @@ namespace Million.Manager
|
||||
|
||||
var subIndiOver = subSetup.GetQuoteValue(subList, childs);
|
||||
double overlapVal = 0;
|
||||
foreach(var item in indiOver)
|
||||
foreach (var item in indiOver)
|
||||
{
|
||||
if(indiOver[item.Key] >= subIndiOver[item.Key])
|
||||
if (indiOver[item.Key] >= subIndiOver[item.Key])
|
||||
{
|
||||
overlapVal = indiOver[item.Key];
|
||||
break;
|
||||
@@ -687,13 +688,13 @@ namespace Million.Manager
|
||||
}
|
||||
|
||||
childs = GetChildrenDatas(parent, setUp.MCandleTimeType, childrenCandleDataList);
|
||||
|
||||
|
||||
foreach (var item in childs)
|
||||
{
|
||||
if (item.CalculateFlag[setUp.IndexString]) continue;
|
||||
|
||||
item.CalculateFlag[setUp.IndexString] = true;
|
||||
|
||||
|
||||
if (!(item.HighValue <= overlapVal && item.LowValue >= overlapVal))
|
||||
{
|
||||
overlapVal = item.StartValue;
|
||||
@@ -705,7 +706,7 @@ namespace Million.Manager
|
||||
item.IndicatorDic[key].overlapValue = overlapVal;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
item.IndicatorDic[key].overlapValue = overlapVal;
|
||||
}
|
||||
}
|
||||
@@ -716,8 +717,8 @@ namespace Million.Manager
|
||||
//초기화를 해줘야함
|
||||
first = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -729,7 +730,7 @@ namespace Million.Manager
|
||||
/// <returns></returns>
|
||||
public static void FirstTranspierce(IndicatorCoditionSetup setUp, List<CandleData> parentCandleDataList, List<CandleData> childrenCandleDataList,
|
||||
List<IndicatorCoditionSetup> totalIndicators, bool recentlyDataFlag, string coinFullName)
|
||||
{
|
||||
{
|
||||
// 정규 식 없을 경우 단순 돌파와 같음
|
||||
if (string.IsNullOrWhiteSpace(setUp.FirstOverSubRegExpression))
|
||||
Transpierce(setUp, parentCandleDataList, childrenCandleDataList);
|
||||
@@ -742,7 +743,7 @@ namespace Million.Manager
|
||||
var subIndi = totalIndicators.FirstOrDefault(t => t.IndexString == setUp.FirstOverSubRegExpression);
|
||||
if (subIndi == null) return;
|
||||
var subKey = GetKeyData(subIndi);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 최초 돌파 내용
|
||||
@@ -753,7 +754,7 @@ namespace Million.Manager
|
||||
* 5. False 되는 지점 이후 True나올때까지 찾기
|
||||
* 6. 1~5번 반복
|
||||
*/
|
||||
|
||||
|
||||
subScript.regularExpressionString = setUp.FirstOverSubRegExpression;
|
||||
var subFlag = false;
|
||||
|
||||
@@ -761,7 +762,7 @@ namespace Million.Manager
|
||||
|
||||
// realtime(recentlydata가 true일경우)에만 사용하는 데이터 -> 최초 시점 잡기위함
|
||||
Dictionary<string, bool> subManagement = null;
|
||||
if(recentlyDataFlag)
|
||||
if (recentlyDataFlag)
|
||||
subManagement = CommonProperty.subIndicatorStateManagement[setUp.IndexString];
|
||||
|
||||
foreach (var parent in parentCandleDataList)
|
||||
@@ -777,7 +778,7 @@ namespace Million.Manager
|
||||
{
|
||||
subFlag = true;
|
||||
//TODO 조건을 넣어서 처리 할 수 있도록 개선 필요
|
||||
if (recentlyDataFlag && CommonProperty.DownBeforeValueFlag)
|
||||
if (recentlyDataFlag && CommonProperty.DownBeforeValueFlag)
|
||||
{
|
||||
if (subManagement[coinFullName])
|
||||
{
|
||||
@@ -786,7 +787,7 @@ namespace Million.Manager
|
||||
subManagement[coinFullName] = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -837,7 +838,11 @@ namespace Million.Manager
|
||||
//TODO Tick 차이 관련 조건 식 추가 예정
|
||||
//최초로 매수, 매도 진행 시 사전 조건과의 Tick거리를 예외할 수 있어야 함
|
||||
//OverlapValue는 사야할 데이터, beforeIndiValue는 사전 데이터
|
||||
if (!GetTickDifferenceCount(overlapData, subVal, 3, coinFullName)) continue;
|
||||
if (!GetTickDifferenceCount(overlapData, subVal, 3, coinFullName))
|
||||
{
|
||||
subManagement[coinFullName] = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
//최초 시점이 아닐 경우
|
||||
if ((subManagement != null && subManagement[coinFullName]) || !firstFlag)
|
||||
@@ -846,7 +851,7 @@ namespace Million.Manager
|
||||
|
||||
var enumList = setUp.OverStatusEnumList;
|
||||
if (setUp.SubIndicatorSetupType == SubIndicatorSetupType.최초돌파) enumList = setUp.OverStatusEnumListFirstOver;
|
||||
|
||||
|
||||
if (enumList.Any(t => t == parent.IndicatorDic[key].overStatus))
|
||||
{
|
||||
GetTranspierceData(parent, childrenCandleDataList, setUp, overlapData, key, true);
|
||||
@@ -869,7 +874,7 @@ namespace Million.Manager
|
||||
/// <returns></returns>
|
||||
public static bool GetTickDifferenceCount(double standardValue, double compareValue, int tickCount, string coinFullName)
|
||||
{
|
||||
var bigData = standardValue> compareValue ? standardValue : compareValue;
|
||||
var bigData = standardValue > compareValue ? standardValue : compareValue;
|
||||
var smallData = standardValue < compareValue ? standardValue : compareValue;
|
||||
|
||||
var calBigData = OrderbookManager.GetAskPrice(bigData, false);
|
||||
@@ -884,7 +889,7 @@ namespace Million.Manager
|
||||
calSamllData = OrderbookManager.GetAskPrice(calSamllData);
|
||||
count++;
|
||||
}
|
||||
var returnData = tickCount <= count;
|
||||
var returnData = tickCount <= count;
|
||||
return returnData;
|
||||
}
|
||||
|
||||
@@ -905,7 +910,7 @@ namespace Million.Manager
|
||||
if (parent.CandleTimeType == (int)MCandleTimeType.M1)
|
||||
{
|
||||
var child = childrenCandleDataList.FirstOrDefault(t => t.DateTime == parent.DateTime);
|
||||
if (child == null) return ;
|
||||
if (child == null) return;
|
||||
childList.Add(child);
|
||||
}
|
||||
else
|
||||
@@ -946,12 +951,12 @@ namespace Million.Manager
|
||||
else
|
||||
{
|
||||
child.IndicatorDic[key] = new IndicatorData();
|
||||
if(parent.IndicatorDic.ContainsKey(key))
|
||||
if (parent.IndicatorDic.ContainsKey(key))
|
||||
child.IndicatorDic[key] = parent.IndicatorDic[key];
|
||||
|
||||
child.IndicatorDic[key].overlapValue = overlapData;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -996,7 +1001,7 @@ namespace Million.Manager
|
||||
{
|
||||
var key = GetKeyData(setUp);
|
||||
|
||||
if (key == null) return ;
|
||||
if (key == null) return;
|
||||
var returnData = new List<CandleData>();
|
||||
foreach (var item in parentCandleDataList)
|
||||
{
|
||||
@@ -1007,13 +1012,13 @@ namespace Million.Manager
|
||||
|
||||
var overStatusVal = item.IndicatorDic[key].overStatus;
|
||||
if (item.IndicatorDic[key].GetType() == typeof(IchimokData))
|
||||
overStatusVal = ((IchimokData) item.IndicatorDic[key]).GetOverStatus();
|
||||
overStatusVal = ((IchimokData)item.IndicatorDic[key]).GetOverStatus();
|
||||
|
||||
if (setUp.OverStatusEnumList.Any(t => t == overStatusVal))
|
||||
{
|
||||
GetTranspierceData(item, childrenCandleDataList, setUp, overlapData, key);
|
||||
GetTranspierceData(item, childrenCandleDataList, setUp, overlapData, key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1027,7 +1032,7 @@ namespace Million.Manager
|
||||
//비교할 데이터 Key 설정
|
||||
var key = GetKeyData(setUp);
|
||||
|
||||
if (key == null) return ;
|
||||
if (key == null) return;
|
||||
var returnData = new List<CandleData>();
|
||||
foreach (var item in parentCandleDataList)
|
||||
{
|
||||
@@ -1052,13 +1057,13 @@ namespace Million.Manager
|
||||
else
|
||||
{
|
||||
compareFlag = CompareSettingValueOfTranspierce(setUp.IndicatorOver, overlapData, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
compareFlag = CompareSettingValueOfTranspierce(setUp.IndicatorOver, overlapData, value);
|
||||
}
|
||||
|
||||
|
||||
if (compareFlag)
|
||||
{
|
||||
item.CalculateFlag[setUp.IndexString] = true;
|
||||
@@ -1119,7 +1124,7 @@ namespace Million.Manager
|
||||
if (!child.IndicatorDic.ContainsKey(key))
|
||||
{
|
||||
child.IndicatorDic[key] = new IndicatorData();
|
||||
child.IndicatorDic[key] = item.IndicatorDic[key];
|
||||
child.IndicatorDic[key] = item.IndicatorDic[key];
|
||||
}
|
||||
|
||||
if (lowFlag || highFlag)
|
||||
@@ -1159,7 +1164,7 @@ namespace Million.Manager
|
||||
if (flag)
|
||||
{
|
||||
child.CalculateFlag[setUp.IndexString] = true;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1193,7 +1198,7 @@ namespace Million.Manager
|
||||
if (trueVal)
|
||||
{
|
||||
child.CalculateFlag[setUp.IndexString] = true;
|
||||
if(child.IndicatorDic.ContainsKey(key))
|
||||
if (child.IndicatorDic.ContainsKey(key))
|
||||
child.IndicatorDic[key].overlapValue = val;
|
||||
else
|
||||
{
|
||||
@@ -1203,9 +1208,9 @@ namespace Million.Manager
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 단순비교 조건 시 Data 비교 함수
|
||||
@@ -1271,7 +1276,7 @@ namespace Million.Manager
|
||||
private static double GetValueData(IndicatorCoditionSetup setUp, CandleData candleData, string key)
|
||||
{
|
||||
if (!candleData.IndicatorDic.ContainsKey(key)) return 0;
|
||||
var data = candleData.IndicatorDic[key].value;
|
||||
var data = candleData.IndicatorDic[key].value;
|
||||
|
||||
#region 비교할 데이터 추출
|
||||
if (candleData.IndicatorDic[key].GetType() == typeof(IchimokData))
|
||||
@@ -1326,7 +1331,7 @@ namespace Million.Manager
|
||||
{
|
||||
overlapData = ((IchimokData)candleData.IndicatorDic[key]).GetDownOverValue();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
return overlapData;
|
||||
}
|
||||
@@ -1352,7 +1357,7 @@ namespace Million.Manager
|
||||
private static double GetValue(CandleData data, IndicatorCoditionSetup setUp)
|
||||
{
|
||||
double value = 0;
|
||||
|
||||
|
||||
if (setUp.CandlePriceType == CommonProperty.CandlePriceType.시가)
|
||||
{
|
||||
value = data.StartValue;
|
||||
@@ -1392,14 +1397,14 @@ namespace Million.Manager
|
||||
//}
|
||||
//else
|
||||
|
||||
|
||||
|
||||
if (parentCadleType == CommonProperty.MCandleTimeType.M3)
|
||||
{
|
||||
endDate = endDate.AddMinutes(3);
|
||||
endDate = endDate.AddMinutes(3);
|
||||
}
|
||||
else if (parentCadleType == CommonProperty.MCandleTimeType.M5)
|
||||
{
|
||||
endDate = endDate.AddMinutes(5);
|
||||
endDate = endDate.AddMinutes(5);
|
||||
}
|
||||
else if (parentCadleType == CommonProperty.MCandleTimeType.M10)
|
||||
{
|
||||
@@ -1433,7 +1438,7 @@ namespace Million.Manager
|
||||
{
|
||||
endDate = endDate.AddMonths(1);
|
||||
var childList = childrenCandleDatas.Where(t => t.DateTime >= parentCandleData.DateTime && t.DateTime < endDate).ToList();
|
||||
if(childList.Count != 0)
|
||||
if (childList.Count != 0)
|
||||
{
|
||||
var returnData = ValidationCheckManager.ValidateCandleDataList(childList, "temp", MCandleTimeType.M1);
|
||||
if (returnData.Count == 0)
|
||||
@@ -1452,7 +1457,7 @@ namespace Million.Manager
|
||||
}
|
||||
}
|
||||
return new List<CandleData>();
|
||||
|
||||
|
||||
}
|
||||
var list = childrenCandleDatas.Where(t => t.DateTime >= parentCandleData.DateTime && t.DateTime < endDate).ToList();
|
||||
if (list != null || list.Count > 0) return list;
|
||||
@@ -1470,20 +1475,20 @@ namespace Million.Manager
|
||||
/// <param name="resultCandleDataList"></param>
|
||||
/// <param name="subIndicator"></param>
|
||||
public static void GetCalculateIndicator(List<IndicatorCoditionSetup> totalIndicator, List<string> indiList, List<IndicatorCoditionSetup> lossIndicator,
|
||||
DateTime startDate, DateTime endDate, List<CandleData> resultCandleDataList, List<IndicatorCoditionSetup> subIndicator,
|
||||
DateTime startDate, DateTime endDate, List<CandleData> resultCandleDataList, List<IndicatorCoditionSetup> subIndicator,
|
||||
Dictionary<MCandleTimeType, List<CandleData>> parentList, bool recentlyDataFlag = false, string coinFullName = null, CandleData buyData = null)
|
||||
{
|
||||
//최신 Child데이터 계산하기 전에 부모 자식 관계 정리부터 처리
|
||||
var parentKeys = parentList.Keys;
|
||||
foreach(var key in parentKeys)
|
||||
foreach (var key in parentKeys)
|
||||
{
|
||||
var parentItem = parentList[key];
|
||||
foreach (var item in parentItem)
|
||||
foreach (var item in parentItem)
|
||||
{
|
||||
var childList = GetChildrenDatas(item, key, resultCandleDataList);
|
||||
|
||||
foreach (var child in childList)
|
||||
{
|
||||
{
|
||||
child.ParentCandleData[key] = item;
|
||||
}
|
||||
}
|
||||
@@ -1492,7 +1497,7 @@ namespace Million.Manager
|
||||
|
||||
//최신 child 계산
|
||||
if (recentlyDataFlag)
|
||||
{
|
||||
{
|
||||
resultCandleDataList = resultCandleDataList.Where(t => t.RecentlyDataFlag).ToList();
|
||||
}
|
||||
|
||||
@@ -1518,12 +1523,12 @@ namespace Million.Manager
|
||||
// 조건에 따라 부모는 여러개가 될 수 있으므로 따로 뽑음
|
||||
if (recentlyDataFlag)
|
||||
{
|
||||
list = list.Where(t => t.RecentlyDataFlag).ToList();
|
||||
list = list.Where(t => t.RecentlyDataFlag).ToList();
|
||||
}
|
||||
|
||||
SwitchFun(totalIndicator, indicator, list, resultCandleDataList, subIndicator, recentlyDataFlag, coinFullName, buyData);
|
||||
}
|
||||
}
|
||||
SwitchFun(totalIndicator, indicator, list, resultCandleDataList, subIndicator, recentlyDataFlag, coinFullName, buyData);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user