PureBytes Links
Trading Reference Links
|
This is for all those who e-mailed asking for the indicator. Keep in mind
that I am an amateur at "Easy Language", and there is probably a better or
more efficient way to code this...but it does seem to work correctly. All I
ask is that you share the results of any system test that are developed
using this code.
Cheers,
Adam Hefner
-------------------
{This will simulate "Point & Figure" levels on a bar chart}
{Written by Adam Hefner version 01-07-02}
Var: dbh(0), dbl(0), {Daily block high/low}
abh(0), abl(0), {actual block high/low}
dir(0), {direction}
sv(0); {stop value}
Inputs: BlockSize(1), {Block Size}
ReverseSize(3), {Reverse Size}
lookBack(-1); {look back period}
Var: bs(BlockSize),
rs(ReverseSize),
lb(LookBack);
{daily block high/low calculations}
If Round(high/bs,0)*bs > High
then dbh = (Round(high/bs,0)*bs)-bs
else dbh = Round(high/bs,0)*bs;
If Round(Low/bs,0)*bs < Low
then dbl = (Round(Low/bs,0)*bs)+bs
else dbl = Round(Low/bs,0)*bs;
If currentbar <= 1 {check for first 2 bars of the chart}
then begin
dir = 1;
abh = dbh;
abl = dbl;
end
else begin
If dir[1] = 1 {direction up calculations}
then begin
if dbh > abh[1]
then
abh = dbh {new high}
else begin
If dbl <= abh-(bs*rs) {reverse}
then begin
dir = -1;
abh = abh[1];
abl = dbl;
end
else
abh = abh[1];
end;
end
else begin {direction down calculations}
If dbl < abl[1]
then
abl = dbl {new low}
else
if dbh >= abl+(bs*rs) {reverse}
then begin
dir = 1;
abl = abl[1];
abh = dbh;
end
else
abl = abl[1];
end;
end;
If dir = 1 {reversal stop}
then sv = abh-(bs*rs)
else sv = abl+(bs*rs);
plot1(abh);
plot2(abl);
plot3[lb](sv);
Attachment:
Description: "POINT & FIGURE.ELS"
|