Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/22/13 13:39:17 (11 years ago)
Author:
gkronber
Message:

#1508 updated trading plugin to work with current trunk version

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.DataAnalysis.Trading/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Views/TradingSolutionLineChartView.cs

    r6861 r9176  
    3333  [View("Line Chart")]
    3434  [Content(typeof(ITradingSolution))]
    35   public partial class TradingSolutionLineChartView : ItemView, ITradingSolutionEvaluationView {
     35  public partial class TradingSolutionLineChartView : DataAnalysisSolutionEvaluationView, ITradingSolutionEvaluationView {
    3636    private const string PRICEVARIABLE_SERIES_NAME = "Price";
    3737    private const string SIGNALS_SERIES_NAME = "Signals";
    3838    private const string ASSET_SERIES_NAME = "Asset";
     39
    3940
    4041    public new ITradingSolution Content {
     
    7273        this.chart.Series[SIGNALS_SERIES_NAME].Tag = Content;
    7374
    74         IEnumerable<double> accumulatedPrice = GetAccumulatedPrices(Content.ProblemData.Dataset.GetVariableValues(Content.ProblemData.PriceVariable));
     75        IEnumerable<double> accumulatedPrice = GetAccumulatedPrices(Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.PriceVariable));
    7576        this.chart.Series.Add(PRICEVARIABLE_SERIES_NAME);
    7677        this.chart.Series[PRICEVARIABLE_SERIES_NAME].LegendText = PRICEVARIABLE_SERIES_NAME;
     
    7980        this.chart.Series[PRICEVARIABLE_SERIES_NAME].Tag = Content;
    8081
    81         IEnumerable<double> profit = GetProfits(Content.ProblemData.Dataset.GetVariableValues(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);
    8283        IEnumerable<double> accumulatedProfits = GetAccumulatedPrices(profit);
    8384        this.chart.Series.Add(ASSET_SERIES_NAME);
     
    9495
    9596    private IEnumerable<double> GetProfits(IEnumerable<double> returns, IEnumerable<double> signals, double transactionCost) {
    96       double p = signals.First();
     97      int p = (int)signals.First();
    9798      yield return 0.0;
    9899      foreach (var signalReturn in returns.Skip(1).Zip(signals.Skip(1), (r, s) => new { Return = r, Signal = s })) {
     
    118119          iterationReturn = -actualReturn;
    119120        } else if (p == -1 && signal.IsAlmost(0)) {
    120           iterationReturn = -(actualReturn - transactionCost);
     121          iterationReturn = -actualReturn - transactionCost;
    121122          p = 0;
    122123        } else if (p == -1 && signal.IsAlmost(1)) {
    123           iterationReturn = -(actualReturn - transactionCost);
     124          iterationReturn = -actualReturn - transactionCost;
    124125          p = 1;
    125126        }
Note: See TracChangeset for help on using the changeset viewer.