[Quantproject-developers] QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardOneRank EndOfDayTime
Brought to you by:
glauco_1
|
From: Glauco S. <gla...@us...> - 2004-12-26 17:42:18
|
Update of /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardOneRank In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6180/b7_Scripts/WalkForwardTesting/WalkForwardOneRank Modified Files: EndOfDayTimerHandler.cs Log Message: - The strategy has been fixed: now a ticker is chosen only if today's close is higher than yesterday's close. - OneRank.MaxBuyableShares is used now Index: EndOfDayTimerHandler.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b7_Scripts/WalkForwardTesting/WalkForwardOneRank/EndOfDayTimerHandler.cs,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** EndOfDayTimerHandler.cs 20 Dec 2004 00:26:58 -0000 1.2 --- EndOfDayTimerHandler.cs 26 Dec 2004 17:42:08 -0000 1.3 *************** *** 29,32 **** --- 29,33 ---- using QuantProject.Business.Timing; using QuantProject.Data.DataProviders; + using QuantProject.Scripts.SimpleTesting; namespace QuantProject.Scripts.WalkForwardTesting.WalkForwardOneRank *************** *** 153,158 **** endOfDayTimingEventArgs.EndOfDayDateTime.DateTime ); } ! this.chosenTickers.SetTickers( this.bestPerformingTickers ); ! oneHourAfterMarketCloseEventHandler_orderChosenTickers( ( IEndOfDayTimer ) sender ); } #endregion --- 154,158 ---- endOfDayTimingEventArgs.EndOfDayDateTime.DateTime ); } ! // oneHourAfterMarketCloseEventHandler_orderChosenTickers( ( IEndOfDayTimer ) sender ); } #endregion *************** *** 165,169 **** --- 165,172 ---- private void fiveMinutesBeforeMarketCloseEventHandler_closePositions() { + ArrayList tickers = new ArrayList(); foreach ( string ticker in this.account.Portfolio.Keys ) + tickers.Add( ticker ); + foreach ( string ticker in tickers ) fiveMinutesBeforeMarketCloseEventHandler_closePosition( ticker ); } *************** *** 172,178 **** { double maxPositionValue = this.account.CashAmount / this.numberOfTickersToBeChosen; ! long sharesToBeBought = Convert.ToInt64( ! Math.Floor( maxPositionValue / ! this.account.DataStreamer.GetCurrentAsk( ticker ) ) ); this.account.AddOrder( new Order( OrderType.MarketBuy , new Instrument( ticker ) , sharesToBeBought ) ); --- 175,180 ---- { double maxPositionValue = this.account.CashAmount / this.numberOfTickersToBeChosen; ! long sharesToBeBought = OneRank.MaxBuyableShares( ticker , ! maxPositionValue , this.account.DataStreamer ); this.account.AddOrder( new Order( OrderType.MarketBuy , new Instrument( ticker ) , sharesToBeBought ) ); *************** *** 180,183 **** --- 182,186 ---- private void fiveMinutesBeforeMarketCloseEventHandler_openPositions() { + this.chosenTickers.SetTickers( this.bestPerformingTickers , this.account ); foreach ( string ticker in this.chosenTickers.Keys ) this.fiveMinutesBeforeMarketCloseEventHandler_openPosition( ticker ); |