public float GetMatchValue(MatchItemType type, MatchItemActionType actionType, Dictionary <int, KLineCache> klineDataDic, float btcLSPercent, List <int> MACycleList, ref List <int> matchIDList) { float result = 0; if (matchListDic.ContainsKey(actionType)) { List <MatchItem> list = matchListDic[actionType]; for (int i = 0; i < list.Count; i++) { if (list[i].type == type) { float matchValue = list[i].IsMatch(klineDataDic, btcLSPercent, MACycleList); if (matchValue > 0) { result += matchValue; matchIDList.Add(list[i].id); //Debugger.Log(list[i].id.ToString()); } } } } return(result); }
public MatchItem(string str) { if (!string.IsNullOrEmpty(str)) { string[] list = str.Split(','); id = int.Parse(list[0]); type = (MatchItemType)Enum.Parse(typeof(MatchItemType), list[1]); actionType = (MatchItemActionType)Enum.Parse(typeof(MatchItemActionType), list[2]); string[] conditionStr = list[3].Split(';'); for (int i = 0; i < conditionStr.Length; i++) { MatchConditionItem item = new MatchConditionItem(conditionStr[i]); matchConditions.Add(item); } matchValue = float.Parse(list[4]); } }