/// <param name="IndexName">指标名称</param> /// <param name="ruleName">比较类型名称</param> /// <param name="conditions">比较参数</param> public RuleInfo(string IndexName, string ruleName,LotTick.CompareParams conditions, int ruleId,int calculateRows = 1000 ,int needRows = 0) { Assembly indexAssembe = Assembly.LoadFrom("LotTick.exe"); Type t = indexAssembe.GetType("LotTick.Index_"+IndexName ); this.IndexSelector = Activator.CreateInstance(t) as LotIndex; this.CompareRule = ruleName.ToEnum<ECompareType>(); this.RuleID = ruleId; this.CondtionParams = conditions; this.NeedRows = needRows; this.CalcuteRows = calculateRows; }
/// <summary> /// 根据该规则,对数据集进行过滤,只保留满足规则的书籍 /// </summary> /// <param name="data">所有需要过滤的数据</param> /// <param name="NeedData">需要的历史数据,数目为所需要的行数</param> /// <param name="compCoditon">比较参数</param> /// <returns>满足规则的数据集</returns> public virtual LotTick.LotTickData[] GetFilterResult(LotTickData[] data, LotTick.LotTickData[] NeedData = null) { return data.Where(n => (GetOneResult(n)).GetCompareResult(this.RuleInfoParams)).ToArray(); }
/// <summary> /// 计算所有数据的指标结果 /// </summary> /// <param name="data">数据</param> public virtual int[] GetAllValue(LotTick.LotTickData[] data) { return data.Select(n => GetOneResult(n)).ToArray(); }
/// <summary> /// 验证规则列表,根据规则列表的信息进行验证,得到结果 /// </summary> /// <param name="ruleList">规则列表</param> public virtual bool[][] ValidateRuleList(LotTick.RuleInfo[] ruleList) { throw new System.NotImplementedException(); }
/// <summary> /// 根据中奖明细统计中奖金额 /// </summary> /// <param name="prizeNo">中奖号码</param> /// <param name="testNoes">检测号码</param> public virtual int GetAllPrizeReward(LotTick.LotTickData prizeNo, LotTick.LotTickData[] testNoes) { throw new System.NotImplementedException(); }
/// <summary> /// 最终返回各个等级中奖号码的个数 /// </summary> /// <param name="prizeCount">中奖号码</param> /// <param name="prizeNo">中奖号码</param> /// <param name="testNoes">检测号码</param> public virtual int[] GetAllPrizeGradesCount(LotTick.LotTickData prizeNo, LotTick.LotTickData[] testNoes) { throw new System.NotImplementedException(); }
/// <summary> /// 确定获奖等级 /// </summary> /// <param name="prizeCount">中奖号码</param> /// <param name="prizeNo">中奖号码</param> /// <param name="testNo">检测号码</param> public virtual int GetPrizeGrade(LotTick.LotTickData prizeNo, LotTick.LotTickData testNo) { throw new System.NotImplementedException(); }