PureBytes Links
Trading Reference Links
|
Greetings Michael:
Seems that the following codes cannot be varified. Much appreciate if you
can double check the logics.
Jeff
> Gary,
>
> > Michael, the indicator you posted requires two functions,
> > RB_CheckPeak and RB_CheckValley. Do you have those?
>
> see below.
>
> > Any idea who wrote this?
>
> nope. but it works pretty good. you can use different indicators as
> an
> input.
>
> > Gary
>
> michael
>
> Function: RB_CheckValley
>
> {*****************************************************************}
> Inputs:PkNmbr(NumericSimple),MaxOfset(NumericSimple),
> PrcDif(numericsimple);
> Vars:Last(0),First(0),TstVal(0),NextVal(0),PrevVal(0);
>
> {PkNmbr - Barnumber of peak in stochastic that you are checking
> against
> MaxOfset - Number of bars away from this PkNmbr that is allowable
> and
> still considered a valid match
> PrcDif - Minimun number of points between highs or lows of bars in
> order to be greater or less than.
>
> Will return the offset bar number (bars back from current bar) of
> the
> valley bar or will return a Zero if there is no matching
> valley}
>
> First = Barnumber - Minlist(PkNmbr+MaxOfset,Barnumber-1);
> Last = Barnumber - Maxlist(PkNmbr-MaxOfset,2);
> RB_CheckValley = 0;
>
> if First<=maxbarsback and Last<=maxbarsback then
> begin
> For Value1 = First to Last
> begin
> TstVal = Low[value1];
> PrevVal = Low[Value1+1];
> NextVal = Low[Value1-1];
>
> {
> {***Check For Equal Bars***}
> value2 = 2;
> while TstVal = PrevVal
> begin
> PrevVal = Low[value1+value2];
> value2 = value2+1;
> end;
> value2 = 2;
> while TstVal = NextVal and value1-value2>= 0
> begin
> NextVal = Low[value1-value2];
> value2=value2+1;
> end;
> }
>
> if NextVal-TstVal>=PrcDif points and
> PrevVal-TstVal>=PrcDif points then
> RB_CheckValley = value1;
> end;
> end;
> {**************************************************************}
>
> Function: RB_CheckPeak
>
> {*************************************************************}
> Inputs:PkNmbr(NumericSimple),MaxOfset(NumericSimple),
> PrcDif(numericsimple);
> Vars:Last(0),First(0),TstVal(0),PrevVal(0),NextVal(0);
>
> {PkNmbr - Barnumber of peak in stochastic that you are checking
> against
> MaxOfset - Number of bars away from this PkNmbr that is allowable
> and
> still considered a valid match
> PrcDif - Minimun number of points between highs or lows of bars in
> order to be greater or less than.
>
> Will return the offset bar number (bars back from current bar) of
> the
> peak bar or will return a Zero if there is no matching peak}
>
> First = Barnumber - Minlist(PkNmbr+MaxOfset,Barnumber-1);
> Last = Barnumber - Maxlist(PkNmbr-MaxOfset,2);
>
> RB_CheckPeak = 0;
> if First<=maxbarsback and Last<=maxbarsback then
> begin
> For Value1 = First to Last
> begin
> TstVal = High[value1];
> PrevVal = High[Value1+1];
> NextVal = High[Value1-1];
>
> {
> {***Check For Equal Bars***}
> value2 = 2;
> while TstVal = PrevVal
> begin
> PrevVal = High[value1+value2];
> value2 = value2+1;
> end;
> value2 = 2;
> while TstVal = NextVal and value1-value2>= 0
> begin
> NextVal = High[value1-value2];
> value2=value2+1;
> end;
> }
>
> if TstVal-NextVal>=PrcDif points and
> TstVal-PrevVal>=PrcDif points then
> RB_CheckPeak =value1;
> end;
> end;
>
> {*********************************************************************
> **
> *}
>
|