Thanks for your input Mike. The problem turned out not to be the code but my fuzzy thinking. Obviously the minimum BarsSince value of an event that occurred today would be zero - duhh
Another senior's moment - at least that's my story and I'm sticking to it. The Flip concept is helpful - and will be a useful construce for the future Thanks again Rick --- In [email protected], "Mike" <[EMAIL PROTECTED]> wrote: > > 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 [email protected], "ricko8294_98" <ricko@> 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 [email protected], "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 [email protected], "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: <[email protected]> > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
