public StrategyResult Analyze(Candle[] candles, out object[] outData) { if (!_matrix.Any()) { InitiateCandles(candles); } else { AddMatrixRow(candles.Last()); ProcessRow(_matrix.Count() - 1); } StrategyResult result = StrategyResult.Exit; if (_matrix.Last().Last() == 1) { result = StrategyResult.Long; } if (_matrix.Last().Last() == -1) { result = StrategyResult.Short; } outData = new object[] { _matrix.Last()[4], _matrix.Last()[5], _matrix.Last()[6], result }; return(result); }
static void PrintResult(StrategyResult result) { Console.WriteLine("Distinct Client Ips:"); foreach (var res in result.DistinctClientIPResult) { Console.WriteLine(res); } Console.WriteLine(Environment.NewLine); Console.WriteLine("Distinct FQDN Ips of the client"); foreach (var res in result.DistinctFqdnIPResult) { Console.WriteLine(res.Key); foreach (var val in res.Value) { Console.WriteLine($"-- {val}"); } } Console.WriteLine(Environment.NewLine); Console.WriteLine("Count calls per client:"); foreach (var res in result.CountClientCallsResult) { Console.WriteLine($"{res.Key} -- {res.Value}"); } }
public override IStrategyResult ApplyStrategy(IDiscoveryStrategy strategy) { List<IMail> results = new List<IMail>(); foreach (IContentItem item in _dataSource) { if (item != null) { if (StrategyManager.CancellationPending) { return new StrategyResult(); } Logger.LogInfo(string.Format("OutlookSentItemSource.Applying Strategy {0}, on {1}", strategy.DisplayName, (item as IMail).Subject)); OnApplyingStrategy(new StrategyEventArgs() { MailItem = (item as IMail), Strategy = strategy, Source = this }); if (strategy.CompareTo(item) == 0) { results.Add(item as IMail); break; } } } IMail parentMail = ExtractParentContentItem(results); IStrategyResult strategyResult = new StrategyResult(); if (parentMail != null) { strategyResult.Add(parentMail); } return strategyResult; }
public StrategyResult Analyze(Candle[] candles, out object[] outData) { if (!_matrix.Any()) { InitiateCandles(candles); } else { AddMatrixRow(candles.Last()); ProcessRow(_matrix.Count() - 1); } var row = _matrix.Last(); var intResult = _matrix.Last().Last(); StrategyResult result = StrategyResult.Exit; if (intResult > 0) { result = StrategyResult.Long; } if (intResult < 0) { result = StrategyResult.Short; } outData = new object[] { row[4], row[5], row[6], row[7], row[8], row[9 + 2 * (int)Parameters[3].Value], row[9 + 2 * (int)Parameters[3].Value + 1], row[9 + 2 * (int)Parameters[3].Value + 2], row[9 + 2 * (int)Parameters[3].Value + 3], result }; if (result != _lastResult) { _newSLValue = null; } if (StopLossValue != 0) { if (result == StrategyResult.Short) { var newValue = Math.Max(_matrix.Last()[3] + StopLossValue, _matrix.Last()[6]); if ((_newSLValue == null) || (newValue < _newSLValue)) { _newSLValue = newValue; ChangeStopLoss((float)_newSLValue); } } if (result == StrategyResult.Long) { var newValue = Math.Min(_matrix.Last()[3] - StopLossValue, _matrix.Last()[6]); if ((_newSLValue == null) || (newValue > _newSLValue)) { _newSLValue = newValue; ChangeStopLoss((float)_newSLValue); } } } _lastResult = result; return(result); }
public virtual IStrategyResult ApplyStrategy(IDiscoveryStrategy strategy) { IStrategyResult strategyResult = new StrategyResult(); foreach (var item in DataSource) { if (strategy.CompareTo(item) == 0) { strategyResult.Add(item); } } return strategyResult; }
public object GetAllStrategy(object json) { var body = JsonConverter.Decode(json); var user_id = body["user_id"]; using (var ctx = new quantEntities()) { var strategys = ctx.strategy.Where(a => a.user_id == user_id).ToList(); var list = new List <StrategyResult>(); foreach (var each_strategy in strategys) { // 根据backtest表找最后测试时间 var strategy_id = each_strategy.strategy_id; var q = ctx.backtest.Where(a => a.strategy_id == strategy_id); string last_modify_time = ""; int times = 0; if (q.Any()) { var target_backtests = q.ToList(); last_modify_time = target_backtests.Max(a => a.time); times = target_backtests.Count(); } StrategyResult sr = new StrategyResult( each_strategy.strategy_id, each_strategy.strategy_name, each_strategy.create_time, each_strategy.strategy_hash, last_modify_time, times ); list.Add(sr); //list.Add(new { // strategy_id = each_strategy.strategy_id, // name = each_strategy.strategy_name, // create_time = each_strategy.create_time, // strategy_hash = each_strategy.strategy_hash, // last_modify_time = last_modify_time, // times = times //}) ; } var sorted_list = list.OrderByDescending(sr => sr.last_modify_time); var data = new { strategys = sorted_list }; return(Helper.JsonConverter.BuildResult(data)); } }
public void Process(StrategyResult result) { var statistic = _mapper.Map <StrategyStatistics>(result); if (!_strategyResults.ContainsKey(result.Strategy)) { _strategyResults.Add(result.Strategy, statistic); } else { _strategyResults[result.Strategy] = statistic; } }
private IStrategyResult FindOriginal(List<IContentSource> sources, List<IDiscoveryStrategy> strategies) { IStrategyResult result = new StrategyResult(); foreach (IContentSource source in sources) { if (source.Context == Context.Original) { source.ApplyingStrategy += source_ApplyingStrategy; result = source.ApplyStrategies(strategies); if (result.Count > 0) { return result; } } } return result; }
public IStrategyResult LoadStrategyResult(int day, string resultName) { string resultPath = dataPathUtils.GetStrategyResultFilePath(day, resultName); StrategyResult result = new StrategyResult(); result.Load(resultPath); //XmlDocument doc = new XmlDocument(); //doc.Load(resultPath); //result.Load(doc.DocumentElement); IList <string> codes = LoadStrategyResultCodes(day, resultName); for (int i = 0; i < codes.Count; i++) { IStrategyResult_CodePeriod result_Code = LoadStrategyResult_CodePeriod(day, resultName, codes[i]); result.AddStrategyResult_Code(result_Code); } return(result); }
public virtual IStrategyResult ApplyStrategies(List<IDiscoveryStrategy> strategies) { IStrategyResult strategyResult = new StrategyResult(); foreach (IDiscoveryStrategy strategy in strategies) { strategyResult = ApplyStrategy(strategy); if (StrategyManager.CancellationPending) { return strategyResult; } if (strategyResult.Count > 0) { // Stop processing once result found; return strategyResult; } } return strategyResult; }
public void Initialize() { _matrix = new List <float[]>(); _lastResult = StrategyResult.None; _newSLValue = null; }
public StrategyResult Execute(ISerializable info = null) { return(StrategyResult.FromStrategyExecute(this, info)); }