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

[amibroker] Help with barssince



PureBytes Links

Trading Reference Links

I am trying to set states based on whether I have a position and the position type. If AFL has a getPositions function I can't find it. I tried to create states using the following code but barssince does not return a valid value.

// buy control
BarsSB	= Nz(BarsSince(Buy), 0);
BarsSSl	= Nz(BarsSince(Sell), 0);
BarsSSh	= Nz(BarsSince(Short), 0);
BarsSC	= Nz(BarsSince(Cover), 0);

state 	= 0;
// 0 = no position, 1 = buy last, 2 = short last;
state 	= IIf(BarsSB == BarsSSh, 0, IIf(BarsSB < BarsSSh, 1, 2)); 
// if sell after buy we are flat
state	= IIf(state == 1 AND BarsSSl < BarsSB, 0, state); 	
// if cover after short we are flat
state	= IIf(state == 2 AND BarsSC < BarsSSh, 0, state);	

If I don't use NZ then BarsSince returns Empty.
When I use NZ then I can see trades using plot shapes. But all the barsSince returns 0 so state is always 0. What am I doing wrong?

The really interesting thing is that I can put the barsince lines below the logic where I set buy, sell, short and cover, then I get correct values returned. Why does the position matter?

I can use static vars to keep the state but when I do that AutoAnalysis will not work and the shapes don't show properly. So I am tryng to find a way that allows auto analysis to work. I tried to use switch and found it only works with numbers and not arrays. 

Thanks,
Barry 



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

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