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

[amibroker] Re: CBT Help



PureBytes Links

Trading Reference Links

Thanks Dingo, This doesn't work. Looking at FindOpenPos descreiption 
it says that it would return values of 1 or null. Initially I had 
writtern the code as follows (Sig.IsExit() AND OpenPos AND 
OpenPos.BarsInTrade >= 2). When I couldn't get it to work, I posted 
my question on this board. 

SetBacktestMode( backtestRegularRaw ); 
SetCustomBacktestProc(""); 
if( Status("action") == actionPortfolio )
{ 
bo = GetBacktesterObject(); 
bo.PreProcess(); 
for( i = 0; i < BarCount; i++ ) 
{ 
for( sig = bo.GetFirstSignal(i); sig; sig = bo.GetNextSignal(i))
{ 
OpenPos = bo.FindOpenPos( sig.Symbol );
if( Sig.IsExit() AND OpenPos AND OpenPos.BarsInTrade >= 2)	
	
{
bo.ExitTrade( i, OpenPos.symbol, sig.Price, 1); 
}
}
bo.HandleStops(i);
bo.UpdateStats(i,1);
bo.UpdateStats(i,2);
} 
bo.PostProcess(); 
}

--- In amibroker@xxxxxxxxxxxxxxx, "dingo" <dingo@xxx> wrote:
>
> I haven't used it either but you need to experiment with
> OpenPos.BarsInTrade:
> 
> if( Sig.IsExit() AND OpenPos)		
> {
>    if( OpenPos.BarsInTrade >= 4 )
>    {
>        bo.ExitTrade( i, OpenPos.symbol, sig.Price, 1); 
>    }
> }
> 
> I don't think this is going to do the trick as you are getting to 
the
> opentrade via the signal object.. which you want to be 2 days 
old... but
> maybe putting the signal into state mode instead of impulse mode 
will do it
> for you.
> 
> d
> 
> > -----Original Message-----
> > From: amibroker@xxxxxxxxxxxxxxx 
> > [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of tipequity
> > Sent: Wednesday, October 10, 2007 9:51 PM
> > To: amibroker@xxxxxxxxxxxxxxx
> > Subject: [amibroker] Re: CBT Help
> > 
> > Dingo, I did look at that but I could not figure out how to call 
it.
> > Would mind detailing how I can use it.
> > 
> > Thanks
> > Kam
> > --- In amibroker@xxxxxxxxxxxxxxx, "dingo" <dingo@> wrote:
> > >
> > > Look at the BarsInTrade property of the trade object
> > > 
> > > d 
> > > 
> > > > -----Original Message-----
> > > > From: amibroker@xxxxxxxxxxxxxxx 
> > > > [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of tipequity
> > > > Sent: Wednesday, October 10, 2007 9:33 PM
> > > > To: amibroker@xxxxxxxxxxxxxxx
> > > > Subject: [amibroker] CBT Help
> > > > 
> > > > I have written the following CBT code to exit open long 
position 
> > on 
> > > > sell siganls. Now I want to add another cluase that the 
position 
> > must 
> > > > have been open for at least two bars. SetOption
("HoldMinBars",2 ) 
> > > > doesn't work for me because it starts counting from the last 
buy 
> > > > signal. So to achive my objective I need to call BarsInTrade 
> > > > property. What I don't know how do is access this property of 
the 
> > > > trade method inside a signal loop. Your help would be much 
> > > > appreciated.
> > > > 
> > > > TIA
> > > > Kam
> > > > 
> > > > SetBacktestMode( backtestRegularRaw ); 
> > > > SetCustomBacktestProc(""); 
> > > > if( Status("action") == actionPortfolio )
> > > > { 
> > > > bo = GetBacktesterObject(); 
> > > > bo.PreProcess(); 
> > > > for( i = 0; i < BarCount; i++ ) 
> > > > { 
> > > > for( sig = bo.GetFirstSignal(i); sig; sig = bo.GetNextSignal
(i))
> > > > { 
> > > > OpenPos = bo.FindOpenPos( sig.Symbol );
> > > > if( Sig.IsExit() AND OpenPos)		
> > > > {
> > > > bo.ExitTrade( i, OpenPos.symbol, sig.Price, 1); 
> > > > }
> > > > }
> > > > bo.HandleStops(i);
> > > > bo.UpdateStats(i,1);
> > > > bo.UpdateStats(i,2);
> > > > } 
> > > > bo.PostProcess(); 
> > > > }
> > > > 
> > > > 
> > > > 
> > > > 
> > > > 
> > > > Please note that this group is for discussion between users 
only.
> > > > 
> > > > To get support from AmiBroker please send an e-mail directly 
to 
> > > > SUPPORT {at} amibroker.com
> > > > 
> > > > For NEW RELEASE ANNOUNCEMENTS and other news always check 
DEVLOG:
> > > > http://www.amibroker.com/devlog/
> > > > 
> > > > For other support material please check also:
> > > > http://www.amibroker.com/support.html
> > > >  
> > > > Yahoo! Groups Links
> > > > 
> > > > 
> > > > 
> > > >
> > >
> > 
> > 
> > 
> > 
> > Please note that this group is for discussion between users only.
> > 
> > To get support from AmiBroker please send an e-mail directly to 
> > SUPPORT {at} amibroker.com
> > 
> > For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
> > http://www.amibroker.com/devlog/
> > 
> > For other support material please check also:
> > http://www.amibroker.com/support.html
> >  
> > Yahoo! Groups Links
> > 
> > 
> > 
> >
>




Please note that this group is for discussion between users only.

To get support from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com

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

For other support material please check also:
http://www.amibroker.com/support.html
 
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/