Hi Grant,
Several hours ago I posted a reply to you with code attached, however it has
yet to show up. Maybe I've been away so long that the rules have changed, but
no matter. I'll try again and just include the code within the message. The
following will plot the Average Range as either points or percent of average
Typical price (selectable via the parameters menu (right click the chart,
select Parameters in the popup). Period for the average is also selectable in
Parameters. This uses a simple MA. MA variations for Exp, Hull, etc. can
easily be substituted, or added as parameter selectable choices.
One note on the code Brian provided: the expression H-L used in Midpoint
returns the range for only the last bar (day). As such, IMHO it is not useful
for evaluating the midpoint of each day in the average range period. And while
I didn't play with it much, I couldn't get it to function properly in an
indicator (my apologies Brian if I missed something). As such, I find that
either the MA of Close or Average [ (H+L+C)/3 ] array are useful for an
indicator such as I think you wanted. Below is the code originally attached to
the missing post, slightly modified to use AVG rather than C for the %
indicator.
Enjoy.
Peace and Justice --- Patrick
// Average Daily Range
// coded by NWTrader
R = H-L;
periods = Param( "Periods", 5, 1, 65, 1 );
Display = Param("Display Points (1) or % of MA of Typical Price (2)", 1,1,2,1 );
AR = MA(R, Periods);
PAR = (AR/MA(Avg,periods) )*100 ;
X = IIf(display == 1, AR, PAR);
Plot( X , WriteIf(DISPLAY==1,
EncodeColor(colorYellow) + "Average (" + WriteVal(PERIODS,2.0) + " period )
Daily Range (points) " ,
EncodeColor(colorBlue) + "Average (" + WriteVal(PERIODS,2.0) + " period ) Daily
Range (% of C) "
),
IIf(display == 1, colorYellow , colorBlue) ,
ParamStyle(" MA Style", styleDashed | styleThick)
);
----- Original Message -----
From: longarm61
To: [email protected]
Sent: Monday, January 28, 2008 8:00 PM
Subject: [amibroker] Re: Average Range
Thank you very much, Brian. Percentage is exactly what I wanted
(didn't want to ask for more than I absolutely needed, though).
Sorry for being such a newb, but how would I plot this formula?
--- In [email protected], "brian_z111" <[EMAIL PROTECTED]> wrote:
>
> Actually, if I was going standardise BarRange I would use the
MidPoint
>
> Periods = x;
> MidPoint = (H-L)/2;
> BarRangePercent = (H-L)/Midpoint *100;
> AveBarRangePercent = MA(BarRangePercent,x);
>
>
> brian_z
>
> --- In [email protected], "brian_z111" <brian_z111@> wrote:
> >
> > Hello Grant,
> >
> > Something along the lines of?
> >
> > Periods = x;
> > AveBarRange = Sum(H-L,x)/x;
> >
> > You can standardise (or normalise) by converting to %:
> >
> > BarRangePercent = (H-L)/L * 100;
> > Periods = x;
> > AveBarRange = Sum(BarRangePercent,x)/x;
> >
> > I always normalise in situations like that.
> >
********************************************************************
> > SUM
> > - sum data over specified number of bars Moving averages,
summation
> >
> >
> >
> > SYNTAX sum( ARRAY, periods )
> > RETURNS ARRAY
> > FUNCTION Calculates a cumulative sum of the ARRAY for the
> specified
> > number of lookback periods (including today).
> > EXAMPLE The formula "sum( CLOSE, 14 )" returns the sum of the
> > preceding 14 closing prices. A 14-period simple moving average
> could
> > be written "sum(C,14) / 14."
> >
>
*********************************************************************
> >
> > You can use the Param function for periods if you want to change
> the
> > periods from with the context menu on a chart.
> >
> > PARAM
> > - add user user-definable numeric parameter Exploration /
Indicators
> > (AFL 2.3)
> >
> >
> > SYNTAX Param( ''name'', defaultval, min, max, step, sincr = 0 )
> > RETURNS NUMBER
> > FUNCTION Adds a new user-definable parameter, which will be
> > accessible via Parameters dialog :
> > right click over chart pane and select "Parameters" or press
Ctrl+R
> > allows to change chart parameters - changes are reflected
> > immediatelly.
> >
> > "name" - defines parameter name that will be displayed in the
> > parameters dialog
> > defaultval - defines default value of the parameter
> > min, max - define minimum and maximum values of the parameter
> > step - defines minimum increase of the parameter via slider in
the
> > Parameters dialog
> > sincr - automatic section increment value (used by drag-drop
> > interface to increase default values for parameters)
> > WARNING: default/min/max/step parameters have to be CONSTANT
> numbers.
> > This is because these values are cached and are not re-read
during
> > subsequent formula evaluations.
> >
> >
> > brian_z
> >
> >
> >
> > --- In [email protected], "longarm61" <norm1@> wrote:
> > >
> > > I would simply like an indicator that shows the average range,
> from
> > > high to low, of x number of bars. Just the bars only. ATR
takes
> > > into account the previous close, which I don't want.
> > >
> > > Anyone have or can point me to a formula for this?
> > >
> > > Thanks in advance,
> > >
> > > Grant
> > >
> >
>
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