[Quantproject-developers] QuantProject/b7_Scripts/TechnicalAnalysisTesting/Oscillators/FixedLevelOs
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2008-04-08 21:55:37
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/TechnicalAnalysisTesting/Oscillators/FixedLevelOscillators/PortfolioValueOscillator In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10421/b7_Scripts/TechnicalAnalysisTesting/Oscillators/FixedLevelOscillators/PortfolioValueOscillator Modified Files: PVOLogItem.cs Log Message: Now the Run method creates a contextMenu with multiple choices for the given PVOLogItem Index: PVOLogItem.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/TechnicalAnalysisTesting/Oscillators/FixedLevelOscillators/PortfolioValueOscillator/PVOLogItem.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PVOLogItem.cs 12 Mar 2008 22:05:33 -0000 1.2 --- PVOLogItem.cs 8 Apr 2008 21:55:33 -0000 1.3 *************** *** 22,25 **** --- 22,26 ---- using System; + using System.Windows.Forms; using QuantProject.Business.DataProviders; *************** *** 33,39 **** using QuantProject.Business.Strategies.ReturnsManagement.Time.IntervalsSelectors; using QuantProject.Business.Timing; using QuantProject.Scripts.General.Reporting; ! ! namespace QuantProject.Scripts.TechnicalAnalysisTesting.Oscillators.FixedLevelOscillators.PortfolioValueOscillator --- 34,40 ---- using QuantProject.Business.Strategies.ReturnsManagement.Time.IntervalsSelectors; using QuantProject.Business.Timing; + using QuantProject.Presentation; using QuantProject.Scripts.General.Reporting; ! using QuantProject.Scripts.General.Logging; namespace QuantProject.Scripts.TechnicalAnalysisTesting.Oscillators.FixedLevelOscillators.PortfolioValueOscillator *************** *** 46,50 **** public class PVOLogItem : LogItem { ! protected TestingPositions[] bestPVOPositionsInSample; protected int numberOfEligibleTickers; protected double fitnessOfFirstPVOPositionsInSample; --- 47,53 ---- public class PVOLogItem : LogItem { ! protected DummyTesterForTestingPositions[] ! dummyTestersForBestTestingPositionsInSample; ! protected TestingPositions[] bestPVOPositionsInSample; protected int numberOfEligibleTickers; protected double fitnessOfFirstPVOPositionsInSample; *************** *** 56,59 **** --- 59,63 ---- protected string tickersOfFirst; protected string tickersOfLast; + protected int numberOfInSampleDays; public TestingPositions[] BestPVOPositionsInSample *************** *** 136,142 **** } ! public PVOLogItem(EndOfDayDateTime endOfDayDateTime ) : base( endOfDayDateTime ) { this.numberOfEligibleTickers = int.MinValue; this.fitnessOfFirstPVOPositionsInSample = double.MinValue; --- 140,148 ---- } ! public PVOLogItem(EndOfDayDateTime endOfDayDateTime, ! int numberOfInSampleDays) : base( endOfDayDateTime ) { + this.numberOfInSampleDays = numberOfInSampleDays; this.numberOfEligibleTickers = int.MinValue; this.fitnessOfFirstPVOPositionsInSample = double.MinValue; *************** *** 144,152 **** } ! public override void Run() { //general ! int inSampleDays = 120; ! DateTime firstDateTime = this.SimulatedCreationTime.DateTime.AddDays(-inSampleDays); DateTime lastDateTime = this.SimulatedCreationTime.DateTime; double maxRunningHours = 1; --- 150,157 ---- } ! protected virtual void runStrategyClickEventHandler(object sender, System.EventArgs e) { //general ! DateTime firstDateTime = this.SimulatedCreationTime.DateTime.AddDays(-this.numberOfInSampleDays); DateTime lastDateTime = this.SimulatedCreationTime.DateTime; double maxRunningHours = 1; *************** *** 176,185 **** numDaysForOscillatingPeriodForChooser; TestingPositions[] positionsToTest = ! new TestingPositions[1]; ! // int idx = PVOLogItem.rand.Next(bestPVOPositionsInSample.Length); ! positionsToTest[0] = this.bestPVOPositionsInSample[0]; PVOStrategy strategy = new PVOStrategy(eligiblesSelector, ! positionsToTest, inSampleDays, numDaysForOscillatingPeriodForOutOfSample, numberOfPortfolioPositions , benchmark , --- 181,191 ---- numDaysForOscillatingPeriodForChooser; TestingPositions[] positionsToTest = ! //new TestingPositions[1]; ! // int idx = PVOLogItem.rand.Next(bestPVOPositionsInSample.Length); ! //positionsToTest[0] = this.bestPVOPositionsInSample[0]; ! positionsToTest = this.BestPVOPositionsInSample; PVOStrategy strategy = new PVOStrategy(eligiblesSelector, ! positionsToTest, this.numberOfInSampleDays, numDaysForOscillatingPeriodForOutOfSample, numberOfPortfolioPositions , benchmark , *************** *** 194,205 **** new SimpleAccountProvider(), firstDateTime , lastDateTime , benchmark , cashToStart , maxRunningHours ); ! ! // TO DO check if you can do this assign in the EndOfDayStrategyBackTester ! // constructor ! strategy.Account = endOfDayStrategyBackTester.Account; endOfDayStrategyBackTester.Run(); BackTesterReportViewer.ShowReport( lastDateTime , endOfDayStrategyBackTester ); } } } --- 200,258 ---- new SimpleAccountProvider(), firstDateTime , lastDateTime , benchmark , cashToStart , maxRunningHours ); ! endOfDayStrategyBackTester.Run(); BackTesterReportViewer.ShowReport( lastDateTime , endOfDayStrategyBackTester ); } + + private void showTestingPositionsClickEventHandler_setDummyTesters_setTester( + int currentIndex , + TestingPositions testingPositions , + EndOfDayDateTime simulatedCreationTime ) + { + this.dummyTestersForBestTestingPositionsInSample[ currentIndex ] = + new DummyTesterForTestingPositions( + testingPositions , + this.numberOfInSampleDays , + simulatedCreationTime ); + } + + private void showTestingPositionsClickEventHandler_setDummyTesters() + { + this.dummyTestersForBestTestingPositionsInSample = + new DummyTesterForTestingPositions[this.BestPVOPositionsInSample.Length]; + for ( int i = 0 ; i < BestPVOPositionsInSample.Length; i++ ) + this.showTestingPositionsClickEventHandler_setDummyTesters_setTester( + i , + BestPVOPositionsInSample[ i ] , + this.SimulatedCreationTime ); + } + + protected virtual void showTestingPositionsClickEventHandler(object sender, System.EventArgs e) + { + this.showTestingPositionsClickEventHandler_setDummyTesters(); + QuantProject.Presentation.ExecutablesListViewer executablesListViewer = + new ExecutablesListViewer( + this.dummyTestersForBestTestingPositionsInSample ); + executablesListViewer.Show(); + } + + protected virtual void createAndShowContextMenu() + { + MenuItem[] menuItems = new MenuItem[2]; + menuItems[0] = new MenuItem("Run Strategy"); + menuItems[1] = new MenuItem("Show TestingPositions"); + menuItems[0].Click += + new System.EventHandler(this.runStrategyClickEventHandler); + menuItems[1].Click += + new System.EventHandler(this.showTestingPositionsClickEventHandler); + ContextMenu contextMenu = new ContextMenu(menuItems); + contextMenu.Show(Form.ActiveForm, Form.MousePosition); + } + + public override void Run() + { + this.createAndShowContextMenu(); + } } } |