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

RE: [amibroker] Re: Help with code



PureBytes Links

Trading Reference Links

I don’t think so, PREV is dependent on the logic that contains the PREV statement.  You would have to be able to pass logic that contains the PREV statement into the PREV function.  Maybe this could be done with a recursive function implementation, but I personally cannot see how to do it easily and generically.  MetaStock does it within their scripting interpreter which is parsing their scripting code and handling the scripting code execution.

 

Regards,

 

David

 


From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Rick Osborn
Sent: 04/04/2007 3:07 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: RE: [amibroker] Re: Help with code

 

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

__._,_.___

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





SPONSORED LINKS
Investment management software Investment property software Investment software
Investment tracking software Return on investment software

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___