Changeset 9176 for branches/HeuristicLab.Problems.DataAnalysis.Trading/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Views/TradingSolutionLineChartView.cs
- Timestamp:
- 01/22/13 13:39:17 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.DataAnalysis.Trading/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Views/TradingSolutionLineChartView.cs
r6861 r9176 33 33 [View("Line Chart")] 34 34 [Content(typeof(ITradingSolution))] 35 public partial class TradingSolutionLineChartView : ItemView, ITradingSolutionEvaluationView {35 public partial class TradingSolutionLineChartView : DataAnalysisSolutionEvaluationView, ITradingSolutionEvaluationView { 36 36 private const string PRICEVARIABLE_SERIES_NAME = "Price"; 37 37 private const string SIGNALS_SERIES_NAME = "Signals"; 38 38 private const string ASSET_SERIES_NAME = "Asset"; 39 39 40 40 41 public new ITradingSolution Content { … … 72 73 this.chart.Series[SIGNALS_SERIES_NAME].Tag = Content; 73 74 74 IEnumerable<double> accumulatedPrice = GetAccumulatedPrices(Content.ProblemData.Dataset.Get VariableValues(Content.ProblemData.PriceVariable));75 IEnumerable<double> accumulatedPrice = GetAccumulatedPrices(Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.PriceVariable)); 75 76 this.chart.Series.Add(PRICEVARIABLE_SERIES_NAME); 76 77 this.chart.Series[PRICEVARIABLE_SERIES_NAME].LegendText = PRICEVARIABLE_SERIES_NAME; … … 79 80 this.chart.Series[PRICEVARIABLE_SERIES_NAME].Tag = Content; 80 81 81 IEnumerable<double> profit = GetProfits(Content.ProblemData.Dataset.Get VariableValues(Content.ProblemData.PriceVariable), Content.Signals, Content.ProblemData.TransactionCosts);82 IEnumerable<double> profit = GetProfits(Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.PriceVariable), Content.Signals, Content.ProblemData.TransactionCosts); 82 83 IEnumerable<double> accumulatedProfits = GetAccumulatedPrices(profit); 83 84 this.chart.Series.Add(ASSET_SERIES_NAME); … … 94 95 95 96 private IEnumerable<double> GetProfits(IEnumerable<double> returns, IEnumerable<double> signals, double transactionCost) { 96 double p =signals.First();97 int p = (int)signals.First(); 97 98 yield return 0.0; 98 99 foreach (var signalReturn in returns.Skip(1).Zip(signals.Skip(1), (r, s) => new { Return = r, Signal = s })) { … … 118 119 iterationReturn = -actualReturn; 119 120 } else if (p == -1 && signal.IsAlmost(0)) { 120 iterationReturn = - (actualReturn - transactionCost);121 iterationReturn = -actualReturn - transactionCost; 121 122 p = 0; 122 123 } else if (p == -1 && signal.IsAlmost(1)) { 123 iterationReturn = - (actualReturn - transactionCost);124 iterationReturn = -actualReturn - transactionCost; 124 125 p = 1; 125 126 }
Note: See TracChangeset
for help on using the changeset viewer.