Hello,

BarCount is number of elements in AFL array.
Its length is DYNAMIC (may change from execution to execution)
depending on chart zoom level - if you zoom in the BarCount will decrease.

BarIndex() is represents FIXED quote (bar) index. It does not change
when you zoom in/zoom out. It may only change when you add new quotations
to the database or when you change the interval (for example daily to intraday).

Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message ----- 
From: "brian.z123" <[EMAIL PROTECTED]>
To: <amibroker@yahoogroups.com>
Sent: Saturday, March 03, 2007 10:49 AM
Subject: [amibroker] Re: Mirroring the Chart


> Robert,
> 
> I plot everything that I can to help with understanding.
> 
> Actually barcount doesn't plot so well; it only consistently works 
> when you first insert it (Tomasz will be tearing his hair out seeing 
> me recommend plotting it). It does, however, show clearly what it is 
> about in that one instance (a constant = = the total number of bars) 
> whereas barindex() is the zerobased progressive count = = periods.
> 
> The lastvalue of barindex() = = lastvalue of barcount -1
> 
> BrianB2.
> 
> --- In amibroker@yahoogroups.com, "rhoemke" <[EMAIL PROTECTED]> wrote:
>>
>> hi Brian,
>> 
>> plotting is a good idea.
>> 
>> Users Guide says:
>> Barcount vs BarIndex()
>> There is a fundamental difference between BarCount and BarIndex().
>> BarCount is a numeric variable that
>> holds just one number (the count of elements in array). On the other
>> hand BarIndex() is a function that returns
>> ARRAY representing consecutive index of each bar.
>> 
>> Seems i misunderstood.
>> 
>> Let's see what the plot shows.
>> 
>> Regards
>> Robert
>> 
>> --- In amibroker@yahoogroups.com, "brian.z123" <brian.z123@> wrote:
>> >
>> > Hello Robert,
>> > 
>> > No.
>> > 
>> > No problemo!
>> > 
>> > If you plot barcount and barindex you will see it works a little 
>> > differently than you think.
>> > 
>> > BrianB2.
>> > 
>> > --- In amibroker@yahoogroups.com, "rhoemke" <robert@> wrote:
>> > >
>> > > It seems that there is at least a problem with Barcount and 
> BarIndex
>> > ().
>> > > As i understand, Barcount is just a number, showing the total 
> number
>> > > of bars in the chart (starts counting at 0), and BarIndex() 
> shows 
>> > the
>> > > actual number of the single bar.
>> > > But this code shows  different figures even for BarCount at 
> selected
>> > > bar and i don't know why.
>> > > Anybody who can help?
>> > > 
>> > > SBI = SelectedValue(BarIndex()); 
>> > > "Selected BarIndex = "+WriteVal(SBI);
>> > > "BarCount = "+WriteVal(BarCount);
>> > > 
>> > > 
>> > > Regards
>> > > Robert
>> > > --- In amibroker@yahoogroups.com, "rhoemke" <robert@> wrote:
>> > > >
>> > > > Thank you Zoli,
>> > > > 
>> > > > what i try to do is to mirror horizontaly at the avg of 
> selected 
>> > bar
>> > > > AND vertically from selected bar.
>> > > > This is why i think i need the loop.
>> > > > 
>> > > > I try to mirror the past into the future, as it is described 
> in 
>> > Welles
>> > > > Wilders Book about Adam Theory.
>> > > > 
>> > > > Regards Robert 
>> > > > 
>> > > > 
>> > > > 
>> > > > --- In amibroker@yahoogroups.com, "zoli_j" <novizoli@> wrote:
>> > > > >
>> > > > > mySelectedBI = SelectedValue(BarIndex());
>> > > > > WriteVal(mySelectedBI);
>> > > > > 
>> > > > > myMirrorHorizontalValue = ValueWhen(BarIndex() == 
> mySelectedBI, 
>> > Avg);
>> > > > > Plot(myMirrorHorizontalValue, "myMHV", colorBlue, 
> styleLine);
>> > > > > 
>> > > > > myDiffO = O - myMirrorHorizontalValue;
>> > > > > myDiffH = H - myMirrorHorizontalValue;
>> > > > > myDiffL = L - myMirrorHorizontalValue;
>> > > > > myDiffC = C - myMirrorHorizontalValue;
>> > > > > //PlotOHLC(myDiffO, myDiffH, myDiffL, myDiffC, "myDiff", 
>> > colorBlue, 
>> > > > > styleCandle);
>> > > > > 
>> > > > > myO = IIf(NOT IsNull(myMirrorHorizontalValue), 
>> > > > > myMirrorHorizontalValue - myDiffO, O);
>> > > > > myH = IIf(NOT IsNull(myMirrorHorizontalValue), 
>> > > > > myMirrorHorizontalValue - myDiffH, H);
>> > > > > myL = IIf(NOT IsNull(myMirrorHorizontalValue), 
>> > > > > myMirrorHorizontalValue - myDiffL, L);
>> > > > > myC = IIf(NOT IsNull(myMirrorHorizontalValue), 
>> > > > > myMirrorHorizontalValue - myDiffC, C);
>> > > > > 
>> > > > > BR, Zoli.
>> > > > > 
>> > > > > PlotOHLC(O, H, L, C, "PriceChart", colorBlack, styleCandle);
>> > > > > PlotOHLC(myO, myH, myL, myC, "MirroRchart", colorBlue, 
>> > styleCandle);
>> > > > > 
>> > > > > --- In amibroker@yahoogroups.com, "rhoemke" <robert@> wrote:
>> > > > > >
>> > > > > > Hello,
>> > > > > > i am trying to mirror the chart from the selected bar.
>> > > > > > 
>> > > > > > My code is this, but it doesn't plot a chart but only a 
>> > single bar.
>> > > > > > Can someone see what is wrong. It is difficult for me to 
>> > describe in
>> > > > > > english how the mirroring idea works, but maybe the code 
>> > shows it.
>> > > > > > 
>> > > > > > Thank you.
>> > > > > > 
>> > > > > > selectedBI  = SelectedValue(BarIndex()); WriteVal
> (SelectedBI);
>> > > > > > mirroropen  = 0;
>> > > > > > mirrorhigh  = 0;
>> > > > > > mirrorlow   = 0;
>> > > > > > mirrorclose = 0;
>> > > > > > WriteVal(BarCount-SelectedBI-1);
>> > > > > > 
>> > > > > > for (i = 0;i<BarCount-1;i++);
>> > > > > > {
>> > > > > > if(i>=selectedBI)
>> > > > > > {
>> > > > > > mirroropen[i]  =  2*Avg[SelectedBI] - O[2*SelectedBI-i];
>> > > > > > mirrorhigh[i]  =  2*Avg[SelectedBI] - H[2*SelectedBI-i];
>> > > > > > mirrorlow[i]   =  2*Avg[SelectedBI] - L[2*SelectedBI-i];
>> > > > > > mirrorclose[i] =  2*Avg[SelectedBI] - C[2*SelectedBI-i];
>> > > > > > }
>> > > > > > else
>> > > > > > {
>> > > > > > mirroropen[i]  =  O[i];
>> > > > > > mirrorhigh[i]  =  H[i];
>> > > > > > mirrorlow[i]   =  L[i];
>> > > > > > mirrorclose[i] =  C[i];
>> > > > > > }
>> > > > > > }
>> > > > > > 
>> > > > > > 
>> > > > > > 
>> > > > > > PlotOHLC(mirroropen, mirrorhigh, mirrorlow, mirrorclose,
>> > > > > > "Mirrorchart", colorBlue);
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>>
> 
> 
> 
> 
> 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
> 
> 
> 
> 
>

Reply via email to