PureBytes Links
Trading Reference Links
|
Herman,
Because you probably will ask this question
anyway:
what if you really, really have to use array index
operator and barindex?
That's simple too. As you can see from the picture
below actual array item
corresponding to bar index <FONT face=Arial
size=2>can be found this way:
bi = BarIndex();
item = SelectedValue( bi ) - bi[ 0 ];
Title = NumToStr(MyCustomArray[ item
] ,1.2);
Best regards,Tomasz
Janeczkoamibroker.com
<BLOCKQUOTE dir=ltr
>
----- Original Message -----
<DIV
>From:
Tomasz Janeczko
To: <A title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Friday, July 23, 2004 1:45 AM
Subject: Re: [amibroker] Need help with
SetBarsRequired...
Herman,
Short story:
Your code does NOT really need index addressing,
setbarsrequired, barindex at all.
Somehow you managed to complicate thing
when it is very, very simple and can be coded in 2 lines:
MyCustomArray = EMA(C,3); Title =
"NumberFromMyCustomIndicator ="+NumToStr(MyCustomArray ,1.2);
<FONT face=Arial
size=2>
Long
story:
Take a look at picture below:
<TABLE cellSpacing=0
cellPadding=0 width=529 border=0 x:str>
<COL
width=97>
<COL
width=32>
<COL
width=28>
<COL
width=31>
<COL
width=28>
<COL
width=30>
<COL
width=32>
<COL
width=29>
<COL
width=37>
<COL
width=36>
<COL
width=35>
<COL
width=40>
<COL
width=32>
<COL
width=42>
<TD class=xl24
width=97 height=17>Bar Index
<TD class=xl24
align=right width=32 x:num>0
<TD class=xl24
align=right width=28 x:num>1
<TD class=xl24
align=right width=31 x:num>2
<TD class=xl24
align=right width=28 x:num>3
<TD class=xl24
align=right width=30 x:num>4
<TD class=xl24
align=right width=32 x:num>5
<TD class=xl24
align=right width=29 x:num>6
<TD class=xl24
align=right width=37 x:num>7
<TD class=xl26
align=right width=36 x:num>8
<TD class=xl24
align=right width=35 x:num>9
<TD class=xl24
align=right width=40 x:num>10
<TD class=xl24
align=right width=32 x:num>11
<TD class=xl24
align=right width=42 x:num>12
<TD class=xl25
height=17>Array element
<TD
><FONT
face="Arial CE" size=2>
<TD
><FONT
face="Arial CE" size=2>
<TD
><FONT
face="Arial CE" size=2>
<TD
><FONT
face="Arial CE" size=2>
<TD class=xl25
align=right x:num>0
<TD class=xl25
align=right x:num>1
<TD class=xl25
align=right x:num>2
<TD class=xl25
align=right x:num>3
<TD class=xl26
align=right x:num>4
<TD class=xl25
align=right x:num>5
<TD
>
<TD
>
<TD
>
You see: Bar index represents ENTIRE data set you
have.
Array may be actually smaller than your entire
data set (if visible area for indicator is small) and
may have LESS elements than entire data set you
have.
Array in indicator builder when QuickAFL is on
may include only visible part (plus some extra bars).
Now selected bar is shown with red color. As you
can see although it has a bar index of 8,
the actual array element has the number of
4.
That's why you can not use barindex to address
your arrays directly.
Instead use SelectedValue directly on array, by
simply typing:
MyCustomArray =
EMA(C,3); NumberFromMyCustomIndicator = SelectedValue(
MyCustomArray );
It is way simpler than your code
and works always and you do not need to bother about quickafl and
setbarsrequired at all.
In fact NumToStr already performs "selected
value" so you code can be simplified to 2 lines:
MyCustomArray = EMA(C,3); Title =
"NumberFromMyCustomIndicator ="+NumToStr(MyCustomArray
,1.2);
<FONT face=Arial
size=2>
It performs as you wanted it to perfom and takes
2 lines instead of 5.
It is all actually simpler than you think.
Best regards,Tomasz
Janeczkoamibroker.com
<BLOCKQUOTE
>
----- Original Message -----
<DIV
>From:
Herman van den
Bergen
To: <A title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Friday, July 23, 2004 12:45
AM
Subject: RE: [amibroker] Need help with
SetBarsRequired...
<FONT face=Arial color=#0000ff
size=2>The number in the title, did it stay or was it 'replaced' by a
permanent error msg?
<FONT face=Arial color=#0000ff
size=2>
<FONT face=Arial color=#0000ff
size=2>The subscript should not be out of range...any idea what is wrong
with my code?
<FONT face=Arial color=#0000ff
size=2>
I
think the error occurs in the first two passes but not in the last. If
nobody can correct me I'll send it to support. I think this problem was
reported on the list more than a year ago but i can't remember/find whether
there was a solution.
<FONT face=Arial color=#0000ff
size=2>
<FONT face=Arial color=#0000ff
size=2>thanks!
<FONT face=Arial color=#0000ff
size=2>herman
<FONT face=Tahoma
size=2>-----Original Message-----From: Ara Kaloustian
[mailto:ara1@xxxxxxxxxx]Sent: Thursday, July 22, 2004 5:48
PMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re:
[amibroker] Need help with SetBarsRequired...Importance:
High
Herman,
I got an answer (in title line) of 19.19 and
then an error message saying subscript out of range
<BLOCKQUOTE
>
----- Original Message -----
<DIV
>From:
Herman van den
Bergen
To: <A
title=amibroker@xxxxxxxxxxxxxxx
href="">AmiBroker YahooGroups
Sent: Thursday, July 22, 2004 12:23
PM
Subject: [amibroker] Need help with
SetBarsRequired...
Sorry to
raise this topic once more...but could some kind soul please turn ON
QuickAFL and run the example code below in an Indicator by
pressing APPLY? <SPAN
class=500051718-22072004>In the AB Status bar it says it retrieved 89815
bars (RT data), <SPAN
class=500051718-22072004>Using DebugView,
w<SPAN
class=500051718-22072004>ith QuickAFL
Enabled, pressing Apply gives me these
numbers:
<SPAN
class=500051718-22072004>
<SPAN
class=500051718-22072004>[1704] #
BarNum=75,988 BarCount=75989[1704] # BarNum=75,918
BarCount=75989[1704] # BarNum=75,918
BarCount=483<SPAN
class=500051718-22072004>
It appears that the BarCount
returned by <FONT face="Times New Roman"
size=3>SelectedValue(BarIndex()) during the first the two passes
defaults to normal count even though QuickAFL is enabled<SPAN
class=500051718-22072004>, this
triggers an error msg. Can
somebody please explain how i can run this code with QuickAFL()
On and SetBarsRequired()? I know
that i can program around the problem but that doesn't help me in
my real application.
<SPAN
class=500051718-22072004><FONT
size=2>
<FONT face=Arial
size=2>Your help will be much appreciated!
<FONT face=Arial
size=2>herman.
<SPAN
class=500051718-22072004>
SetBarsRequired(
100,10);
MyCustomArray =
EMA(C,3); BarNum = SelectedValue(BarIndex()); // i want to read
the value at the cursorNumberFromMyCustomIndicator = MyCustomArray
[Barnum]; Title = "NumberFromMyCustomIndicator
="+NumToStr(NumberFromMyCustomIndicator ,1.2);
//_TRACE("#
BarNum="+NumToStr(BarNum,1.0)+"
BarCount="+NumToStr(BarCount,1.0,False));
Check AmiBroker web page at:<A
href="">http://www.amibroker.com/Check
group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Check AmiBroker web page at:<A
href="">http://www.amibroker.com/Check
group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Check AmiBroker web page
at:<A
href="">http://www.amibroker.com/Check
group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Check AmiBroker web page at:<A
href="">http://www.amibroker.com/Check
group FAQ at: <A
href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Check AmiBroker web page at:
http://www.amibroker.com/
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
Yahoo! Groups Sponsor
ADVERTISEMENT
Yahoo! Groups Links
To visit your group on the web, go to:http://groups.yahoo.com/group/amibroker/
To unsubscribe from this group, send an email to:amibroker-unsubscribe@xxxxxxxxxxxxxxx
Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
|