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

Re: Point & Figure charts or system



PureBytes Links

Trading Reference Links

<FONT face=Arial 
size=2>
Ross,
I have this in my archives from 10/27/98
I have never tried it though.
Good Luck.
 
> I seem to recall a thread on this list a while 
back on 
> programming a Point &
> Figure chart type of trading system into 
Metastock. If anyone still has a
 
> Ross Kovacs
 
<FONT 
size=2>__________________________________________________
 
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}
Here is an update to the P&F Indicator, that 
corrects
a plotting error I found on 1 chart.
{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);
PH2:=ValueWhen(1,DH>0,PH1);
PL2:=ValueWhen(1,DL>0,PL1);
PH2;
PL2;
Best wishes,
Adam Hefner.
e-mail: 
VonHef@xxxxxxxxxx