[Quantproject-developers] QuantProject/b7_Scripts/SimpleTesting/ShortTest EndOfDayTimerHandler.cs,
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-09-29 21:17:35
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/SimpleTesting/ShortTest In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv15980/ShortTest Modified Files: EndOfDayTimerHandler.cs RunShortTest.cs Log Message: The new revision moves toward an intraday enabled framework. EndOfDayDate time has been removed, DateTime is used now. The code has been changed accordingly. Index: RunShortTest.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/SimpleTesting/ShortTest/RunShortTest.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RunShortTest.cs 20 Feb 2005 00:05:11 -0000 1.1 --- RunShortTest.cs 29 Sep 2008 21:17:09 -0000 1.2 *************** *** 3,7 **** RunShortTest.cs ! Copyright (C) 2003 Glauco Siliprandi --- 3,7 ---- RunShortTest.cs ! Copyright (C) 2003 Glauco Siliprandi *************** *** 19,23 **** along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! */ using System; --- 19,23 ---- along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! */ using System; *************** *** 42,46 **** private DateTime endDateTime = new DateTime( 2000 , 12 , 31 ); private Account account; ! private IHistoricalQuoteProvider historicalQuoteProvider = new HistoricalAdjustedQuoteProvider(); /// <summary> --- 42,46 ---- private DateTime endDateTime = new DateTime( 2000 , 12 , 31 ); private Account account; ! private HistoricalMarketValueProvider historicalMarketValueProvider = new HistoricalAdjustedQuoteProvider(); /// <summary> *************** *** 54,59 **** HistoricalEndOfDayTimer historicalEndOfDayTimer = new IndexBasedEndOfDayTimer( ! new EndOfDayDateTime( this.startDateTime , ! EndOfDaySpecificTime.MarketOpen ) , "MSFT" ); // this.account = new Account( "MSFT" , historicalEndOfDayTimer , // new HistoricalEndOfDayDataStreamer( historicalEndOfDayTimer , --- 54,61 ---- HistoricalEndOfDayTimer historicalEndOfDayTimer = new IndexBasedEndOfDayTimer( ! HistoricalEndOfDayTimer.GetMarketOpen( this.startDateTime ) , ! // new EndOfDayDateTime( this.startDateTime , ! // EndOfDaySpecificTime.MarketOpen ) , ! "MSFT" ); // this.account = new Account( "MSFT" , historicalEndOfDayTimer , // new HistoricalEndOfDayDataStreamer( historicalEndOfDayTimer , *************** *** 63,80 **** // new IBCommissionManager() ); this.account = new Account( "MSFT" , historicalEndOfDayTimer , ! new HistoricalEndOfDayDataStreamer( historicalEndOfDayTimer , ! this.historicalQuoteProvider ) , ! new HistoricalEndOfDayOrderExecutor( historicalEndOfDayTimer , ! this.historicalQuoteProvider ) ); ! EndOfDayTimerHandler EndOfDayTimerHandler = new EndOfDayTimerHandler( this.account , endDateTime ); ! historicalEndOfDayTimer.MarketOpen += new MarketOpenEventHandler( ! EndOfDayTimerHandler.MarketOpenEventHandler ); ! historicalEndOfDayTimer.MarketClose += new MarketCloseEventHandler( ! EndOfDayTimerHandler.MarketCloseEventHandler ); ! this.account.EndOfDayTimer.Start(); ! Report report = new Report( this.account , this.historicalQuoteProvider ); ! report.Show( "WFT One Rank" , 1 , ! new EndOfDayDateTime( this.endDateTime , EndOfDaySpecificTime.MarketClose ) , "MSFT" ); } --- 65,87 ---- // new IBCommissionManager() ); this.account = new Account( "MSFT" , historicalEndOfDayTimer , ! new HistoricalEndOfDayDataStreamer( historicalEndOfDayTimer , ! this.historicalMarketValueProvider ) , ! new HistoricalEndOfDayOrderExecutor( historicalEndOfDayTimer , ! this.historicalMarketValueProvider ) ); ! EndOfDayTimerHandler endOfDayTimerHandler = new EndOfDayTimerHandler( this.account , endDateTime ); ! historicalEndOfDayTimer.NewDateTime += ! new NewDateTimeEventHandler( endOfDayTimerHandler.NewDateTimeEventHandler ); ! ! // historicalEndOfDayTimer.MarketOpen += new MarketOpenEventHandler( ! // endOfDayTimerHandler.MarketOpenEventHandler ); ! // historicalEndOfDayTimer.MarketClose += new MarketCloseEventHandler( ! // endOfDayTimerHandler.MarketCloseEventHandler ); ! this.account.Timer.Start(); ! Report report = new Report( this.account , this.historicalMarketValueProvider ); ! report.Show( ! "WFT One Rank" , 1 , ! HistoricalEndOfDayTimer.GetMarketClose( this.endDateTime ) , ! // new EndOfDayDateTime( this.endDateTime , EndOfDaySpecificTime.MarketClose ) , "MSFT" ); } Index: EndOfDayTimerHandler.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/SimpleTesting/ShortTest/EndOfDayTimerHandler.cs,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** EndOfDayTimerHandler.cs 20 Feb 2005 00:05:11 -0000 1.1 --- EndOfDayTimerHandler.cs 29 Sep 2008 21:17:08 -0000 1.2 *************** *** 3,7 **** EndOfDayTimerHandler.cs ! Copyright (C) 2003 Glauco Siliprandi --- 3,7 ---- EndOfDayTimerHandler.cs ! Copyright (C) 2003 Glauco Siliprandi *************** *** 19,23 **** along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! */ using System; using System.Collections; --- 19,23 ---- along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ! */ using System; using System.Collections; *************** *** 36,40 **** /// Short Test core strategy /// </summary> ! public class EndOfDayTimerHandler { --- 36,41 ---- /// Short Test core strategy /// </summary> ! public class EndOfDayTimerHandler : ! QuantProject.Business.Strategies.EndOfDayTimerHandler { *************** *** 58,62 **** /// best performing ticker calculation</param> public EndOfDayTimerHandler( Account account , ! DateTime endDateTime ) { this.account = account; --- 59,63 ---- /// best performing ticker calculation</param> public EndOfDayTimerHandler( Account account , ! DateTime endDateTime ) { this.account = account; *************** *** 68,86 **** /// <param name="sender"></param> /// <param name="eventArgs"></param> ! public void MarketOpenEventHandler( ! Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { this.account.AddOrder( new Order( OrderType.MarketSellShort , ! new Instrument( "MSFT" ) , 100 ) ); } ! public void MarketCloseEventHandler( ! Object sender , EndOfDayTimingEventArgs endOfDayTimingEventArgs ) { this.account.ClosePosition( "MSFT" ); ! if ( this.account.EndOfDayTimer.GetCurrentTime().DateTime > ! this.endDateTime ) ! this.account.EndOfDayTimer.Stop(); } } } --- 69,95 ---- /// <param name="sender"></param> /// <param name="eventArgs"></param> ! protected override void marketOpenEventHandler( ! Object sender , DateTime dateTime ) { this.account.AddOrder( new Order( OrderType.MarketSellShort , ! new Instrument( "MSFT" ) , 100 ) ); } ! protected override void marketCloseEventHandler( ! Object sender , DateTime dateTime ) { this.account.ClosePosition( "MSFT" ); ! if ( this.account.Timer.GetCurrentDateTime() > ! this.endDateTime ) ! this.account.Timer.Stop(); } + protected override void oneHourAfterMarketCloseEventHandler( + Object sender , DateTime dateTime ) + { + this.account.ClosePosition( "MSFT" ); + if ( this.account.Timer.GetCurrentDateTime() > + this.endDateTime ) + this.account.Timer.Stop(); + } } } |