PureBytes Links
Trading Reference Links
|
Mike,
Appreciate that, I do need the looping because my code looks back
quite a bit.
I also need to include the current bar in my HHV/LLV test because
I'm setting "Limit Prices" for real-time trading. Obviously HHV/LLV
on the current bar are snapshots in time rather than true
reflections of what the high or the low for the bar ends up being.
I'm beginning to reach the conclusion that HHV/LLV because they are
themselves in a sense "looping arrays" are not that efficient to use
inside a loop.
I am indeed testing other approaches however before I give up, I
wanted to see if anyone else out there had successfully implemented
HHV/LLV within a loop.
Again, appreciate your attempts.
--- In amibroker@xxxxxxxxxxxxxxx, "Mike" <sfclimbers@xxx> wrote:
>
> Hi,
>
> I haven't tested any of this for accuracy. But, you can play with
the
> following approaches, all of which I've tried to keep within the
> structure of your original code snippet (i.e. assuming that
looping
> is necessary).
>
> However, as suggested, looping may not be necessary, and likely is
> not necessary.
>
> If I read HHV correctly, then it will include the current bar in
the
> calculation. I'm assuming that you do not want to include the
current
> bar when looking at "the last 2 bars", and so have used Ref(..., -
1)
> to exclude the current bar. Double check this.
>
> Note too that bar indexing is zero based, so your counter (e.g. i
= )
> needs to be 1 less than you might otherwise expect.
>
> Option 1:
>
> HighestOfTwo = Ref(HHV(High, 2), -1);
>
> for (i = 2; i < BarCount; i++) {
> xyz = HighestOfTwo[i];
> ...
> }
>
> Option 2:
>
> HighestOfTwo = Max(Ref(High, -1), Ref(High, -2));
>
> for (i = 2; i < BarCount; i++) {
> xyz = HighestOfTwo[i];
> ...
> }
>
> Option 3:
>
> for (i = 2; i < BarCount; i++) {
> xyz = High[i - 1];
> if (High[i - 2] > xyz) xyz = High[i - 2];
> ...
> }
>
> Again, things will go significantly faster if you don't need the
> loops.
>
> Mike
>
> --- In amibroker@xxxxxxxxxxxxxxx, "sidhartha70" <sidhartha70@>
> wrote:
> >
> > Help if we knew the full context of the problem... it is likely
that
> > you wouldn't need to use HHV/LLV inside a loop. You can probably
> code
> > the use of HHV/LLV outside of the loop. if you need one at all...
> >
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "cottondepot" <bill.ghali@>
wrote:
> > >
> > > Need to use HHV/LLV in a loop:
> > >
> > > for (i = 3; i < BarCount; i++)
> > > {
> > > xyz=HHV(High[i],2);
> > > ...
> > > }
> > >
> > > Obviously that didn't work. In the loop, I'm trying to use
> the "High"
> > > of the last 2 bars as the "LimitPrice" on an order.
> > >
> > > Any pointers would be greatly appreciated.
> > >
> >
>
------------------------------------
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/
|