Free cookie consent management tool by TermsFeed Policy Generator

Changeset 10020


Ignore:
Timestamp:
10/02/13 17:04:43 (11 years ago)
Author:
gkronber
Message:

#1508: merged r9804:9805,r9808:9809,r9811:9812,r9822,r9824:9825,r9897,r9928,r9938:9941,r9964:9965,r9989,r9991:9992,r9995,r9997,r10004:10015 from trunk into stable branch.

Location:
stable
Files:
3 deleted
32 edited
3 copied

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab 3.3.sln

    r9856 r10020  
    2828    {B7FA451C-26BF-4EE5-8E0E-BECAADA5B8E9} = {B7FA451C-26BF-4EE5-8E0E-BECAADA5B8E9}
    2929    {E226881D-315F-423D-B419-A766FE0D8685} = {E226881D-315F-423D-B419-A766FE0D8685}
     30    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F} = {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}
    3031    {D34A7620-3E23-40D9-8647-637BE901F271} = {D34A7620-3E23-40D9-8647-637BE901F271}
    3132    {F62BCD22-FB83-4444-9401-8031C2487A86} = {F62BCD22-FB83-4444-9401-8031C2487A86}
     
    130131    {BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937} = {BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}
    131132    {6AE0E1F5-D3FF-43A3-90E1-2435E7493FB5} = {6AE0E1F5-D3FF-43A3-90E1-2435E7493FB5}
     133    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32} = {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}
    132134  EndProjectSection
    133135EndProject
     
    372374EndProject
    373375Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Algorithms.CMAEvolutionStrategy-3.3", "HeuristicLab.Algorithms.CMAEvolutionStrategy\3.3\HeuristicLab.Algorithms.CMAEvolutionStrategy-3.3.csproj", "{5E516C4F-9935-437F-8B15-ECEF4451744E}"
     376EndProject
     377Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.DataAnalysis.Trading-3.4", "HeuristicLab.Problems.DataAnalysis.Trading\3.4\HeuristicLab.Problems.DataAnalysis.Trading-3.4.csproj", "{E4EE5AFB-D552-447B-8A16-6CBE7938AF32}"
     378EndProject
     379Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.DataAnalysis.Trading.Views-3.4", "HeuristicLab.Problems.DataAnalysis.Trading.Views\3.4\HeuristicLab.Problems.DataAnalysis.Trading.Views-3.4.csproj", "{CB3D0A1E-1BE8-476B-A53C-2B189E30064F}"
    374380EndProject
    375381Global
     
    18111817    {5E516C4F-9935-437F-8B15-ECEF4451744E}.Release|x86.ActiveCfg = Release|x86
    18121818    {5E516C4F-9935-437F-8B15-ECEF4451744E}.Release|x86.Build.0 = Release|x86
     1819    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     1820    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Debug|Any CPU.Build.0 = Debug|Any CPU
     1821    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Debug|x64.ActiveCfg = Debug|x64
     1822    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Debug|x64.Build.0 = Debug|x64
     1823    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Debug|x86.ActiveCfg = Debug|x86
     1824    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Debug|x86.Build.0 = Debug|x86
     1825    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Release|Any CPU.ActiveCfg = Release|Any CPU
     1826    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Release|Any CPU.Build.0 = Release|Any CPU
     1827    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Release|x64.ActiveCfg = Release|x64
     1828    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Release|x64.Build.0 = Release|x64
     1829    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Release|x86.ActiveCfg = Release|x86
     1830    {E4EE5AFB-D552-447B-8A16-6CBE7938AF32}.Release|x86.Build.0 = Release|x86
     1831    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     1832    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Debug|Any CPU.Build.0 = Debug|Any CPU
     1833    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Debug|x64.ActiveCfg = Debug|x64
     1834    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Debug|x64.Build.0 = Debug|x64
     1835    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Debug|x86.ActiveCfg = Debug|x86
     1836    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Debug|x86.Build.0 = Debug|x86
     1837    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Release|Any CPU.ActiveCfg = Release|Any CPU
     1838    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Release|Any CPU.Build.0 = Release|Any CPU
     1839    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Release|x64.ActiveCfg = Release|x64
     1840    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Release|x64.Build.0 = Release|x64
     1841    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Release|x86.ActiveCfg = Release|x86
     1842    {CB3D0A1E-1BE8-476B-A53C-2B189E30064F}.Release|x86.Build.0 = Release|x86
    18131843  EndGlobalSection
    18141844  GlobalSection(SolutionProperties) = preSolution
  • stable/HeuristicLab.Problems.DataAnalysis.Symbolic

  • stable/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentExpressionGrammar.cs

    r9459 r10020  
    251251      Symbols.First(s => s.Name == SpecialFunctionsName).Enabled = false;
    252252
    253 
     253      Symbols.Single(s => s.Name == "Variable").Enabled = false;
    254254      Symbols.First(s => s.Name == TimeSeriesSymbolsName).Enabled = true;
    255255      Symbols.First(s => s is Derivative).Enabled = false;
  • stable/HeuristicLab.Problems.DataAnalysis.Trading.Views/3.4/HeuristicLab.Problems.DataAnalysis.Trading.Views-3.4.csproj

    r9799 r10020  
    4141    <DebugType>full</DebugType>
    4242    <Optimize>false</Optimize>
    43     <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
     43    <OutputPath>..\..\bin\</OutputPath>
    4444    <DefineConstants>DEBUG;TRACE</DefineConstants>
    4545    <ErrorReport>prompt</ErrorReport>
     
    5050    <DebugType>pdbonly</DebugType>
    5151    <Optimize>true</Optimize>
    52     <OutputPath>bin\Release\</OutputPath>
     52    <OutputPath>..\..\bin\</OutputPath>
    5353    <DefineConstants>TRACE</DefineConstants>
    5454    <ErrorReport>prompt</ErrorReport>
     
    5858  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
    5959    <DebugSymbols>true</DebugSymbols>
    60     <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
     60    <OutputPath>..\..\bin\</OutputPath>
    6161    <DefineConstants>DEBUG;TRACE</DefineConstants>
    6262    <DebugType>full</DebugType>
     
    6666  </PropertyGroup>
    6767  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
    68     <OutputPath>bin\x64\Release\</OutputPath>
     68    <OutputPath>..\..\bin\</OutputPath>
    6969    <DefineConstants>TRACE</DefineConstants>
    7070    <Optimize>true</Optimize>
     
    7676  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    7777    <DebugSymbols>true</DebugSymbols>
    78     <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
     78    <OutputPath>..\..\bin\</OutputPath>
    7979    <DefineConstants>DEBUG;TRACE</DefineConstants>
    8080    <DebugType>full</DebugType>
     
    8484  </PropertyGroup>
    8585  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
    86     <OutputPath>bin\x86\Release\</OutputPath>
     86    <OutputPath>..\..\bin\</OutputPath>
    8787    <DefineConstants>TRACE</DefineConstants>
    8888    <Optimize>true</Optimize>
     
    9393  </PropertyGroup>
    9494  <ItemGroup>
    95     <Reference Include="HeuristicLab.Collections-3.3">
    96       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath>
    97     </Reference>
    98     <Reference Include="HeuristicLab.Common-3.3">
    99       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
    100     </Reference>
    101     <Reference Include="HeuristicLab.Common.Resources-3.3">
    102       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath>
    103     </Reference>
    104     <Reference Include="HeuristicLab.Core-3.3">
    105       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
    106     </Reference>
    107     <Reference Include="HeuristicLab.Core.Views-3.3">
    108       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Core.Views-3.3.dll</HintPath>
    109     </Reference>
    110     <Reference Include="HeuristicLab.Data-3.3">
    111       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath>
    112     </Reference>
    113     <Reference Include="HeuristicLab.MainForm-3.3">
    114       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm-3.3.dll</HintPath>
    115     </Reference>
    116     <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3">
    117       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
    118     </Reference>
    119     <Reference Include="HeuristicLab.Optimization-3.3">
    120       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath>
    121     </Reference>
    122     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    123       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    124     </Reference>
    125     <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
    126       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
    127     </Reference>
    128     <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4">
    129       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll</HintPath>
    130     </Reference>
    131     <Reference Include="HeuristicLab.Problems.DataAnalysis.Views-3.4">
    132       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Views-3.4.dll</HintPath>
    133     </Reference>
    134     <Reference Include="HeuristicLab.Visualization.ChartControlsExtensions-3.3">
    135       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Visualization.ChartControlsExtensions-3.3.dll</HintPath>
    136     </Reference>
    13795    <Reference Include="System" />
    13896    <Reference Include="System.Core">
     
    156114    </Compile>
    157115    <Compile Include="SolutionView.Designer.cs">
    158       <DependentUpon>SolutionView.cs</DependentUpon>
    159     </Compile>
    160     <Compile Include="Symbolic\SolutionView.cs">
    161       <SubType>UserControl</SubType>
    162     </Compile>
    163     <Compile Include="Symbolic\SolutionView.Designer.cs">
    164116      <DependentUpon>SolutionView.cs</DependentUpon>
    165117    </Compile>
     
    186138    </BootstrapperPackage>
    187139  </ItemGroup>
    188   <ItemGroup>
    189     <Folder Include="Symbolic\Interfaces\" />
    190     <Folder Include="Symbolic\SingleObjective\" />
    191     <Folder Include="Symbolic\Views\" />
    192   </ItemGroup>
    193   <ItemGroup>
     140  <ItemGroup />
     141  <ItemGroup>
     142    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
     143      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
     144      <Name>HeuristicLab.Collections-3.3</Name>
     145      <Private>False</Private>
     146    </ProjectReference>
     147    <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">
     148      <Project>{0e27a536-1c4a-4624-a65e-dc4f4f23e3e1}</Project>
     149      <Name>HeuristicLab.Common.Resources-3.3</Name>
     150      <Private>False</Private>
     151    </ProjectReference>
     152    <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
     153      <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
     154      <Name>HeuristicLab.Common-3.3</Name>
     155      <Private>False</Private>
     156    </ProjectReference>
     157    <ProjectReference Include="..\..\HeuristicLab.Core.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">
     158      <Project>{e226881d-315f-423d-b419-a766fe0d8685}</Project>
     159      <Name>HeuristicLab.Core.Views-3.3</Name>
     160      <Private>False</Private>
     161    </ProjectReference>
     162    <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
     163      <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
     164      <Name>HeuristicLab.Core-3.3</Name>
     165      <Private>False</Private>
     166    </ProjectReference>
     167    <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
     168      <Project>{bbab9df5-5ef3-4ba8-ade9-b36e82114937}</Project>
     169      <Name>HeuristicLab.Data-3.3</Name>
     170      <Private>False</Private>
     171    </ProjectReference>
     172    <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.3\HeuristicLab.MainForm.WindowsForms-3.3.csproj">
     173      <Project>{ab687bbe-1bfe-476b-906d-44237135431d}</Project>
     174      <Name>HeuristicLab.MainForm.WindowsForms-3.3</Name>
     175      <Private>False</Private>
     176    </ProjectReference>
     177    <ProjectReference Include="..\..\HeuristicLab.MainForm\3.3\HeuristicLab.MainForm-3.3.csproj">
     178      <Project>{3bd61258-31da-4b09-89c0-4f71fef5f05a}</Project>
     179      <Name>HeuristicLab.MainForm-3.3</Name>
     180      <Private>False</Private>
     181    </ProjectReference>
     182    <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
     183      <Project>{14ab8d24-25bc-400c-a846-4627aa945192}</Project>
     184      <Name>HeuristicLab.Optimization-3.3</Name>
     185      <Private>False</Private>
     186    </ProjectReference>
     187    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
     188      <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project>
     189      <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
     190      <Private>False</Private>
     191    </ProjectReference>
     192    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
     193      <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project>
     194      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
     195      <Private>False</Private>
     196    </ProjectReference>
    194197    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Trading\3.4\HeuristicLab.Problems.DataAnalysis.Trading-3.4.csproj">
    195       <Project>{E4EE5AFB-D552-447B-8A16-6CBE7938AF32}</Project>
     198      <Project>{e4ee5afb-d552-447b-8a16-6cbe7938af32}</Project>
    196199      <Name>HeuristicLab.Problems.DataAnalysis.Trading-3.4</Name>
     200      <Private>False</Private>
     201    </ProjectReference>
     202    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Views\3.4\HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj">
     203      <Project>{3e9e8944-44ff-40bb-a622-3a4a7dd0f198}</Project>
     204      <Name>HeuristicLab.Problems.DataAnalysis.Views-3.4</Name>
     205      <Private>False</Private>
     206    </ProjectReference>
     207    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
     208      <Project>{df87c13e-a889-46ff-8153-66dcaa8c5674}</Project>
     209      <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
     210      <Private>False</Private>
     211    </ProjectReference>
     212    <ProjectReference Include="..\..\HeuristicLab.Visualization.ChartControlsExtensions\3.3\HeuristicLab.Visualization.ChartControlsExtensions-3.3.csproj">
     213      <Project>{315bda09-3f4f-49b3-9790-b37cfc1c5750}</Project>
     214      <Name>HeuristicLab.Visualization.ChartControlsExtensions-3.3</Name>
     215      <Private>False</Private>
    197216    </ProjectReference>
    198217  </ItemGroup>
     
    206225  -->
    207226  <PropertyGroup>
    208     <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
    209 set ProjectDir=$(ProjectDir)
    210 set SolutionDir=$(SolutionDir)
    211 set Outdir=$(Outdir)
     227    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
     228      set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
     229      set ProjectDir=$(ProjectDir)
     230      set SolutionDir=$(SolutionDir)
     231      set Outdir=$(Outdir)
    212232
    213 call PreBuildEvent.cmd
    214 </PreBuildEvent>
     233      call PreBuildEvent.cmd
     234    </PreBuildEvent>
     235    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
     236      export ProjectDir=$(ProjectDir)
     237      export SolutionDir=$(SolutionDir)
     238
     239      $SolutionDir/PreBuildEvent.sh
     240    </PreBuildEvent>
    215241  </PropertyGroup>
    216242</Project>
  • stable/HeuristicLab.Problems.DataAnalysis.Trading.Views/3.4/Plugin.cs.frame

    r9799 r10020  
    2626  [PluginFile("HeuristicLab.Problems.DataAnalysis.Trading.Views-3.4.dll", PluginFileType.Assembly)]
    2727
    28   [PluginDependency("HeuristicLab.Collections", "3.3")]
    29   [PluginDependency("HeuristicLab.Common", "3.3")]
    3028  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
    31   [PluginDependency("HeuristicLab.Core", "3.3")]
    3229  [PluginDependency("HeuristicLab.Core.Views", "3.3")]
    3330  [PluginDependency("HeuristicLab.Data", "3.3")]
    34   [PluginDependency("HeuristicLab.Data.Views", "3.3")]
    35   [PluginDependency("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding", "3.4")]
    3631  [PluginDependency("HeuristicLab.MainForm", "3.3")]
    3732  [PluginDependency("HeuristicLab.MainForm.WindowsForms", "3.3")]
    38   [PluginDependency("HeuristicLab.Operators", "3.3")]
    3933  [PluginDependency("HeuristicLab.Optimization", "3.3")]
    40   [PluginDependency("HeuristicLab.Parameters", "3.3")]
    41   [PluginDependency("HeuristicLab.Persistence", "3.3")]
    4234  [PluginDependency("HeuristicLab.Problems.DataAnalysis", "3.4")]
    43   [PluginDependency("HeuristicLab.Problems.DataAnalysis.Symbolic", "3.4")]
    4435  [PluginDependency("HeuristicLab.Problems.DataAnalysis.Views", "3.4")]
    45   [PluginDependency("HeuristicLab.Problems.Instances", "3.3")]
    4636  [PluginDependency("HeuristicLab.Problems.DataAnalysis.Trading", "3.4")]
    4737  [PluginDependency("HeuristicLab.Visualization.ChartControlsExtensions", "3.3")]
  • stable/HeuristicLab.Problems.DataAnalysis.Trading.Views/3.4/Properties

    • Property svn:ignore set to
      AssemblyInfo.cs
  • stable/HeuristicLab.Problems.DataAnalysis.Trading.Views/3.4/SolutionLineChartView.cs

    r9796 r10020  
    5353      this.chart.ChartAreas[0].CursorY.IsUserSelectionEnabled = true;
    5454      this.chart.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
     55      this.chart.ChartAreas[0].AxisY.IntervalAutoMode = IntervalAutoMode.VariableCount;
     56      this.chart.ChartAreas[0].AxisY2.ScaleView.Zoomable = false;
     57      this.chart.ChartAreas[0].AxisY2.IntervalAutoMode = IntervalAutoMode.VariableCount;
     58      this.chart.ChartAreas[0].AxisY2.LabelStyle.Enabled = false;
     59      this.chart.ChartAreas[0].AxisY2.MajorGrid.Enabled = false;
     60      this.chart.ChartAreas[0].AxisY2.MinorGrid.Enabled = false;
     61      this.chart.ChartAreas[0].AxisY2.MajorTickMark.Enabled = false;
     62      this.chart.ChartAreas[0].AxisY2.MinorTickMark.Enabled = false;
    5563      this.chart.ChartAreas[0].CursorY.Interval = 0;
    5664    }
     
    5967      this.chart.Series.Clear();
    6068      if (Content != null) {
     69        var trainingRows = Content.ProblemData.TrainingIndices;
     70        var testRows = Content.ProblemData.TestIndices;
    6171        this.chart.Series.Add(SIGNALS_SERIES_NAME);
     72        this.chart.Series[SIGNALS_SERIES_NAME].YAxisType = AxisType.Secondary;
    6273        this.chart.Series[SIGNALS_SERIES_NAME].LegendText = SIGNALS_SERIES_NAME;
    6374        this.chart.Series[SIGNALS_SERIES_NAME].ChartType = SeriesChartType.FastLine;
    64         this.chart.Series[SIGNALS_SERIES_NAME].Points.DataBindY(Content.Signals.ToArray());
     75        this.chart.Series[SIGNALS_SERIES_NAME].Points.DataBindXY(
     76          trainingRows.Concat(testRows).ToArray(),
     77          Content.TrainingSignals.Concat(Content.TestSignals).ToArray());
    6578        this.chart.Series[SIGNALS_SERIES_NAME].Tag = Content;
    6679
    67         IEnumerable<double> accumulatedPrice = GetAccumulatedPrices(Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.PriceVariable));
     80        var trainingPriceChanges = Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.PriceChangeVariable,
     81                                                                               trainingRows);
     82        var testPriceChanges = Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.PriceChangeVariable,
     83                                                                               testRows);
     84        IEnumerable<double> accumulatedTrainingPrice = GetAccumulatedProfits(trainingPriceChanges);
     85        IEnumerable<double> accumulatedTestPrice = GetAccumulatedProfits(testPriceChanges);
    6886        this.chart.Series.Add(PRICEVARIABLE_SERIES_NAME);
     87        this.chart.Series[PRICEVARIABLE_SERIES_NAME].YAxisType = AxisType.Primary;
    6988        this.chart.Series[PRICEVARIABLE_SERIES_NAME].LegendText = PRICEVARIABLE_SERIES_NAME;
    7089        this.chart.Series[PRICEVARIABLE_SERIES_NAME].ChartType = SeriesChartType.FastLine;
    71         this.chart.Series[PRICEVARIABLE_SERIES_NAME].Points.DataBindY(accumulatedPrice.ToArray());
     90        this.chart.Series[PRICEVARIABLE_SERIES_NAME].Points.DataBindXY(
     91          trainingRows.Concat(testRows).ToArray(),
     92          accumulatedTrainingPrice.Concat(accumulatedTestPrice).ToArray());
    7293        this.chart.Series[PRICEVARIABLE_SERIES_NAME].Tag = Content;
    7394
    74         IEnumerable<double> profit = OnlineProfitCalculator.GetProfits(Content.ProblemData.Dataset.GetDoubleValues(Content.ProblemData.PriceVariable), Content.Signals, Content.ProblemData.TransactionCosts);
    75         IEnumerable<double> accumulatedProfits = GetAccumulatedPrices(profit);
     95
     96        IEnumerable<double> trainingProfit = OnlineProfitCalculator.GetProfits(trainingPriceChanges, Content.TrainingSignals, Content.ProblemData.TransactionCosts);
     97        IEnumerable<double> testProfit = OnlineProfitCalculator.GetProfits(testPriceChanges, Content.TestSignals, Content.ProblemData.TransactionCosts);
     98        IEnumerable<double> accTrainingProfit = GetAccumulatedProfits(trainingProfit);
     99        IEnumerable<double> accTestProfit = GetAccumulatedProfits(testProfit);
    76100        this.chart.Series.Add(ASSET_SERIES_NAME);
     101        this.chart.Series[ASSET_SERIES_NAME].YAxisType = AxisType.Primary;
    77102        this.chart.Series[ASSET_SERIES_NAME].LegendText = ASSET_SERIES_NAME;
    78103        this.chart.Series[ASSET_SERIES_NAME].ChartType = SeriesChartType.FastLine;
    79         this.chart.Series[ASSET_SERIES_NAME].Points.DataBindY(accumulatedProfits.ToArray());
     104        this.chart.Series[ASSET_SERIES_NAME].Points.DataBindXY(
     105          trainingRows.Concat(testRows).ToArray(),
     106          accTrainingProfit.Concat(accTestProfit).ToArray());
    80107        this.chart.Series[ASSET_SERIES_NAME].Tag = Content;
    81108
     
    84111    }
    85112
    86     private IEnumerable<double> GetAccumulatedPrices(IEnumerable<double> xs) {
     113    private IEnumerable<double> GetAccumulatedProfits(IEnumerable<double> xs) {
    87114      double sum = 0;
    88115      foreach (var x in xs) {
  • stable/HeuristicLab.Problems.DataAnalysis.Trading.Views/3.4/SolutionView.Designer.cs

    r9796 r10020  
    5252      this.detailsGroupBox.SuspendLayout();
    5353      this.SuspendLayout();
     54      this.exportButton.Visible = false;
    5455      //
    5556      // splitContainer
     
    5859      // itemsGroupBox
    5960      //
    60       this.itemsGroupBox.Text = "Regression Solution";
     61      this.itemsGroupBox.Text = "Trading Solution";
    6162      //
    6263      // addButton
     
    7273      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    7374      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    74       this.Name = "RegressionSolutionView";
     75      this.Name = "TradingSolutionView";
    7576      this.splitContainer.Panel1.ResumeLayout(false);
    7677      this.splitContainer.Panel2.ResumeLayout(false);
  • stable/HeuristicLab.Problems.DataAnalysis.Trading.Views/3.4/SolutionView.cs

    r9796 r10020  
    2626
    2727namespace HeuristicLab.Problems.DataAnalysis.Trading.Views {
    28   [View("TradingSolution View")]
     28  [View("Trading Solution View")]
    2929  [Content(typeof(Solution), true)]
    3030  public partial class SolutionView : DataAnalysisSolutionView {
     
    3232      InitializeComponent();
    3333
    34       var regressionSolutionEvaluationViewTypes = ApplicationManager.Manager.GetTypes(typeof(ISolutionEvaluationView), true);
    35       foreach (Type viewType in regressionSolutionEvaluationViewTypes)
     34      var solutionEvaluationViewTypes = ApplicationManager.Manager.GetTypes(typeof(ISolutionEvaluationView));
     35      foreach (Type viewType in solutionEvaluationViewTypes)
    3636        AddViewListViewItem(viewType, HeuristicLab.Common.Resources.VSImageLibrary.Graph);
    3737    }
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Calculators/OnlineProfitCalculator.cs

    r9744 r10020  
    2828  public class OnlineProfitCalculator : IOnlineCalculator {
    2929
    30     private int p;
     30    private int position; // currently held position: -1: short, 0: out of market, 1: long
    3131    private readonly double transactionCost;
    32     private int c;
    33     private double sum;
     32    private int count; // only necessary to reset position and total profit on the first data point
     33    private double totalProfit;
    3434    public double Profit {
    35       get { return sum; }
     35      get { return totalProfit; }
    3636    }
    3737
     
    4949    }
    5050    public void Reset() {
    51       p = 0;
    52       c = 0;
    53       sum = 0.0;
     51      position = 0;
     52      count = 0;
     53      totalProfit = 0.0;
    5454    }
    5555
    5656    public void Add(double actualReturn, double signal) {
    57       double iterationReturn = 0.0;
    58       if (c == 0) {
    59         p = (int)signal;
    60         iterationReturn = 0;
    61         c++;
     57      double profit = 0.0;
     58      if (count == 0) {
     59        position = (int)signal;
     60        profit = 0;
     61        count++;
    6262      } else {
    63         if (p == 0 && signal.IsAlmost(0)) {
    64         } else if (p == 0 && signal.IsAlmost(1)) {
    65           p = 1;
    66           iterationReturn = -transactionCost;
    67         } else if (p == 0 && signal.IsAlmost(-1)) {
    68           p = -1;
    69           iterationReturn = -transactionCost;
    70         } else if (p == 1 && signal.IsAlmost(1)) {
    71           iterationReturn = actualReturn;
    72         } else if (p == 1 && signal.IsAlmost(0)) {
    73           iterationReturn = actualReturn - transactionCost;
    74           p = 0;
    75         } else if (p == 1 && signal.IsAlmost(-1)) {
    76           iterationReturn = actualReturn - transactionCost;
    77           p = -1;
    78         } else if (p == -1 && signal.IsAlmost(-1)) {
    79           iterationReturn = -actualReturn;
    80         } else if (p == -1 && signal.IsAlmost(0)) {
    81           iterationReturn = -actualReturn - transactionCost;
    82           p = 0;
    83         } else if (p == -1 && signal.IsAlmost(1)) {
    84           iterationReturn = -actualReturn - transactionCost;
    85           p = 1;
     63        if (position == 0 && signal.IsAlmost(0)) {
     64        } else if (position == 0 && signal.IsAlmost(1)) {
     65          position = 1;
     66          profit = -transactionCost;
     67        } else if (position == 0 && signal.IsAlmost(-1)) {
     68          position = -1;
     69          profit = -transactionCost;
     70        } else if (position == 1 && signal.IsAlmost(1)) {
     71          profit = actualReturn;
     72        } else if (position == 1 && signal.IsAlmost(0)) {
     73          profit = actualReturn - transactionCost;
     74          position = 0;
     75        } else if (position == 1 && signal.IsAlmost(-1)) {
     76          profit = actualReturn - transactionCost;
     77          position = -1;
     78        } else if (position == -1 && signal.IsAlmost(-1)) {
     79          profit = -actualReturn;
     80        } else if (position == -1 && signal.IsAlmost(0)) {
     81          profit = -actualReturn - transactionCost;
     82          position = 0;
     83        } else if (position == -1 && signal.IsAlmost(1)) {
     84          profit = -actualReturn - transactionCost;
     85          position = 1;
    8686        }
    87         c++;
     87        count++;
    8888      }
    89       sum += iterationReturn;
     89      totalProfit += profit;
    9090    }
    9191    #endregion
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/HeuristicLab.Problems.DataAnalysis.Trading-3.4.csproj

    r9799 r10020  
    4141    <DebugType>full</DebugType>
    4242    <Optimize>false</Optimize>
    43     <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
     43    <OutputPath>..\..\bin\</OutputPath>
    4444    <DefineConstants>DEBUG;TRACE</DefineConstants>
    4545    <ErrorReport>prompt</ErrorReport>
     
    5050    <DebugType>pdbonly</DebugType>
    5151    <Optimize>true</Optimize>
    52     <OutputPath>bin\Release\</OutputPath>
     52    <OutputPath>..\..\bin\</OutputPath>
    5353    <DefineConstants>TRACE</DefineConstants>
    5454    <ErrorReport>prompt</ErrorReport>
     
    5858  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
    5959    <DebugSymbols>true</DebugSymbols>
    60     <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
     60    <OutputPath>..\..\bin\</OutputPath>
    6161    <DefineConstants>DEBUG;TRACE</DefineConstants>
    6262    <DebugType>full</DebugType>
     
    6666  </PropertyGroup>
    6767  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
    68     <OutputPath>bin\x64\Release\</OutputPath>
     68    <OutputPath>..\..\bin\</OutputPath>
    6969    <DefineConstants>TRACE</DefineConstants>
    7070    <Optimize>true</Optimize>
     
    7676  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    7777    <DebugSymbols>true</DebugSymbols>
    78     <OutputPath>..\..\..\..\trunk\sources\bin\</OutputPath>
     78    <OutputPath>..\..\bin\</OutputPath>
    7979    <DefineConstants>DEBUG;TRACE</DefineConstants>
    8080    <DebugType>full</DebugType>
     
    8484  </PropertyGroup>
    8585  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
    86     <OutputPath>bin\x86\Release\</OutputPath>
     86    <OutputPath>..\..\bin\</OutputPath>
    8787    <DefineConstants>TRACE</DefineConstants>
    8888    <Optimize>true</Optimize>
     
    9393  </PropertyGroup>
    9494  <ItemGroup>
    95     <Reference Include="HeuristicLab.Collections-3.3">
    96       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath>
    97     </Reference>
    98     <Reference Include="HeuristicLab.Common-3.3">
    99       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
    100     </Reference>
    101     <Reference Include="HeuristicLab.Core-3.3">
    102       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
    103     </Reference>
    104     <Reference Include="HeuristicLab.Data-3.3">
    105       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath>
    106     </Reference>
    107     <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4">
    108       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
    109     </Reference>
    110     <Reference Include="HeuristicLab.Operators-3.3">
    111       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Operators-3.3.dll</HintPath>
    112     </Reference>
    113     <Reference Include="HeuristicLab.Optimization-3.3">
    114       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath>
    115     </Reference>
    116     <Reference Include="HeuristicLab.Parameters-3.3">
    117       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Parameters-3.3.dll</HintPath>
    118     </Reference>
    119     <Reference Include="HeuristicLab.Persistence-3.3">
    120       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
    121     </Reference>
    122     <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
    123       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    124     </Reference>
    125     <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
    126       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
    127     </Reference>
    128     <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4">
    129       <HintPath>c:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll</HintPath>
    130     </Reference>
    131     <Reference Include="HeuristicLab.Problems.Instances-3.3">
    132       <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.Instances-3.3.dll</HintPath>
    133     </Reference>
    13495    <Reference Include="System" />
    13596    <Reference Include="System.Core">
     
    13798    </Reference>
    13899    <Reference Include="System.Drawing" />
     100    <Reference Include="System.Xml" />
    139101  </ItemGroup>
    140102  <ItemGroup>
    141103    <Compile Include="Calculators\OnlineProfitCalculator.cs" />
    142104    <Compile Include="Calculators\OnlineSharpeRatioCalculator.cs" />
     105    <Compile Include="InstanceProviders\CsvProblemInstanceProvider.cs" />
     106    <Compile Include="InstanceProviders\EcbProblemInstanceProvider.cs" />
    143107    <Compile Include="Interfaces\IModel.cs" />
    144108    <Compile Include="Interfaces\IProblem.cs" />
     
    146110    <Compile Include="Interfaces\ISolution.cs" />
    147111    <Compile Include="Plugin.cs" />
    148     <Compile Include="Problem.cs" />
    149112    <Compile Include="ProblemData.cs" />
    150113    <Compile Include="Solution.cs" />
     
    183146    </BootstrapperPackage>
    184147  </ItemGroup>
    185   <ItemGroup />
     148  <ItemGroup>
     149    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
     150      <Project>{958b43bc-cc5c-4fa2-8628-2b3b01d890b6}</Project>
     151      <Name>HeuristicLab.Collections-3.3</Name>
     152      <Private>False</Private>
     153    </ProjectReference>
     154    <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
     155      <Project>{a9ad58b9-3ef9-4cc1-97e5-8d909039ff5c}</Project>
     156      <Name>HeuristicLab.Common-3.3</Name>
     157      <Private>False</Private>
     158    </ProjectReference>
     159    <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
     160      <Project>{c36bd924-a541-4a00-afa8-41701378ddc5}</Project>
     161      <Name>HeuristicLab.Core-3.3</Name>
     162      <Private>False</Private>
     163    </ProjectReference>
     164    <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
     165      <Project>{bbab9df5-5ef3-4ba8-ade9-b36e82114937}</Project>
     166      <Name>HeuristicLab.Data-3.3</Name>
     167      <Private>False</Private>
     168    </ProjectReference>
     169    <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj">
     170      <Project>{06d4a186-9319-48a0-bade-a2058d462eea}</Project>
     171      <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name>
     172      <Private>False</Private>
     173    </ProjectReference>
     174    <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
     175      <Project>{23da7ff4-d5b8-41b6-aa96-f0561d24f3ee}</Project>
     176      <Name>HeuristicLab.Operators-3.3</Name>
     177      <Private>False</Private>
     178    </ProjectReference>
     179    <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">
     180      <Project>{14ab8d24-25bc-400c-a846-4627aa945192}</Project>
     181      <Name>HeuristicLab.Optimization-3.3</Name>
     182      <Private>False</Private>
     183    </ProjectReference>
     184    <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">
     185      <Project>{56f9106a-079f-4c61-92f6-86a84c2d84b7}</Project>
     186      <Name>HeuristicLab.Parameters-3.3</Name>
     187      <Private>False</Private>
     188    </ProjectReference>
     189    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
     190      <Project>{102bc7d3-0ef9-439c-8f6d-96ff0fdb8e1b}</Project>
     191      <Name>HeuristicLab.Persistence-3.3</Name>
     192      <Private>False</Private>
     193    </ProjectReference>
     194    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
     195      <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project>
     196      <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
     197      <Private>False</Private>
     198    </ProjectReference>
     199    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
     200      <Project>{3d28463f-ec96-4d82-afee-38be91a0ca00}</Project>
     201      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
     202      <Private>False</Private>
     203    </ProjectReference>
     204    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
     205      <Project>{df87c13e-a889-46ff-8153-66dcaa8c5674}</Project>
     206      <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
     207      <Private>False</Private>
     208    </ProjectReference>
     209    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances.DataAnalysis\3.3\HeuristicLab.Problems.Instances.DataAnalysis-3.3.csproj">
     210      <Project>{94C7714E-29D4-4D6D-B213-2C18D627AB75}</Project>
     211      <Name>HeuristicLab.Problems.Instances.DataAnalysis-3.3</Name>
     212    </ProjectReference>
     213    <ProjectReference Include="..\..\HeuristicLab.Problems.Instances\3.3\HeuristicLab.Problems.Instances-3.3.csproj">
     214      <Project>{3540E29E-4793-49E7-8EE2-FEA7F61C3994}</Project>
     215      <Name>HeuristicLab.Problems.Instances-3.3</Name>
     216      <Private>False</Private>
     217    </ProjectReference>
     218  </ItemGroup>
    186219  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    187220  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
     
    193226  -->
    194227  <PropertyGroup>
    195     <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
    196 set ProjectDir=$(ProjectDir)
    197 set SolutionDir=$(SolutionDir)
    198 set Outdir=$(Outdir)
     228    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">
     229      set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
     230      set ProjectDir=$(ProjectDir)
     231      set SolutionDir=$(SolutionDir)
     232      set Outdir=$(Outdir)
    199233
    200 call PreBuildEvent.cmd
    201 </PreBuildEvent>
     234      call PreBuildEvent.cmd
     235    </PreBuildEvent>
     236    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
     237      export ProjectDir=$(ProjectDir)
     238      export SolutionDir=$(SolutionDir)
     239
     240      $SolutionDir/PreBuildEvent.sh
     241    </PreBuildEvent>
    202242  </PropertyGroup>
    203243</Project>
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/InstanceProviders/EcbProblemInstanceProvider.cs

    r9997 r10020  
    110110          }
    111111      }
     112      // keep only the rows with data for this exchange rate
     113      if (tList.Count > dList.Count)
     114        tList.RemoveRange(dList.Count, tList.Count - dList.Count);
     115      else if (dList.Count > tList.Count)
     116        dList.RemoveRange(tList.Count, dList.Count - tList.Count);
     117
    112118      // entries in ECB XML are ordered most recent first => reverse lists
    113119      tList.Reverse();
    114120      dList.Reverse();
     121
    115122      // calculate exchange rate deltas
    116123      var changes = new[] { 0.0 } // first element
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Interfaces/IProblemData.cs

    r9745 r10020  
    2222namespace HeuristicLab.Problems.DataAnalysis.Trading {
    2323  public interface IProblemData : IDataAnalysisProblemData {
    24     string PriceVariable { get; }
     24    string PriceChangeVariable { get; }
    2525    double TransactionCosts { get; }
    2626  }
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Plugin.cs.frame

    r9799 r10020  
    3838  [PluginDependency("HeuristicLab.Problems.DataAnalysis.Symbolic", "3.4")]
    3939  [PluginDependency("HeuristicLab.Problems.Instances", "3.3")]
     40  [PluginDependency("HeuristicLab.Problems.Instances.DataAnalysis", "3.3")]
    4041  public class Plugin : PluginBase {
    4142  }
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/ProblemData.cs

    r9745 r10020  
    3333  [Item("TradingProblemData", "Represents an item containing all data defining a trading problem.")]
    3434  public sealed class ProblemData : DataAnalysisProblemData, IProblemData {
    35     private const string PriceVariableParameterName = "PriceVariable";
     35    private const string PriceChangeVariableParameterName = "PriceChangeVariable";
    3636    private const string TransactionCostsParameterName = "TransactionCosts";
    3737
     
    15891589
    15901590    static ProblemData() {
    1591       defaultDataset = new Dataset(new string[] { "AUD" }, audInUsdDiff);
     1591      defaultDataset = new Dataset(new string[] { "d(AUD/USD)/dt" }, audInUsdDiff);
    15921592      defaultDataset.Name = "AUD in USD";
    1593       defaultDataset.Description = "Price of Australian dollar in US dollar.";
    1594       defaultAllowedInputVariables = new List<string>() { "AUD" };
    1595       defaultPriceVariable = "AUD";
     1593      defaultDataset.Description = "Australian dollar in US dollar.";
     1594      defaultAllowedInputVariables = new List<string>() { "d(AUD/USD)/dt" };
     1595      defaultPriceVariable = "d(AUD/USD)/dt";
    15961596    }
    15971597    #endregion
    15981598
    1599     public IValueParameter<StringValue> PriceVariableParameter {
    1600       get { return (IValueParameter<StringValue>)Parameters[PriceVariableParameterName]; }
     1599    public IConstrainedValueParameter<StringValue> PriceChangeVariableParameter {
     1600      get { return (IConstrainedValueParameter<StringValue>)Parameters[PriceChangeVariableParameterName]; }
    16011601    }
    16021602    public IValueParameter<DoubleValue> TransactionCostsParameter {
    16031603      get { return (IValueParameter<DoubleValue>)Parameters[TransactionCostsParameterName]; }
    16041604    }
    1605     public string PriceVariable {
    1606       get { return PriceVariableParameter.Value.Value; }
     1605    public string PriceChangeVariable {
     1606      get { return PriceChangeVariableParameter.Value.Value; }
    16071607    }
    16081608    public double TransactionCosts {
     
    16301630      : base(dataset, allowedInputVariables) {
    16311631      var variables = InputVariables.Select(x => x.AsReadOnly()).ToList();
    1632       Parameters.Add(new ConstrainedValueParameter<StringValue>(PriceVariableParameterName, new ItemSet<StringValue>(variables), variables.First(x => x.Value == targetVariable)));
     1632      Parameters.Add(new ConstrainedValueParameter<StringValue>(PriceChangeVariableParameterName, new ItemSet<StringValue>(variables), variables.First(x => x.Value == targetVariable)));
    16331633      Parameters.Add(new FixedValueParameter<DoubleValue>(TransactionCostsParameterName, "The absolute cost of on buy/sell transaction (assumed to be constant and independent of transaction volume)", new DoubleValue(0.0002)));
     1634
     1635      if (dataset.GetReadOnlyDoubleValues(targetVariable).Min() >= 0) throw new ArgumentException("The target variable must contain changes (deltas) of the asset price over time.");
     1636
    16341637      RegisterParameterEvents();
    16351638    }
    16361639
    16371640    private void RegisterParameterEvents() {
    1638       PriceVariableParameter.ValueChanged += new EventHandler(PriceVariableParameter_ValueChanged);
     1641      PriceChangeVariableParameter.ValueChanged += new EventHandler(PriceVariableParameter_ValueChanged);
    16391642      TransactionCostsParameter.Value.ValueChanged += new EventHandler(TransactionCostsParameter_ValueChanged);
    16401643    }
     
    16441647    }
    16451648    private void PriceVariableParameter_ValueChanged(object sender, EventArgs e) {
     1649      if (Dataset.GetReadOnlyDoubleValues(PriceChangeVariable).Min() >= 0) throw new ArgumentException("The target variable must contain changes (deltas) of the asset price over time.");
    16461650      OnChanged();
    16471651    }
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Solution.cs

    r9745 r10020  
    8080    }
    8181
    82 
    83     protected override void OnModelChanged() {
    84       base.OnModelChanged();
    85       RecalculateResults();
    86     }
    87 
    88     protected override void OnProblemDataChanged() {
    89       base.OnProblemDataChanged();
    90       RecalculateResults();
    91     }
    92 
    9382    protected override void RecalculateResults() {
    9483      CalculateTradingResults();
     
    9786    protected void CalculateTradingResults() {
    9887      double[] trainingSignals = TrainingSignals.ToArray(); // cache values
    99       IEnumerable<double> trainingReturns = ProblemData.Dataset.GetDoubleValues(ProblemData.PriceVariable, ProblemData.TrainingIndices);
     88      IEnumerable<double> trainingReturns = ProblemData.Dataset.GetDoubleValues(ProblemData.PriceChangeVariable, ProblemData.TrainingIndices);
    10089      double[] testSignals = TestSignals.ToArray(); // cache values
    101       IEnumerable<double> testReturns = ProblemData.Dataset.GetDoubleValues(ProblemData.PriceVariable, ProblemData.TestIndices);
     90      IEnumerable<double> testReturns = ProblemData.Dataset.GetDoubleValues(ProblemData.PriceChangeVariable, ProblemData.TestIndices);
    10291
    10392      OnlineCalculatorError errorState;
     
    115104
    116105    public virtual IEnumerable<double> Signals {
    117       get {
    118         return GetSignals(Enumerable.Range(0, ProblemData.Dataset.Rows));
    119       }
     106      get { return GetSignals(Enumerable.Range(0, ProblemData.Dataset.Rows)); }
    120107    }
    121 
    122108    public virtual IEnumerable<double> TrainingSignals {
    123       get {
    124         return GetSignals(ProblemData.TrainingIndices);
    125       }
     109      get { return GetSignals(ProblemData.TrainingIndices); }
    126110    }
    127 
    128111    public virtual IEnumerable<double> TestSignals {
    129       get {
    130         return GetSignals(ProblemData.TestIndices);
    131       }
     112      get { return GetSignals(ProblemData.TestIndices); }
    132113    }
    133 
    134114    public virtual IEnumerable<double> GetSignals(IEnumerable<int> rows) {
    135115      return Model.GetSignals(ProblemData.Dataset, rows);
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IEvaluator.cs

    r9745 r10020  
    2020#endregion
    2121
    22 using HeuristicLab.Problems.DataAnalysis.Trading;
     22using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2323
    24 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     24namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    2525  public interface IEvaluator : ISymbolicDataAnalysisEvaluator<IProblemData> {
    2626  }
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/IModel.cs

    r9745 r10020  
    2020#endregion
    2121
    22 using HeuristicLab.Problems.DataAnalysis.Trading;
     22using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2323
    24 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
    25   public interface IModel : DataAnalysis.Trading.IModel, ISymbolicDataAnalysisModel {
     24namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
     25  public interface IModel : Trading.IModel, ISymbolicDataAnalysisModel {
    2626  }
    2727}
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISingleObjectiveEvaluator.cs

    r9745 r10020  
    2020#endregion
    2121
    22 using HeuristicLab.Problems.DataAnalysis.Trading;
     22using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2323
    24 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     24namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    2525  public interface ISingleObjectiveEvaluator : IEvaluator, ISymbolicDataAnalysisSingleObjectiveEvaluator<IProblemData> {
    2626  }
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Interfaces/ISolution.cs

    r9745 r10020  
    2020#endregion
    2121
     22using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2223
    23 using HeuristicLab.Problems.DataAnalysis.Trading;
    24 
    25 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
    26   public interface ISolution : DataAnalysis.Trading.ISolution, ISymbolicDataAnalysisSolution {
     24namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
     25  public interface ISolution : Trading.ISolution, ISymbolicDataAnalysisSolution {
    2726    new IModel Model { get; }
    2827  }
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Model.cs

    r9745 r10020  
    2626using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2727using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     28using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2829
    29 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     30namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    3031  /// <summary>
    3132  /// Represents a symbolic trading model
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/Evaluator.cs

    r9745 r10020  
    2323using HeuristicLab.Common;
    2424using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    25 using HeuristicLab.Problems.DataAnalysis.Trading;
     25using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2626
    27 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     27namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    2828  public abstract class SingleObjectiveEvaluator : SymbolicDataAnalysisSingleObjectiveEvaluator<IProblemData>, ISingleObjectiveEvaluator {
    2929    [StorableConstructor]
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/Problem.cs

    r9745 r10020  
    2323using HeuristicLab.Core;
    2424using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    25 using HeuristicLab.Problems.DataAnalysis.Trading;
     25using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2626
    27 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     27namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    2828  [Item("Symbolic Trading Problem (single objective)", "Represents a single objective symbolic trading problem.")]
    2929  [StorableClass]
     
    4545
    4646      InitializeOperators();
     47      ConfigureGrammarSymbols();
     48    }
     49
     50    private void ConfigureGrammarSymbols() {
     51      var grammar = SymbolicExpressionTreeGrammar as TypeCoherentExpressionGrammar;
     52      if (grammar != null) grammar.ConfigureAsDefaultTimeSeriesPrognosisGrammar();
    4753    }
    4854
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/ProfitEvaluator.cs

    r9745 r10020  
    2121
    2222using System.Collections.Generic;
    23 using System.Linq;
    2423using HeuristicLab.Common;
    2524using HeuristicLab.Core;
     
    2726using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2827using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    29 using HeuristicLab.Problems.DataAnalysis.Trading;
     28using HeuristicLab.Problems.DataAnalysis.Symbolic;
    3029
    31 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     30namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    3231  [Item("Profit Evaluator", "")]
    3332  [StorableClass]
     
    6059    public static double Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, IProblemData problemData, IEnumerable<int> rows) {
    6160      IEnumerable<double> signals = GetSignals(interpreter, solution, problemData.Dataset, rows);
    62       IEnumerable<double> returns = problemData.Dataset.GetDoubleValues(problemData.PriceVariable, rows);
     61      IEnumerable<double> returns = problemData.Dataset.GetDoubleValues(problemData.PriceChangeVariable, rows);
    6362      OnlineCalculatorError errorState;
    6463      double profit = OnlineProfitCalculator.Calculate(returns, signals, problemData.TransactionCosts, out errorState);
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/SharpeRatioEvaluator.cs

    r9745 r10020  
    2121
    2222using System.Collections.Generic;
    23 using System.Linq;
    2423using HeuristicLab.Common;
    2524using HeuristicLab.Core;
     
    2726using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2827using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    29 using HeuristicLab.Problems.DataAnalysis.Trading;
     28using HeuristicLab.Problems.DataAnalysis.Symbolic;
    3029
    31 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     30namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    3231  [Item("Sharpe Ratio Evaluator", "")]
    3332  [StorableClass]
     
    6059    public static double Calculate(ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, ISymbolicExpressionTree solution, IProblemData problemData, IEnumerable<int> rows) {
    6160      IEnumerable<double> signals = GetSignals(interpreter, solution, problemData.Dataset, rows);
    62       IEnumerable<double> returns = problemData.Dataset.GetDoubleValues(problemData.PriceVariable, rows);
     61      IEnumerable<double> returns = problemData.Dataset.GetDoubleValues(problemData.PriceChangeVariable, rows);
    6362      OnlineCalculatorError errorState;
    6463      double sharpRatio = OnlineSharpeRatioCalculator.Calculate(returns, signals, problemData.TransactionCosts, out errorState);
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/TrainingBestSolutionAnalyzer.cs

    r9745 r10020  
    2525using HeuristicLab.Parameters;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    27 using HeuristicLab.Problems.DataAnalysis.Trading;
     27using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2828
    29 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     29namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    3030  /// <summary>
    3131  /// An operator that analyzes the training best symbolic trading solution for single objective symbolic trading problems.
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/SingleObjective/ValidationBestSolutionAnalyzer.cs

    r9745 r10020  
    2424using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2525using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    26 using HeuristicLab.Problems.DataAnalysis.Trading;
     26using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2727
    28 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     28namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    2929  /// <summary>
    3030  /// An operator that analyzes the validation best symbolic trading solution for single objective symbolic trading problems.
  • stable/HeuristicLab.Problems.DataAnalysis.Trading/3.4/Symbolic/Solution.cs

    r9745 r10020  
    2525using HeuristicLab.Optimization;
    2626using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    27 using HeuristicLab.Problems.DataAnalysis.Trading;
     27using HeuristicLab.Problems.DataAnalysis.Symbolic;
    2828
    29 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Trading {
     29namespace HeuristicLab.Problems.DataAnalysis.Trading.Symbolic {
    3030  /// <summary>
    3131  /// Represents a symbolic trading solution (model + data) and attributes of the solution like accuracy and complexity
  • stable/HeuristicLab.Problems.Instances.DataAnalysis

  • stable/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/CSV/RegressionCSVInstanceProvider.cs

    r9651 r10020  
    6262      string targetVar = dataset.DoubleVariables.Last();
    6363
    64       // turn of input variables that are constant in the training partition
     64      // turn off input variables that are constant in the training partition
    6565      var allowedInputVars = new List<string>();
    6666      var trainingIndizes = Enumerable.Range(0, (csvFileParser.Rows * 2) / 3);
  • stable/HeuristicLab.Problems.Instances.Views/3.3/ProblemInstanceProviderViewGeneric.cs

    r9456 r10020  
    2121
    2222using System;
     23using System.ComponentModel;
    2324using System.Linq;
     25using System.Threading.Tasks;
    2426using System.Windows.Forms;
    2527using HeuristicLab.MainForm;
     
    8890
    8991    private void instancesComboBox_SelectionChangeCommitted(object sender, System.EventArgs e) {
     92      toolTip.SetToolTip(instancesComboBox, String.Empty);
    9093      if (instancesComboBox.SelectedIndex >= 0) {
    9194        var descriptor = (IDataDescriptor)instancesComboBox.SelectedItem;
    92         T instance = Content.LoadData(descriptor);
    93         try {
    94           GenericConsumer.Load(instance);
    95         } catch (Exception ex) {
    96           ErrorHandling.ShowErrorDialog(String.Format("This problem does not support loading the instance {0}", descriptor.Name), ex);
    97         }
    98         toolTip.SetToolTip(instancesComboBox, descriptor.Description);
    99       } else toolTip.SetToolTip(instancesComboBox, String.Empty);
     95
     96        IContentView activeView = (IContentView)MainFormManager.MainForm.ActiveView;
     97        var mainForm = (MainForm.WindowsForms.MainForm)MainFormManager.MainForm;
     98        // lock active view and show progress bar
     99        mainForm.AddOperationProgressToContent(activeView.Content, "Loading problem instance.");
     100        // continuation for removing the progess bar from the active view
     101        Action<Task> removeProgressFromContent = (_) => mainForm.RemoveOperationProgressFromContent(activeView.Content);
     102
     103        // task structure:
     104        // loadFromProvider
     105        // |
     106        // +-> on fault -> show error dialog -> remove progress bar
     107        // |
     108        // `-> success  -> loadToProblem
     109        //                 |
     110        //                 +-> on fault -> show error dialog -> remove progress bar
     111        //                 |
     112        //                 `-> success -> set tool tip -> remove progress bar
     113        var loadFromProvider = new Task<T>(() => Content.LoadData(descriptor));
     114
     115        // success
     116        var loadToProblem = loadFromProvider
     117          .ContinueWith(task => GenericConsumer.Load(task.Result), TaskContinuationOptions.OnlyOnRanToCompletion);
     118        // on error
     119        loadFromProvider
     120          .ContinueWith(task => { ErrorHandling.ShowErrorDialog(String.Format("Could not load the problem instance {0}", descriptor.Name), task.Exception); }, TaskContinuationOptions.OnlyOnFaulted)
     121          .ContinueWith(removeProgressFromContent);
     122
     123        // success
     124        loadToProblem
     125          .ContinueWith(task => toolTip.SetToolTip(instancesComboBox, descriptor.Description), TaskContinuationOptions.OnlyOnRanToCompletion)
     126          .ContinueWith(removeProgressFromContent);
     127        // on error
     128        loadToProblem.ContinueWith(task => { ErrorHandling.ShowErrorDialog(String.Format("This problem does not support loading the instance {0}", descriptor.Name), task.Exception); }, TaskContinuationOptions.OnlyOnFaulted)
     129        .ContinueWith(removeProgressFromContent);
     130
     131        // start async loading task
     132        loadFromProvider.Start();
     133      }
    100134    }
    101135  }
Note: See TracChangeset for help on using the changeset viewer.