[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Help Limiting number of positions added per day



PureBytes Links

Trading Reference Links

Yes, that code is working. Thanks TA!

Is it normal though for it cause the AA window to go non-responsive when backtesting a range of more than 1 year?

I can test over 9 months and it works-with about a minute delay between the backtest finishing and the report being generated.

If I test over much more than 9 months, it never generates the report- instead it just seems to keep processing something.

Thanks!

--- In amibroker@xxxxxxxxxxxxxxx, "ta" <tagroups@xxx> wrote:
>
> Since you have not posted your code I can not debug it for you but the
> following code works for me:
> 
>  
> 
> MaxBuys = 5; 
> SetBacktestMode( backtestRegularRaw2 ); 
> SetCustomBacktestProc(""); 
> if ( Status( "action" ) == actionPortfolio ) 
> { 
>    bo = GetBacktesterObject(); 
>    bo.PreProcess(); 
>    for ( i = 0; i < BarCount; i++ ) 
>    { 
>       cntBuys = 0; 
>       for ( sig = bo.GetFirstSignal( i ); sig; sig = bo.GetNextSignal( i ) )
> 
>       { 
>          if ( sig.IsEntry() ) 
>          { 
>             // this handles limiting of number of order per day 
>             CanEnter = False; 
>             if ( CntBuys <= MaxBuys ) 
>             { 
>                bo.EnterTrade( i, sig.Symbol, True, sig.Price, sig.PosSize,
> sig.PosScore, RoundLotSize = 1); 
>                CanEnter = True; 
>                CntBuys++; 
>             } 
>             if ( ! CanEnter ) sig.Price = -1; 
>          } 
>         } 
>    bo.ProcessTradeSignals( i ); 
>    } 
>    bo.PostProcess(); 
> }
> 
>  
> 
> From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf
> Of woodshedder_blogspot
> Sent: Saturday, September 26, 2009 3:52 PM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] Re: Help Limiting number of positions added per day
> 
>  
> 
>   
> 
> TA, thanks for the help.
> I'm having a problem with this line:
> bo.PostProcess();
> 
> This is the error I'm getting: "Error 18 COM object variable is not
> initialized or has invalid type (valid COM object handle required)
> 
> Wood
> 
> --- In amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com> , "ta"
> <tagroups@> wrote:
> >
> > You need to use Custom Backtester as follows:
> > 
> > 
> > 
> > MaxBuys = 5;
> > 
> > SetBacktestMode( backtestRegularRaw2 );
> > 
> > SetCustomBacktestProc("");
> > 
> > if ( Status( "action" ) == actionPortfolio )
> > 
> > {
> > 
> > bo = GetBacktesterObject();
> > 
> > bo.PreProcess();
> > 
> > 
> > 
> > for ( sig = bo.GetFirstSignal( i ); sig; sig =
> > bo.GetNextSignal( i ) )
> > 
> > {
> > 
> > if ( sig.IsEntry() )
> > 
> > {
> > 
> > // this handles limiting of number of order
> > per day
> > 
> > CanEnter = False;
> > 
> > if ( CntBuys <= MaxBuys )
> > 
> > {
> > 
> > 
> > bo.EnterTrade( i, sig.Symbol, True, sig.Price, sig.PosSize, sig.PosScore,
> > RoundLotSize = 1);
> > 
> > CanEnter =
> > True;
> > 
> > CntBuys++;
> > 
> > }
> > 
> > 
> > 
> > if ( ! CanEnter )
> > 
> > sig.Price =
> > -1;
> > 
> > }
> > 
> > }
> > 
> > bo.ProcessTradeSignals( i );
> > 
> > }
> > 
> > bo.PostProcess();
> > 
> > }
> > 
> > 
> > 
> > From: amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com>
> [mailto:amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com> ] On
> Behalf
> > Of woodshedder_blogspot
> > Sent: Thursday, September 24, 2009 8:25 PM
> > To: amibroker@xxxxxxxxxxxxxxx <mailto:amibroker%40yahoogroups.com> 
> > Subject: [amibroker] Help Limiting number of positions added per day
> > 
> > 
> > 
> > 
> > 
> > Greetings group.
> > 
> > I want to limit the number of positions a system will take on any given
> day.
> > 
> > 
> > For example, if a system can handle 20 max positions, I would like it to
> > only take on 5 new positions a day (assuming there are more than 5 valid
> > signals per day) until it arrives at 20 positions, rather than taking on
> all
> > available positions on day 1.
> > 
> > Thanks for your help.
> >
>




------------------------------------

**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to 
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/