[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/MSFTwalkForward TsMSFTwalkFor
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2008-09-29 21:20:39
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/MSFTwalkForward In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv18225 Modified Files: TsMSFTwalkForward.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: TsMSFTwalkForward.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/MSFTwalkForward/TsMSFTwalkForward.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TsMSFTwalkForward.cs 29 Nov 2004 17:36:31 -0000 1.2 --- TsMSFTwalkForward.cs 29 Sep 2008 21:20:26 -0000 1.3 *************** *** 3,7 **** TsMSFTsimpleTest.cs ! Copyright (C) 2003 Glauco Siliprandi --- 3,7 ---- TsMSFTsimpleTest.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; *************** *** 26,29 **** --- 26,30 ---- using QuantProject.ADT.Histories; using QuantProject.ADT.Optimizing; + using QuantProject.Data.DataProviders.Quotes; using QuantProject.Business.Financial.Instruments; using QuantProject.Business.Financial.Ordering; *************** *** 45,87 **** } ! private History microsoftCloseHistory; ! private History microsoftCloseHistorySMA; ! public override void InitializeData() ! { ! Parameter parameter = (Parameter) this.Parameters[ "SMAdays" ]; ! microsoftCloseHistory = QuoteCache.GetCloseHistory( "MSFT" ); ! microsoftCloseHistorySMA = microsoftCloseHistory.GetSimpleMovingAverage( (int) parameter.Value ); ! } ! public override Signals GetSignals( ExtendedDateTime extendedDateTime ) ! { ! Signals signals = new Signals(); ! if ( extendedDateTime.BarComponent == BarComponent.Close ) ! { ! Signal signal = new Signal(); ! if ( microsoftCloseHistory.Cross( microsoftCloseHistorySMA , ! extendedDateTime.DateTime ) ) ! { ! signal.Add( new Order( OrderType.MarketBuy , new Instrument( "MSFT" ) , 1 , ! new EndOfDayDateTime( new Instrument( "MSFT" ).GetNextMarketDay( extendedDateTime.DateTime ) , ! EndOfDaySpecificTime.MarketOpen ) ) ); ! signals.Add( signal ); ! } ! else ! { ! if ( microsoftCloseHistorySMA.Cross( microsoftCloseHistory , ! extendedDateTime.DateTime ) ) ! { ! signal.Add( new Order( OrderType.MarketSell , new Instrument( "MSFT" ) , 1 , ! new EndOfDayDateTime( ! new Instrument( "MSFT" ).GetNextMarketDay( extendedDateTime.DateTime ) , ! EndOfDaySpecificTime.MarketOpen ) ) ); ! signals.Add( signal ); ! } ! } ! } ! return signals; ! } } } --- 46,99 ---- } ! private History microsoftCloseHistory; ! private History microsoftCloseHistorySMA; ! public override void InitializeData() ! { ! Parameter parameter = (Parameter) this.Parameters[ "SMAdays" ]; ! microsoftCloseHistory = HistoricalQuotesProvider.GetCloseHistory( "MSFT" ); ! microsoftCloseHistorySMA = microsoftCloseHistory.GetSimpleMovingAverage( (int) parameter.Value ); ! } ! public override Signals GetSignals( DateTime dateTime ) ! { ! Signals signals = new Signals(); ! if ( HistoricalEndOfDayTimer.IsMarketClose( dateTime ) ) ! // if ( dateTime.BarComponent == BarComponent.Close ) ! { ! Signal signal = new Signal(); ! if ( microsoftCloseHistory.Cross( microsoftCloseHistorySMA , ! dateTime ) ) ! { ! signal.Add( ! new Order( ! OrderType.MarketBuy , new Instrument( "MSFT" ) , 1 , ! HistoricalEndOfDayTimer.GetMarketOpen( ! new Instrument( "MSFT" ).GetNextMarketDay( ! dateTime ) ) ) ); ! // new EndOfDayDateTime( new Instrument( "MSFT" ).GetNextMarketDay( dateTime.DateTime ) , ! // EndOfDaySpecificTime.MarketOpen ) ) ); ! signals.Add( signal ); ! } ! else ! { ! if ( microsoftCloseHistorySMA.Cross( microsoftCloseHistory , ! dateTime ) ) ! { ! signal.Add( ! new Order( ! OrderType.MarketSell , new Instrument( "MSFT" ) , 1 , ! HistoricalEndOfDayTimer.GetMarketOpen( ! new Instrument( "MSFT" ).GetNextMarketDay( ! dateTime ) ) ) ); ! // new EndOfDayDateTime( ! // new Instrument( "MSFT" ).GetNextMarketDay( dateTime.DateTime ) , ! // EndOfDaySpecificTime.MarketOpen ) ) ); ! signals.Add( signal ); ! } ! } ! } ! return signals; ! } } } |