PureBytes Links
Trading Reference Links
|
Rick,
It seems to be working fine for me. Keep in mind that BarsSince(...)
will return zero if the event happens on the current bar.
Also, I believe that the conditional for your B/S column is
incorrect. I suspect that you should be using the result of the Flip
(InLong from my example) rather than the Buy signal. The Flip will
tell you whether you're currently in the position, the Buy signal
will just tell you whether the signal first fired on the current bar.
I'm providing a revised edition of your code below. Run it through
your exploration (with any number of days) and see that the Mn value
shows as 0 for the first bar of the signal, then increments by 1 for
each subsequent day until Sell/Cover.
Mike
Buy = Cover = random(1) > 0.5;
Sell = Short = DayOfWeek() == 5;
Buy = ExRem(Buy, Sell);
Sell = ExRem(Sell, Buy);
Short = ExRem(Short, Cover);
Cover = ExRem(Cover, Short);
LongSince = BarsSince(Buy);
ShortSince = BarsSince(Short);
Mn = Min(LongSince, ShortSince); // This gives the No. of days for
the LAST to occur
InLong = Flip(Buy, Sell);
InShort = Flip(Short, Cover);
Filter = InLong OR InShort;
AddColumn(IIf(InLong, Asc("B"), Asc("S")), "Signal", formatChar); //
produces "B" for Buy, and "S" for Short
AddColumn(Mn,"Days",1.0);
--- In amibroker@xxxxxxxxxxxxxxx, "ricko8294_98" <ricko@xxx> wrote:
>
> Yes - BUT - when I set n = 5 (say), the exploration gives me values
> for the short trades, but ALL ZEROS for the buy trades.
>
> Perhaps this thread could have been named AddColumn Puzzle, because
> according to the help file, AddColumn "Adds a new column to the
> exploration result list. The column shows array values and has a
> caption of name." I had therefore assumed that the Exploration
> should show the value in the Mn array (see my original message).
In
> other words, values should appear in the Exploration for BOTH the
> Buys and the Shorts.
>
> So - my problem is not solved and I am still confused.
>
> Anyone?
> Rick
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "Mike" <sfclimbers@> wrote:
> >
> > Alternatively, you could try adding the following lines to
restrict
> > the output to just your positions, which it appears is what you
> were
> > originally trying to do.
> >
> > InLong = Flip(Buy, Sell);
> > InShort = Flip(Short, Cover);
> >
> > Filter = InLong OR InShort;
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "Steve Dugas" <sjdugas@> wrote:
> > >
> > > Hi - Assuming you are running the exploration on the last bar,
> you
> > have
> > > defined the Filter to report only those tickers with a Buy or
> Sell
> > on that
> > > bar, and so the bars since these trades will always be zero.
Try
> > setting
> > > Filter = 1 to see results for all tickers.
> > >
> > > Steve
> > >
> > > ----- Original Message -----
> > > From: "ricko8294_98" <ricko@>
> > > To: <amibroker@xxxxxxxxxxxxxxx>
> > > Sent: Saturday, May 10, 2008 1:59 PM
> > > Subject: [amibroker] BarsSince Puzzle
> > >
> > >
> > > > Hello all
> > > > I am trying to get an exploration to tell me how many days a
> trade
> > > > has been in place.
> > > >
> > > > My code is
> > > >
> > > > Buy = mylongsystem
> > > > Short = myshortsystem
> > > >
> > > > Then I do the Exrem thing
> > > >
> > > > Then
> > > > LongSince = BarsSince(Buy);
> > > > ShortSince = BarsSince(Short);
> > > > Mn = Min(LongSince,ShortSince);
> > > > // This gives the No. of days for the LAST to occur
> > > >
> > > > Filter = Buy OR Short;
> > > > AddColumn( IIf( Buy, Asc("B"), Asc("S")), "Signal",
> formatChar );
> > > > // produces "B" for Buy, and "S" for Short
> > > >
> > > > BUT when I add
> > > > AddColumn(Mn,"Days",1.0); >>>> this always produces zeros.
> > > >
> > > > YET if I display Mn in the Interpretation Window, I see the
> > correct
> > > > result.
> > > >
> > > > QUESTION - why does the correct result not show up in the
> > exploration
> > > > window?
> > > >
> > > >
> > > > TIA
> > > >
> > > > Rick
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > ------------------------------------
> > > >
> > > > 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/
|