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

Point & Figure Indicator



PureBytes Links

Trading Reference Links

 I know its long....but its the best I can do.
The following indicator will plot the high of the "x" column and the 
low of the "o" column in a stairstep manner on a barchart. If the 
high value changes then the low should hold its value until there
is a "P&F" reversal, then as the low changes the high should 
hold. The first two lines are the Box and Reversal values, and I 
wasn't sure what the best "Input" values should be so please feel
free to suggest any changes. My goal is to design a system 
around this indicator, to test different Point and Reversal amounts,
but its nice to examine the P&F support and resistance levels on
a bar chart. Also, I am not as experienced as many on this list nor
am I above making errors, so test the value of this indicator for 
yourself. 

         { Point & Figure Indicator }
              { by Adam Hefner }
 {Note: this will plot the high of the
  "x" and low of the "o" on a barchart}

 {box value}
BS1:=Input("Box Size ?",.1,100,1);
 {reversal amount}
RS1:=Input("Reversal Amount ?",1,10,3)*BS1;
 {box high calculation}
BH1:=(Int(H/BS1))*BS1;
 {box low calculation}
BL1:=If(((Int(L/BS1))*BS1)=L,
     {then}L,
     {else}((Int(L/BS1))*BS1)+BS1);
 {reversal calculation}
DH1:=If((BL1>=Ref(BL1,-1))AND
       ((BH1-RS1)>=Ref(BL1,-1)),
     {then}1,
     {else}0);
DL1:=If((BH1<=Ref(BH1,-1))AND
      ((BL1+RS1)<=Ref(BH1,-1)),
    {then}1,
    {else}0);
 {Determine market direction}
 {NOTE: The value of D1= 
              1="trend up"
             -1="trend down"}
D1:=If(DH1=1 AND DL1=1,
   {then}If(BarsSince(Ref(DH1=1,-1))=
            BarsSince(Ref(DL1=1,-1)),
         {then}If(BarsSince(
                       ValueWhen(3,DH1=1,DH1))<
                  BarsSince(
                       ValueWhen(3,DL1=1,DL1)),
               {then}-1,
               {else}1),
          {else}If(BarsSince(Ref(DH1=1,-1))<
                   BarsSince(Ref(DL1=1,-1)),
                {then}1,
                {else}-1)),
   {else}If(BarsSince(DH1=1)<BarsSince(DL1=1),
         {then}-1,
         {else}1));
 {time since market reversed}
DH:=BarsSince(D1=1);
DL:=BarsSince(D1=-1);
 { plot high and low }
PH1:=HighestSince(1,DH=1,BH1);
PL1:=LowestSince(1,DL=1,BL1);
PH1;
PL1;

Best wishes,
              Adam Hefner.
e-mail:  VonHef@xxxxxxxxxx

_____________________