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

[amibroker] Re: Losing Trades in Custom Backtester



PureBytes Links

Trading Reference Links

More information.
So the first trade signal has a PosScore but the subsequent scale in 
signals have PosScore empty.

Cey

--- In amibroker@xxxxxxxxxxxxxxx, "C Alvarez" <yahoo@xxx> wrote:
>
> Tomasz,
> 
> The sample code looks like it will let me do what I want. The 
> problem I am now running into is the sig.PosScore is empty. Why is 
> that? I am setting it.
> 
> 
> Thanks,
> Cey
> 
> --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" <groups@> 
> wrote:
> >
> > Hello,
> > 
> > Answer is here: http://www.amibroker.com/kb/2006/04/24/using-
> redundant-signals-for-entries/
> > 
> > 
> > Best regards,
> > Tomasz Janeczko
> > amibroker.com
> >   ----- Original Message ----- 
> >   From: C Alvarez 
> >   To: amibroker@xxxxxxxxxxxxxxx 
> >   Sent: Monday, August 07, 2006 10:04 PM
> >   Subject: [amibroker] Losing Trades in Custom Backtester
> > 
> > 
> >   I am using the Custom Backtester to iterate through the Signal 
> list. Depending on some additional conditions that I only can know 
> at this time, I might decide to skip a trade and set the PosSize = 
> 0. This prevents the trade from happening, as I want.
> > 
> >   The problem is that if I remove a trade from the Signal list 
and 
> then the Buy array has a buy for the next day, it is not showing 
up 
> the Signal list. And at this time I might want to take the trade. 
> Any suggestions on how I can do this?
> > 
> >   Here is the simplified code.
> > 
> >   Thanks,
> >   Cey
> > 
> > 
> >   SetCustomBacktestProc("");
> > 
> >   if( Status("action") == actionPortfolio )
> >   {
> >           bo = GetBacktesterObject();
> >           bo.PreProcess(); // Initialize backtester
> > 
> >           for(bar=0; bar<BarCount; bar++)
> >           {
> > 
> >                   for( sig = bo.GetFirstSignal(bar); sig; sig = 
> bo.GetNextSignal(bar) )
> >                   {
> >                           if( sig.IsEntry())
> >                           {
> >                                   if (some_condition) // don't 
> take trade
> >                                   {
> >                                           sig.PosSize = 0;
> >                                   }
> >                           }
> >                   }
> > 
> >           bo.ProcessTradeSignals(bar); // Process current bar's 
> signals
> > 
> >           }
> > 
> >           bo.PostProcess();
> >   }
> >
>