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

[amibroker] (unknown)



PureBytes Links

Trading Reference Links

When I run the CBT code listed below the trace statement return 
something like the following:

[864] Can Enter bar = LUK Pos: {EMPTY} isEntry: -1
[864] Pos already exists LUK Pos: <IDispatch> isEntry: -1
[864] Can Enter bar = LUK Pos: {EMPTY} isEntry: -1

Why is it that "pos" returns null and isEntry returns -1. Also I can 
not explain "pos" returning  <IDispatch>. I thought these variables 
were supposed to return 1 and 0 for true and false. Can anybody 
explain? TIA




SetBacktestMode( backtestRegularRaw2 );
SetCustomBacktestProc("");
MaxBuys = 3;
if ( Status( "action" ) == actionPortfolio )
{
	bo = GetBacktesterObject();
	bo.PreProcess();
	for ( i = 0; i < BarCount; i++ )
	{
		dtstr = DateTimeToStr( dt[ i ] );   
		cntBuys = 0;
		for ( sig = bo.GetFirstSignal( i ); sig; sig = 
bo.GetNextSignal( i ) )
		{
			if ( sig.IsEntry() )
			{
				CanEnter = False;
				if ( CntBuys <= MaxBuys )
				{
					pos = bo.FindOpenPos( 
sig.Symbol );
					if ( pos )
					{
					_TRACE( "Pos already exists " 
+ sig.Symbol + " Pos: " + Pos + " isEntry: " +  sig.IsEntry());
					}
					else
					{
						CanEnter = True;
						CntBuys++;
					_TRACE( "Can Enter bar = " + 
sig.Symbol + " Pos: " + Pos + " isEntry: " +  sig.IsEntry());
					}
				}
				if ( ! CanEnter )
					sig.Price = -1;
			}
            if ( sig.IsExit() )
                break; 
        }
        // now check all open positions and find matching signals
		for ( pos = bo.GetFirstOpenPos(); pos; pos = 
bo.GetNextOpenPos() )
		{
			if ( ( sig = bo.FindSignal( i, pos.Symbol, 
2 ) ) ) // look for exit position matching given open pos
			{
				if ( pos.BarsInTrade < 2 )
					sig.Price = -1; // ignore 
sell signal if trade is too young
//					_TRACE("i= " + i + " Date: " 
+ dtstr + " BarsinTrade: " +  pos.BarsInTrade);
			}
		}
	bo.ProcessTradeSignals( i );
	}
	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

<*> 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/