[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] Help with Coding Problem Please



PureBytes Links

Trading Reference Links

you would need to create a function for this, something like this might work

function range(lookback,RangePercent)
{
 RangeHigh = Close + (Close*(RangePercent/100));
 RangeLow = Close - (Close*(RangePercent/100));
 Count = 0;
 for(n=1;n<lookback;n++)
 {
  count = count + ((Ref(Close,-n) <= RangeHigh) AND (Ref(Close,-n) >=
RangeLow));
 }
 return Count;
}

Plot( range(100,3) , " Support Percentage", ParamColor(
"Color",colorCycle ), ParamStyle("Style") );

-- 
Cheers
Graham Kav
AFL Writing Service
http://www.aflwriting.com



On 23/02/2008, Steve Dugas <sjdugas@xxxxxxxxxxx> wrote:
> Hi - If you are just concerned about today's value, you can try this (
>  untested ). If you need to do it correctly for the entire array, then off
>  the top of my head, you may need to rewrite it for a loop...
>
>  Steve
>
>  Lookback = 100;
>  RangePercent = 3;
>  LastClose = LastValue( Close );
>  RangeHigh = LastClose + (LastClose*(RangePercent/100));
>  RangeLow = LastClose - (LastClose*(RangePercent/100));
>
> WithinRange = (Close <= RangeHigh) AND (Close >= RangeLow);
>  NoOfBars = Sum(WithinRange,Lookback);
>  Plot( NoOfBars , " Support Percentage", ParamColor( "Color",  colorCycle ),
>  ParamStyle("Style") );
>
>
> ----- Original Message -----
>  From: "chorlton_c_hardy" <chorlton-c-hardy@xxxxxxxxxxxxx>
>  To: <amibroker@xxxxxxxxxxxxxxx>
>  Sent: Friday, February 22, 2008 6:41 AM
>  Subject: [amibroker] Help with Coding Problem Please
>
>
>  > Hi All,
>  >
>  > Can anyone help out please, as I'm currently stuck with a coding
>  > problem and struggling to resolve it.
>  >
>  > What I want to do is calculate the number of previous bars (within
>  > the last 100bars) where the previous closes were within 3% of the
>  > CURRENT Closing Price.
>  >
>  > What I have so far is shown below. The code is not very elegant as
>  > I'm trying to keep it very simple in an attempt to find out where I'm
>  > going wrong.
>  >
>  >
>  > Lookback = 100;
>  > RangePercent = 3;
>  >
>  > RangeHigh = Close + (Close*(RangePercent/100));
>  > RangeLow = Close - (Close*(RangePercent/100));
>  >
>  > WithinRange = (Close <= RangeHigh) AND (Close >= RangeLow);
>  >
>  > NoOfBars = Sum(WithinRange,Lookback);
>  >
>  > Plot( NoOfBars , " Support Percentage", ParamColor( "Color",
>  > colorCycle ), ParamStyle("Style") );
>  >
>  >
>  >
>  > At the moment, when I plot this code the line remains at 100.00.
>  >
>  > I believe the reason for this is that for each previous bar, the same
>  > previous Close value is also referenced which results in the
>  > Rangehigh & RangeLow ALWAYS being either side of the corresponding
>  > close and therefore the WithinRange value ALWAYS being true, which is
>  > clearly not what I want :-(
>  >
>  > Consequently, can anyone suggest how I can resolve this as my coding
>  > skills are pretty limited.
>  >
>  > Thanks in advance,
>  >


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/