Unless you use zero Blank bars in the right Margin this type of code may not always work correctly, you can add an offset to the last bar index() to correct for this (set to 4 in the demo code below). AFAIK, we cannot set/read the number of blank bars set in preferences so you will have to remember to set this properly in you formulas.

The need for SetBarsRequired() in this application may also confuse some users. When Applying a formula AB scans all bars and if you don't use SetBarsRequired() this can generate transient conditions. This may be a concern if you are real time trading from the indicator.

If you get confusing results it is always a good habit to write some test code as shown below. In fact, I have a folder in my chart-tree for just such small test programs :-)

Plot(C,"",1,128);
SetBarsRequired(1000000,1000000);
BlankBarsInRightMargin = 4;
Plot(BarIndex()==Status("FirstVisibleBar"),"",5,styleArea|styleOwnScale,-10,10);
Plot(BarIndex()==Status("LastVisibleBar")-BlankBarsInRightMargin,"",4,styleArea|styleOwnScale,-10,10);
Title = "\n"+
"SelectedBarIndex: "+NumToStr(BarIndex(),1.0)+"\n"+
"   FirstBarIndex: "+NumToStr(Status("FirstVisibleBar"),1.0)+"\n"+
"    LastBarIndex: "+NumToStr(Status("LastVisibleBar"),1.0);

best regards,
herman

Fred wrote:
HVC = Highest(ValueWhen(BarIndex() >= Status("FirstVisibleBar") AND 
BarIndex() <= Status("LastVisibleBar"), C));

--- In amibroker@yahoogroups.com, "wavemechanic" <[EMAIL PROTECTED]> wrote:
  
Wayne:

I just took a look at your code.  For starters, you are setting 
    
Begin and End to BarIndex() and, as a result numBars = 1.  I don't 
think that is what you want.
  
Bill

----- Original Message ----- 
From: "wlandry01" <[EMAIL PROTECTED]>
To: <amibroker@yahoogroups.com>
Sent: Tuesday, August 29, 2006 12:09 PM
Subject: [amibroker] Re: Need Help With FirstVisibleBarIndex


    
Thomas/WaveMechanic,

Thanks for the input - very helpful. Part of my confusion is that 
      
my
  
understanding was that "firstvisiblebarindex" returns the barindex
value of the first bar visible, and that "firstvisiblebar" 
      
returns a
  
"1".  If "firstvisiblebarindex" returns a "1", how does it differ 
      
from
  
"firstvisiblebar"?

Also, haven't gotten this to work yet.  When I run an Exploration 
      
on
  
RedHat (RHAT), for example, I get a "HighValue" of 143.12, for all
dates since 12/09/1999.  This tells me that the "HighValue"
calculation is not restricted to "NumBars", but is applied across 
      
the
  
entire data history for RHAT.

There are, no doubt, several problems, but it is likely that I 
      
still
  
don't have the NumBars calculation correct.  Unless I can get that
straight the rest certainly  won't work.  

Following is what I currently have, based on your joint comments:

Begin=ValueWhen(Status("firstvisiblebarindex"),BarIndex());
End=ValueWhen(Status("lastvisiblebarindex"),BarIndex());
NumBars=LastValue(End-Begin+1);

HighValue=HHV(C,NumBars);
TestValue=0.9*HighValue;

Plot(C,"Close",colorLightGrey,styleHistogram|styleThick);
PlotGrid(LastValue(TestValue),colorDarkRed);

AddColumn(C,"Close",format=1.2);
AddColumn(HighValue,"HighValue",format=1.2);
AddColumn(TestValue,"TestValue",format=1.2);
AddColumn(NumBars,"NumBars",format=1.2);

Filter=1;

On a side note, it seems I've noticed that some, if not all, of 
      
the
  
"bar" statuscodes will not output to the Exploration window.  
      
Could it
  
be that the "NumBars" calculation is correct but is outputting 
      
a "1"
  
or "0" since it's using codes that are not used in the 
      
Exploration module?
  
If you have any ideas, please let me know.

Thanks,


Wayne

--- In amibroker@yahoogroups.com, "wavemechanic" <fimdot@> wrote:
      
Wayne:

Your numBars is "backwards" and needs to subtract Begin from End
        
otherwise you have a negative number.  Also, the only place that 
      
you
  
need LastValue is in the HighValue line. So this should work:
      
numBars = (end - begin + 1);
highValue = LastValue(C, numBars);
testValue = .9 * highValue;



----- Original Message ----- 
From: "wlandry01" <wlandry01@>
To: <amibroker@yahoogroups.com>
Sent: Tuesday, August 29, 2006 9:19 AM
Subject: [amibroker] Need Help With FirstVisibleBarIndex


        
Hi,

I'm trying to set up an indicator that will calculate the HHV 
          
for the
  
current chart so that I can do a PlotGrid at 90% of that 
          
highest value
  
shown on the chart.  I thought the following would do this:

//Calculate the Number of Bars Shown on the Current Chart
Begin=Status("firstvisiblebarindex");
End=Status("lastvisiblebarindex");
NumBars=LastValue(Begin-End+1);

//Determine the HHV of the Chart and Calculate 90% of that 
          
Value
  
HighValue=HHV(C,NumBars);
TestValue=0.9*LastValue(HighValue);

//Plot the Result
PlotGrid(TestValue,ColorDarkRed);

It appears, however, that the "Begin" and "End" values are not
returning the index values associated with the chart.  As far 
          
as I can
  
tell, I'm getting "1" for all values.  I can't for the life of 
          
me
  
understand what the problem might be.  

Any help would be greatly appreciated.


Wayne
          







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 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/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



  
__._,_.___

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 other support material please check also:
http://www.amibroker.com/support.html






SPONSORED LINKS
Software support Small business finance Business finance online
Business finance training Business finance course


YAHOO! GROUPS LINKS




__,_._,___

Reply via email to