Is it possible to create a FUNCTION (call it MSPREV)
that can be called whenever PREV is needed??
Rick
--- dbw451 <dbw451@xxxxxxxxnet>
wrote:
> Here's how to do PREV in a loop (I can't check the
> code because I don't have
> the deltav values, but this should give you an idea
> of what to do):
>
>
>
> // MetaStock Code
>
>
>
> // TLevel:=
>
if(C=PREV,PREV,if(prev>Ref(C,-1),Min(C,deltav),Max(prev,C))));
>
>
>
>
>
> TLevel = 0; // Indicator to calculate, TLevel[i-1]
> = MetaStock PREV
>
>
>
> PREV = 0;
>
>
>
> for (i=1; i<BarCount; i++) {
>
>
>
> PREV[i] = TLevel[i-1];
>
>
>
> if(C[i] == PREV[i])
>
> TLevel[i] = PREV[i];
>
> else {
>
> if(PREV[i] > C[i-1]) {
>
> if(C[i] < deltav[i])
>
> TLevel[i] = C[i];
>
> else
>
> TLevel[i] =
> deltav[i];
>
> }
>
> else {
>
> if(PREV[i] > C[i])
>
> TLevel[i] =
> PREV[i];
>
> else
>
> TLevel[i] = C[i];
>
> }
>
> }
>
>
>
> }
>
>
>
>
>
> Regards,
>
>
>
> David
>
>
>
> _____
>
> From: amibroker@xxxxxxxxxps.com
> [mailto:amibroker@xxxxxxxxxps.com]
On Behalf
> Of Ara Kaloustian
> Sent: 04/03/2007 6:42 PM
> To: amibroker@xxxxxxxxxps.com
> Subject: Re: [amibroker] Re: Help with code
>
>
>
> My apologies ... you do need a loop. It is a
> circular reference
>
> ----- Original Message -----
> From: "pmxgs" <pmxgs@xxxxxxxx
> <mailto:pmxgs%40vizzavi.pt> pt>
> To: <amibroker@xxxxxxxxu
> <mailto:amibroker%40yahoogroups.com> ps.com>
> Sent: Tuesday, April 03, 2007 3:30 PM
> Subject: [amibroker] Re: Help with code
>
> > The problem is that I'm not getting the correct
> values, and I dont't
> > know if it's because of the way the formula is
> written or if it has to
> > do with something else.
> > I'm afraid that I can't use the ref(Tlevel,-1)
> _expression_ if I'm
> > calculating the TLevel variable itself (it's like
> a circular reference
> > in excel).
> > thanks
> >
> >
> > --- In amibroker@xxxxxxxxx
> <mailto:amibroker%40yahoogroups.com> ps.com,
> "Ara Kaloustian" <ara1@xxx> wrote:
> >>
> >> this should work fine
> >>
> >> ----- Original Message -----
> >> From: "pmxgs" <pmxgs@xxx>
> >> To: <amibroker@xxxxxxxxu
> <mailto:amibroker%40yahoogroups.com> ps.com>
> >> Sent: Tuesday, April 03, 2007 3:18 PM
> >> Subject: [amibroker] Help with code
> >>
> >>
> >> > Hi,
> >> >
> >> > I'm having trouble with this code (which was
> taken from other
> > software):
> >> > PREV is a reserved word that refers to the
> value of the variable
> >> > being calculated 1 period before. In this
> example it would be
> >> > TLevel[i-1]
> >> >
> >> > TLevel:=
> >
>
If(C=PREV,PREV,if(prev>ref(C,-1),min(C,deltav),max(prev,C))));
> >> >
> >> > In Amibroker I wrote:
> >> > TLevel=0;
> >> > TLevel=iif(C=ref(TLevel,-1),ref(TLevel,-1),
> IIf( ........
> >> >
> >> > Can I write this like this?? Or do I have to
> use for loop??
> >> >
> >> > thanks
> >> >
> >> >
> >> >
> >> > 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.amibroke
> <http://www.amibroker.com/devlog/>
r.com/devlog/
> >> >
> >> > For other support material please check also:
> >> > http://www.amibroke
> <http://www.amibroker.com/support.html>
> r.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.amibroke
> <http://www.amibroker.com/devlog/>
r.com/devlog/
> >
> > For other support material please check also:
> > http://www.amibroke
> <http://www.amibroker.com/support.html>
> r.com/support.html
> >
> > Yahoo! Groups Links
> >
> >
> >
>
>
>
>
Rick Osborn & Associates
885 Sorrento Ave.
Oshawa, Ontario
L1J 6V6
(905) 728-8543 fax 728-0815